A mini Mac Solutionby Rich Morin, Vicki Brown
Apple promotes Mac OS X Server as its solution for data centers. However, "vanilla" Mac OS X performs quite adequately for small (e.g., SOHO) servers. This article discusses the server transition we made at cfcl.com from a FreeBSD-based PC to an OSX-based Mac mini.
We've been running a Unix-based server since the early 80's, when we installed a brand-new Sun workstation (serial number 285). About a decade later, we shifted to FreeBSD. (We wanted to stay with a BSD system rather than move to Solaris, which was based on UNIX System V.)
Initially, some modems allowed us to "network" via UUCP and offer dial-in access to friends who were located nearby. In the early 90's, the company became one of the initial members of an early "toaster net" known as The Little Garden. This put us on the Net, but the services we offered were minimal: FTP, SMTP, and Telnet.
Still, it gave our local friends a way to log in, send and receive email, and share files. As time went on, we abandoned the modems. We upgraded to broadband, added a web server, and installed POP3 mail services. We continued to support a few dozen friends and family members in a totally noncommercial fashion. As more time passed, our server OS began to get a little ragged around the edges.
FreeBSD is a stable and well-designed system, but we have never found it to be an easy system to keep "current." The prevailing assumption is that you'll maintain a current copy of the source code archives, doing regular builds (and watching for security alerts!).
This requires more attention than we were willing to give, so we resorted to (very) infrequent "binary installs." Unfortunately, this is not an optimal solution. Infrequent upgrades result in long periods when bugs and security holes can fester. Each system upgrade became a major hassle involving days of earnest preparation followed by more days of frantic bug-fixing and recompiling.
Consequently, when our FreeBSD 4.7 system started showing signs of imminent hardware failure, we considered our options with trepidation. To make matters worse, none of the currently available FreeBSD versions seemed very attractive:
- 4.7 is ancient and crufty, by any reasonable standard.
- 4.x, in general, has reached end of life.
- 5.5 is available, but only as a "legacy" release.
- 6.1, although purportedly stable, is still a ".1" release.
- 6.2 looked promising, but it wasn't available yet (let alone stable).
What About Mac OS X?
Several years earlier, we had discussed the possibility of migrating our server to Mac OS X, "some day". Now, faced by a necessary system upgrade, we started wondering in earnest how much work it would take to turn Mac OS X into a "server" OS.
If we could do this, our maintenance problems would be vastly reduced. In several years of running Mac OS X, we've never had a real problem with Software Update. In addition, migrating our server would remove the only production machine on our network that wasn't running Mac OS X.
Why Not Mac OS X Server?
Although Apple recommends Mac OS X Server as the preferred answer for running "server" machines, it wasn't an appealing option for us. The most obvious reason was cost: a single OSXS license costs more than twice as much as a (five-unit) OSX Family Pack. The additional cost of keeping OSXS up to date would average out to a few hundred dollars per year.
Another, more subtle reason was compatibility. When we tried out OSXS a few years ago, we were distressed to find that its administrative interface had a number of (seemingly gratuitous) differences. New tools were needed for the same tasks, important nomenclature (e.g., volume naming) varied, etc.
As the saying goes: better isn't always better, but better is always different. It's possible that these incompatibilities have been resolved in the past few years, but we had no compelling reason to find out.
How It Went...
Although there isn't room here to go into much detail, it may be worthwhile to paint a broad picture of what plans we made and how the migration actually went.
To extend the "service life" of the migration, we chose to go with an Intel-based Mac. The top-end Mac mini had enough RAM, speed, and internal disk space to handle our expected needs for several years. And, should a hardware upgrade become necessary, moving the server to another Intel-based Mac should be easy.
We already had a 500 GB FireWire disk drive, so we had plenty of room for user files, etc. However, we found a small gotcha with this strategy: By default, OSX doesn't mount FireWire drives until fairly late in the boot sequence. Until we figured this out, we had assorted problems with "missing" files and directories.
Given that the Mac mini uses laptop components, it may not seem like an ideal choice for applications that have strict uptime requirements. However, several firms offer co-location services that are based on Mac minis, so this problem may be more apparent than real.
In any case, our services are free, so our users will tolerate some downtime if we lose a drive or other critical component. Meanwhile, we take normal precautions: running the mini on a UPS, performing regular backups, etc.
Pages: 1, 2