About two weeks ago, I read an exhaustive 23-page look at Apple’s newest operating system, Snow Leopard (Mac OS 10.6). And nestled within those 23 pages of Mac OS X goodness was a link to an evaluation program for Snow Leopard’s server version, aptly named “Snow Leopard Server.” Not the most creative, but oh well. The important part about this evaluation program is that Apple is giving away free, non-expiring copies of the Server OS (normally $499 for an unlimited client license).
Let me re-emphasize: FREE COPIES WITH NO EXPIRATION DATE. Sweet mother! I had to get my hands on one of those free copies! So I filled out the form online, and am currently waiting for my copy to arrive in the mail. Now, what exactly am I going to do with it once I receive it in the mail? Well, I had an idea . . .
And let me admit that I’ve spent WAY too much time thinking about this. Most people wouldn’t even bother with a project that I’m about to describe to you, let alone spend as much time as I have just THINKING about it. I mean, I know I’m a computer geek, but this is kinda stretching it. Ok, enough with the long-winded preface. To what project am I so cryptically referring?
Building a Hackintosh to run Snow Leopard Server
But before I give you the wrong impression, I want to make it clear that while I have spent a lot of time thinking about this project recently, my final decision is to not go forward with it (at least in its Hackintosh form). That said, I’ll tell you what the current setup is at the apartment, and how a Hackintosh running Snow Leopard Server would simultaneously consolidate several computer roles into one elegant solution.
And before I go any further, let me give a brief introduction as to what a “Hackintosh” is. Basically, it’s a standard PC running the Mac OS X operating system. For those who are unaware, I’ve been using a custom-built Hackintosh for the past 10 months or so with a mostly positive experience. I’ve written about it before on this blog, exploring the reasons for building a Hackintosh as well as the process for doing it. But my recent idea for a Snow Leopard Server Hackintosh would be taking it up several notches – too many notches, it turns out.
So, what’s the setup I have now? Since a picture is worth a thousand words:
(Click for larger image)
The setup above works, and it works well. The aphorism “don’t try to fix what isn’t broken” never struck me as a particularly creative or interesting way to look at life. So while there is certainly something to be said for avoiding unnecessary problems, it should also be noted that improvements aren’t always obvious until they’ve been tried experimentally. So, when I look at that setup above, I see room for improvement. And the name for that improvement is Snow Leopard Server.
The next diagram is what I would ideally like to have built to upgrade my current setup:
(Click for larger image)
Notice how significantly this setup is consolidated? Gone is the wireless router, gigabit switch, and Mainframe computer. The ideal Snow Leopard Server would use the guts of my Server (with the exception of a motherboard change) and would consolidate the tasks of FOUR different roles:
1. Mainframe: this is my main desktop (currently running Ubuntu and Windows 7). Since I can use my work laptop for any Windows-specific tasks (with the notable exception of games), I don’t really NEED a desktop.
2. Router: this device provides all routing functions for the network (DHCP, port forwarding, etc) as well as the wireless network.
3. Gigabit switch: with an upgrade to wireless 802.11n, HD video streams could easily be sent over wireless instead of Ethernet. No need for a switch anymore (a crossover cable could provide Ethernet connectivity in a pinch).
4. Media/File Server: this is where I ran into problems (which I will get to shortly).
The “Ideal” Plan:
The goal would be to replace the motherboard in my media/file server with one compatible with a Hackintosh install of OS X, keep the RAID array of six 1TB hard drives, install a wireless 802.11n PCI wireless card, and install Snow Leopard Server. I would use the Server OS to take over all the routing functions of my current wireless router. The adoption of wireless 802.11n would allow me to install a similar card in our Home Theater PC and remove the Ethernet cable currently snaking from the router to the Home Theater PC in the other room – and get rid of the gigabit switch altogether (not enough Ethernet devices to justify its use).
Given that OS X is a much snappier OS than Windows Server 2008, and supports hardware accelerated graphics necessary for a bearable user experience, I would no longer need to use my Mainframe computer. Windows-specific tasks would be relegated to my laptop (with the exception of gaming), and any video creation tasks I would undertake (like editing my wedding video) could be done on the Hackintosh server itself.
It would basically be a win on all fronts. Getting rid of a power-hungry desktop, removing a lot of wiring, getting rid of two routing/switch devices, and providing a network backup system for Mandy’s MacBook (Time Machine can use a network share on any Mac) would greatly simplify my current setup. It would also save money in power consumption over time, as the only devices that would require power would be the Hackintosh server itself, my laptop, Mandy’s MacBook, and the Home Theater PC. That’s it.
But of course, there’s a catch:
Now, let me refer you back to the fourth consolidation task that I mentioned before: file/media server . . .
Right now, my server houses six 1TB hard drives in a RAID 5 array using the integrated Intel ICH10R RAID controller. To replace this device, I would need a Hackintosh that could house all six drives in the same ICH10R RAID array (to maintain a RAID array, you have to use the same controller). Fortunately, the ICH10R controller is fairly common. Unfortunately, the program used to control, setup, and rebuild RAID arrays on the ICH10R controller runs only in Windows.
And the Hackintosh I was planning to build that DID use the ICH10R controller was designed to boot using one of the ICH10R SATA channels. But there are only 6 ICH10R SATA channels – and I’ve already occupied them with six 1TB hard drives. So, I would have to find a way to boot the system drive from the JMicron SATA controller on the motherboard. It might be possible to do this, but it would require a third-party kext (a system file) that could be overwritten by an Apple Software Update, effectively “breaking” the OS X install.
The other issue I would run into is that the 4.5TB redundant RAID 5 array is formatted for NTFS. There are ways to allow OS X to read and write to an NTFS partition, but it isn’t always the most reliable. It also requires a separate RAID driver in order for even Windows to recognize the array. The chance that someone put together an OS X kext for recognizing the RAID array is especially slim. And even if there were, it might only allow for the RAID array to work as an HFS+ partition. THAT won’t work, as I would have to reformat the NTFS partition first (and I would lose all my data in the process). Of course, I could back up the data elsewhere in the meantime, but I don’t exactly have 4TB of free hard drive space on hand.
And then there’s the “Hackintosh” part:
There are also some issues with using the words “server” and “Hackintosh” in the same sentence. When most people talk about a server, they’re referring to a robust, reliable, and relatively trouble-free system. And that’s not what you get when you build a Hackintosh. Don’t get me wrong; it was certainly a fun challenge to build a Hackintosh computer to use as my desktop computer. But for a server? C’mon. I can easily reformat a desktop computer and start over when something goes wrong (like a software update causing a kernel panic on reboot, forcing a reinstall of the OS). But a server? I can’t really afford to have my server out of commission for days at a time while I reformat and troubleshoot a kext or Software Update issue.
Apple is renown for their high-quality hardware and accompanying high-quality OS. But that’s partly because they’re OS only has to support a short list of hardware that Apple approves. Mac OS X runs great on Apple hardware. But for the OSx86 community (the Hackintosh crowd), it makes for a relentlessly troublesome process of patching, updating, and sometimes reformatting. For an experiment on a desktop computer, that’s an acceptable price to pay (for me, at least). But for a server? Too much risk of potential problems.
So, couldn’t I just convert my Mainframe into a Hackintosh server instead, and leave the media/file sever alone? Well, I could. But a major push for this whole project was to consolidate the roles of the multiple devices on the network. Building a Hackintosh server with the a power consumption profile much higher than just a D-Link wireless router and gigabit switch wouldn’t make a lot of sense. The net effect would be an increase in power consumption of all my electronic devices, not a decrease. So, if I can accomplish all but one of the four roles that I wanted to consolidate, how else could I consolidate the other 3 roles while still decreasing power consumption?
Enter the Mac Mini:
So, should I just give up the Snow Leopard Server project altogether? Hack Heck no! I still want to get a chance to use a $499 piece of software for FREE. But to do so, it’s looking like I’m going to have to spend just as much in Apple hardware just to use it. The cheapest computer that Apple offers is a $599 Mac Mini ($549 with educational discounts). But it has ALL the qualifications that I’m looking for in a Hackintosh server, with the lone exception of a file server (which means I will likely just leave my media/file server as it is.
So, let’s take a look at the compromise with a Mac Mini in place of a Hackintosh:
(Click for larger image)
As the image illustrates, the only devices that are actually eliminated altogether are the wireless router and the Mainframe computer. While I could eliminate the gigabit switch (and go completely wireless), the amount of network traffic that would simultaneously be traveling through the Mac Mini’s wireless connection (for data transfers and video streaming from the media/file server) could possibly reach a bottleneck and result in poor network performance. (I could make at least the Home Theater PC wireless, though). It’s certainly a compromise from the original Hackintosh plan, but still retains the following features:
Power Savings: the power savings of a Mac Mini over just about any other desktop computer out there is very significant. The maximum power consumption for a Mac Mini is 35 Watts. That’s about 1/4 the power requirement of my Mainframe computer.
Workstation: Given my prior analysis of what I actually use my computer for, a Mac Mini will be an adequate replacement for my Mainframe computer. And it will provide me with a stable (non-volatile, i.e. non-Hackintosh) platform for video editing.
Wirless 802.11n: The bandwidth of an 802.11n wireless network is about double that of an 802.11g network. And while an 802.11g network can perform most tasks well, transferring large files over the network while simultaneously streaming HD video can become a strain. An 802.11n network would provide enough bandwidth headroom for both activities.
Time Machine Backup: Right now, Mandy’s MacBook has to be plugged in to an external hard drive every night in order for Time Machine to create a backup for the day. With a Mac Mini, I can share an HFS+ formatted hard drive over the network so that when she’s connected our home wireless network, Time Machine will automatically run backups as needed. It’s not a huge improvement over an external drive, but it gives more flexibility for backups (it backs up multiple changes when connected over the network, whereas with an external drive only one set of changes is saved for that day). It also removes the human factor of remembering to connect the external hard drive every night (not that Mandy is forgetful, but it’s just more convenient not to worry about it).
Snow Leopard Server, of course: This is probably the most important reason to buy a Mac Mini, and the genesis for this entire project. Although I will probably have to flesh out the details for what exactly I use Snow Leopard Server for, there are a lot of cool features that I would like to implement on my network.
So, what are you waiting for? Build it!
Patience, my alter ego! I will need to wait until I get my copy of Snow Leopard Sever before this whole thing can get past the planning stage. And then there’s the issue of raising enough capital (or probably a more accurate description: “tech slush funds”) to purchase the Mac Mini. So, if those two steps to the process can be accomplished, I’ll begin building my new network ecosystem with Snow Leopard Server as the central hub.
Did I mention I spent WAY too much time thinking about this? Well, apparently I spent a correspondingly excessive amount of time typing out this blog entry about it, too. 🙂