I started out using Unix all of around 13 years ago or so. It's been a while. I had a shell account on Sun SparcStation 5 running SunOS 4 for a while. That's where I learned most of the basics while running an Eggdrop. It was basic, but it was enough to get the taste in my mouth. When it finally came time to get my hands dirtier, I chose FreeBSD to install on my own hardware at home. I wish I could say it was for some technical reason, but it really wasn't. Sure, they had the cute devil mascot. But mostly it was because, in 1996, Linux just wasn't there.
Linux in 1996 was still on the 1.x branch and transitioning to 2.0, arguably where the kernel got to a decent enough state in terms of stability and usability. FreeBSD was fairly friendly to install and manage compared to the Linux distros of the time. So that's the route I picked. After all, if it was good enough to run Yahoo, it was probably good enough for me. So I happily ran it for years on my home and co-located servers. It was rock-solid and supported all of the hardware of the era with ease. I also posit that the strength of FreeBSD is that it is fairly resistant to change over time, for better or worse.
Around 2004, I started to abandon FreeBSD for a much easier to manage Gentoo Linux. There were a few reasons for this, but the biggest one was portage. Similar to FreeBSD's own 'ports', it was far easier to maintain custom feature sets in software that was installed and WAY easier to keep everything up-to-date or at bare minimum, easier to visualize. Fast forward to almost 2010 and all my servers have been Gentoo for many years.
I haven't run a Linux server at home for a while due to power and heat concerns and left my serving up to my Mac Pro. But some mysterious crashing has led me back to the dedicated server model at home. I just so happened to have some spare hardware lying around, as I'm wont to do. So I decided to migrate my 2TB drives to it. The big question, of course, was what operating system to use. My choice centered heavily around what filesystems are supported since this would be primarily a file-server. Having used ZFS for years now, it seemed like a no-brainer. I would have given Btrfs a try if it were more mature and deemed at least 'stable', but it's currently still young and being actively developed. So if I wanted a FS that supported snapshots, copy-on-write, block-level checksums, ZFS is still the only game in town.
Naturally, when you say ZFS, the first OS you'd use would be Solaris or OpenSolaris, since Sun wrote the filesystem. So OpenSolaris it was. I popped in the disk and booted into the LiveCD. OpenSolaris gives you a hardware compatibility application right on the desktop of the LiveCD. It will scan your hardware and tell you what driver it's supported by. The problem comes when the driver isn't found. It does tell you when there is hope that your out-of-the-box unsupported hardware has a third-party driver, as it did with my Linksys Gigabit Ethernet card (RealTek 8169). The ever-so-handy Solaris NIC driver page had drivers for that. Unfortunately, the deal killer when it comes to Solaris/OpenSolaris on generic hardware is always hardware compatibility and driver support. This came in the form of the 3ware SATA controllers I use to get 8 SATA ports into one server.
There are no drivers for the older 3ware cards (specifically the 8006/8506 models) for Solaris. There are plenty of people optimistically asking if they're available on forums, but no drivers nonetheless. So what's a boy to do? Want ZFS, have odd hardware. The answer is obvious now in the last year or so. Use FreeBSD.
FreeBSD has supported ZFS since 7.0. Granted from what I'm told, it has gotten significantly more stable with 8.0. So that's what I did this holiday weekend. I loaded up FreeBSD 8.0 and much like when I originally purchased these cards for this purpose, they run flawlessly under FreeBSD. The RealTek card is of course supported by default as well. It's ironic in many ways for me. FreeBSD hasn't changed on the surface since my days of using 2.2.5 all those years ago. It still has the same (ghastly) menu interface for sysinstall. It still is color-blind by default. I'm sure it has changed under-the-hood by massive amounts over the years however. But the big plus now, is that besides Solaris, is the only other OS that supports ZFS with the default OS install.
It's still as rock-solid as I remember it. Even running ZFS, a memory hog by anyone's standards, it's still very frugal and runs easily on 1GB of RAM. Solaris would have a rough time doing the same thing. FreeBSD, while not being anywhere close to Linux in terms of hardware compatibility, still will run on gobs more hardware configurations than OpenSolaris. I'm more surprised than I'd like to admit, but I shouldn't be. Will FreeBSD become my preferred OS once-more? Well, there's a proper tool for every job and FreeBSD definitely doesn't fit every task but for solid-servers that don't need to be toyed with constantly, I think it's the winner.
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
2 comments
Leave a comment
