Taking the Tiger by the tail

So, given that our XServe was crashing regularly under Mac OS X
10.3.9 (sometimes at night. Sometimes it would stay up in order to crash
in the middle of the working day), I decided that there wouldn’t
likely be any particularly bad to upgrade to
Tiger. At worst it would crash more frequently or hose some data
(which is all backed up) and I’d just reboot off the existing 10.3.9
drive.

So, having waited until after work, the odyssey begins.

We begin by turning off mail and AFP. This will stop people modifying
files, and stop any mail arriving on the old server, where it would
live for the rest of its days.

Then, we use SuperDuper to duplicate the existing 10.3.9 partition to
another volume. Thankfully our boot drive and data volumes are
separate, so this doesn’t take too long as we don’t have to copy all
the user data.

Then it’s time to disconnect the server from the ethernet (I don’t
want any mail coming in if I boot off the old drive) and reboot off
the Tiger install CD (no DVD drive in the G4 XServe). This is where
the fun begins.

The machine boots off the CD, but the screen is blank.

Bummer.

Previous experience leads me to check if it’s just swapped to a
monitor resolution that our monitor doesn’t support, so I swap
monitors. Nothing.

About this time the
XServe
puts all its fans on full and sounds like someone is
landing a 747 in our rather small server room.

Fortunately our backup server (as in server used for Retrospect
backups ) is nearby.

I reboot the XServe again, out of hopefullness. Now it’s displaying
the flashing (Amusingly, Mac OS 9 style) missing boot folder icon. I
reboot it while holding down the ‘T’ key to boot it into target disk
mode as a AU$7,000 external hard drive.

Fortunately the backup server has a DVD drive, so I don’t need to
swap disks. I reboot the backup server off the Tiger install DVD,
plug the XServe in via Firewire and then install Tiger onto it as if
it’s an external disk. This takes some time… (Why does the server
need the Oxford American Dictionary installed on it? I’m not going to
be using Dashboard on the server, honest!)

At this stage, I read the install note which says that you may have
problems with 3rd party video or SCSI cards in the XServe. Well, I
know it’s got a 3rd party SCSI card but I assume the video card it
came with is the Apple standard, so that shouldn’t explain why the
screen is black. And I really can’t be ready

After the install, the backup server wants to reboot. For some reason
it doesn’t want to come back after doing so. I disconnect the XServe
from the backup server and reboot it. Still can’t find the boot
drive, so I reboot whilst holding down the option key to get the Open
Firmware boot drive choice screen. Selecting the new Tiger boot disk,
the machine then boots into Tiger and finishes the install with the
help of the magic serial number.

Tiger comes up with AFP off, which is good, as I want to check things
out before confusing the client machines.

I turn mail on and try sending some mail through the server. It
doesn’t arrive. It looks like our amavisd/clamd install (in
accordance with this
AFP548 article
) may be interfering with the (now standard) Tiger
install. An inspection of the amavisd configuration files indicates
that Apple runs amavisd as the clamav user rather than the
mailtransport user we were previously using.

I use the Server Admin tool to turn off Tiger’s antispam and
antivirus protection. This time the test e-mails get through. Yay!

I reboot again (as if the server goes down overnight, I know one of
the other staff will attempt to reboot it, and if it doesn’t work I’m
in trouble). However it still reboots without finding the Tiger
volume as the boot disk. I option-reboot and explicitly choose the
Tiger volume this time, and all seems fine.

Strangely none of the web sites seem to work, and it looks like the
/Library/WebServer/Documents folder got replaced, which is kind of
sucky.

It seems like PHP’s
mysql
connection is broken as our in/out board application no longer works.
It seems that it’s having problems connecting to the mysql server.
However mysql is up and running quite happily, and I can connect to
it remotely using phpmyadmin without any problems.

Also, Startup Item scripts written for some of our services (the
anti-spam mailtransport, and Apache2) no longer seem to work.

At this stage I deem the server to be sufficiently usable and head
home. It’s around 10pm after a 5pm start (which probably included
about 1 hour of backing up), so not too horrible. The coq au vin is
still warm when I get home…

/etc/aliases has been replaced by an alias to /etc/postfix/aliases
(with no backup of the old file. Bad Apple!) So I need to go and
merge our old copy into that (thankyou BBEdit’s
bbdiff tool).

All in all, a relatively successful install. Only a few non-critical
services broken (probably repairably), but overall reliability seems
improved (so far). Clients can connect to the server and e-mail is
coming through, which is the main thing the users care about. But if
you’re relying on PHP/mysql solution or an existing amavisd/clamav
installation you may want to try testing things first.

Once the broken stuff is working again I’ll look at the cool
new stuff.

[ Ok, so the /Library/WebServer was moved to /Library/WebServer.server-applesaved
Also, Tiger’s mysql is now writing its socket to /var/mysql/mysql.sock whereas PHP and other things are expecting it to be at /tmp/mysql.sock.

This can be changed by (creating and) putting the following lines into /var/mysql/my.cnf

[client]
socket=/tmp/mysql.sock

[mysqld]
socket=/tmp/mysql.sock

Save the file and restart mysql.]

Leave a Reply

Your email address will not be published. Required fields are marked *