Booting

Rebooting deleuze is problematic because of the way how AFS starts. On boot, you see a message of OpenAFS starting up, and then it proceeds with other services that follow after it. However, if the server was rebooted in response to a crash or had an unclean shutdown, AFS will salvage the vice partitions (that is, it'll run a filesystem check).

In case it was a clean shutdown, no problems.

BUT, in case it was a crash or something and it does start the salvager, the startup script won't wait for the salvager to finish -- it will just continue, allowing other services to start. The problem is, when salvage is running on a partition, all volumes from the partition are inaccessible. In our case, it means all volumes are inaccessible as they're on a single partition, and all services that want to use AFS then start improperly, as AFS is not yet available. We've recently updated the OpenAFS startup script to wait while the salvager is running. It is alpha state, I think it should be working, but just gives some amount of harmless error lines when it's done. So some issues of the services starting without AFS should now be solved because it *does* block until salvager is done. Still, you can go over the items below to double-check:

So from the KVM console or SSH login, you can run "bos status deleuze" to see whether the fileserver is salvaging. If yes, really the only thing you can do is shut down the services which started after it, and surely didn't start properly because AFS is (still) inaccessible. Those include:

nscd mysql postgres apache2 domtool-server cron spamassassin courier-authdaemon openbsd-inetd

You close them down with:

/etc/init.d/SERVICE_NAME stop   (init.d approach)
sv stop SERVICE_NAME            (runit approach)

killall SERVICE_NAME            (to be sure it's down)

It is important to verify that the service is really down; especially in case of courier-authdaemon which won't want to restart cleanly using sv restart courier-authdaemon if a previous improperly initialized instance is running.

The salvager will take about 20 minutes. When it is done, "bos status deleuze" will no longer report salvager running, and on the console you'll probably get a couple of "waiting for busy volume..." messages which are alright.

Then, you init.d start or sv start all those services that were stopped, watching for any errors.

In general, there should be none, except for things like MySQL saying things like "InnoDB: Crash recovery may have failed for some .ibd files!". This is alright; looking at it, one sees these are messages for people who no longer have an account at HCoop and their databases have been removed.