Mac OS X Server - A critical flaw
Until last week I recommended Mac OS X Server as a viable
and ultimately more cost effective way to manage a server than lets
say Linux. I used to run my shop exclusively on a multitude of
Linuxes and got sick of it. Most of my servers are Mac OS
X Mac minis and my mail server is hosted on a Mac
OS X Server Mac mini.
The advantages of Mac OS X Server to me were, that I could manage
Mail easily with a GUI front end and that I didn't have to bother
with package and OS updates manually, because I trusted Apple to
get that part right. That was worth the €500 to me.
Why it was ultimately a near fatal mistake was something I didn't consider at the time. But let's tell the story first.
First mistake, innocent enough
About three weeks ago or so I decided to perform a softwareupdate on my Mac OS X Server from 10.5.5 to 10.5.6. I am running a plain vanilla setup: email server and iCal server and nothing else, configured with Server-Admin.
Something became incredibly bugged in 10.5.6 as many of my emails, especially those with attachments didn't get mailed out. The bad thing was I didn't notice that. Talk about buzzword bingo, but email is indeed "mission-critical" Alarm bells did ring, when I got an email from my biggest customer saying:
I worry that you may have a second thought about working with us on the project. The agreement is finalized, ready to be printed out...
Plz to send mai emails ?!
So I took a look online on the email server and had to notice a
sizable out-queue with some of my mails in there. While inspecting
the machine it became apparent, that the machine was incredibly
slow. And sometimes it even froze for a couple of minutes.
A look at the logs or at top didn't reveal anything
problematic. The primary suspected was the hard-disk, but neither
smartctl nor Disk Utility indicated any problems.
Because I trusted Mac OS X Server like the naive
fool I am, I deduced it was a hardware defect and bought a new Mac
mini as a replacement. The most likely theory being, that a fan was
busted, though the Mini didn't get all that hot, but it kind of fit
the "freezing" symptoms.
New hardware to the rescue ? Fail!
This turned out to be a bad mistake and something one should
really think about, if one is running Mac OS X
Server.
I placed the old Mac mini in Firewire Target Disk Mode (yay for
that feature!) and copied my 10.5.6 installation
to the new Mac mini. That worked beautifully, but the problems
remained. So my guess that my problems were due to faulty hardware
was most certainly wrong.
The new Mac mini came with Mac OS X 10.5.6 (client) and as it turned out it really needs it. My Mac OS X Server DVD is 10.5, so I can't make a clean install with it. I kept my old setup on the new Mac mini and installed 10.5 and 10.5.5 in order on the old Mini, then I recreated my setup and restoried data from the new Mac mini (now in Target Disk Mode). Another cheer for Firewire Target Disk Mode. When everything was working fine, I reversed the roles and restored the setup to the new Mac mini to at lease enjoy the better performance of that machine.
Unfortunately, that new Mac mini really needs 10.5.6 and not 10.5.5. It wouldn't boot.
In conclusion the conclusion
The critical flaw of Mac OS X Server is, that you don't get an installable updated version of it for new hardware. If the old Mac mini would have been really dead, there would have been no reasonably quick way of getting that Mac mini working again with Mac OS X Server short of throwing another €500 into Apple's mouth.
My conclusion is, that Mac OS X Server (not Mac OS X) is not a viable server platform for me anymore.
Looking closer, more wrinkles
Talking to other people about my problems revealed, that I am far from the only one struggling with Mac OS X Server currently, though the problems are diverse. Apple has become apparently fairly sloppy in quality assurance (see for instance here and here) and looking at the debug output of my email program, where there appears to be basic unfixed incompatibilities between amavisd and the system ps, I am not even convinced anymore that the packaged software is properly tested before release.