I have been debating on software for a while, to me this was not an easy decision like the hardware. What I did know for sure is that I wanted a free Operating System that had full ZFS RaidZ support to give me drobo-like features. This narrowed the choices down to:
1. Nexenta / NexentaStor (Community edition is free for up to 12TB)
3. unRAID (only free for up to 3 drives, not ZFS based but has similar features)
4. EON Solaris
I won’t go into details on the concepts of ZFS, if you want to read more about it click here. What I can tell you is that it provides you with drobo-like features, except adding physical drives on the fly as mentioned before. I cannot stress this point enough, you need to fill your case’s drive bays or you won’t be able to later on without losing data!
Nexenta OS is quite interesting. It has an OpenSolaris kernel but also has GNU/Debian zones like dpkg and apt-get. It adds support for more x86 hardware than Solaris which favours Sun’s SPARC architecture. Its NexentaStor derivative is a full featured NAS with native ZFS implementation. NexentaStor has a Web GUI to monitor and configure key features of the system, and it even supports directly installing to ZFS root pools. This means you can RAIDz your OS drives during the time of install. In fact, I was going to mirror my two 2GB USB sticks… However, to much disappointment the Nexenta install failed to partition any of my USB drives. What a shame! I searched online and found a few people in my situation… However, the community is just too small and Nexenta is not a USB friendly system at all. Unless you are running your OS on a SATA drive… Nexenta may not work. What a shame!
OpenSolaris is the real hero behind all this, it’s the OS that gave everyone else access to the ZFS file system. However, it is a full featured OS and offers much more than what a NAS would normally require. In fact, its installer won’t install on drives smaller than 3GB! To get around this problem, some people have been creating installation profiles with smaller footprints by eliminating unneeded services. However, there was no such installation profile available for the newer releases of OpenSolaris. I was not about to invest in bigger storage just to accommodate the OS, so OpenSolaris is out.
Just the opposite of OpenSolaris, EON Solaris was built to run on a USB stick with less than 1GB of space. Its 70mb footprint was attractive, and it runs completely from RAM once booted. What it does lack is a sophisticated WebGUI like NexentaStor. Everything on this build had to be done via command. Being a complete newb to Solaris, you can imagine my feelings. What was worse is that EON only supported a few brands of hardware. Sure my Intel board will work for now… what if I switch to something else later on? Say a more powerful board to give my HD video capability to hook up to a TV. Furthermore, the EON project as brilliant as it is was only managed by one person. Nobody else in the small community seem to know about the system. Everyone is asking question… with answers coming from only one person. I did not feel very comfortable about using it at that point.
unRAID is a non-standard RAID3/RAID4 implementation. You can read about it here. It runs a Linux kernel with modules to accommodate the unRAID disk logic. The company – Lime Technology also sells unRAID pre-configured with hardware. The free edition of the OS can run up to 3 drives, any more than that you will need to pay $60 for a license. After reading the wiki on unRAID, I realized not only is unRAID proprietary like the Drobo’s BeyondRAID it is also quite slow. I’m not about to fall into the same trap again, so I did not bother with unRAID at all.
FreeNAS was actually the first OS I tried and it worked well from the beginning. My initial fear was that FreeBSD (the kernel that FreeNAS runs on) was not a native system for ZFS, and its implementation may be buggy. In fact, ZFS is still considered to be an experimental feature on FreeNAS. However, FreeNAS has the most active and experienced community of them all. Not only will you find tweaking guides, but also custom scripts that will give you features you cannot find elsewhere. After some research, I realized that ZFS became part of the FreeBSD system as of April 2007 and it has received quite a bit of attention. While the implementation is not considered to be production-ready, I did not find any mention of instability or major bugs. Furthermore, with the next version of FreeNAS in the pipeline, production-ready ZFS is only a matter of time.
There are two editions of FreeNAS, the “Full” version is meant to be installed onto a traditional disk drive while the “Embedded” version is Solid Sate Drive/ USB stick friendly – it means that most of the OS is stored in RAM after boot to minimize writing to the flash-based device, which has a limited number of write operations. Awesome!
I downloaded the Embedded image of the latest 0.7.2 nightly build and extracted it onto my USB stick. The system booted up and DHCP kicked in to fetch for an IP and within minutes my NAS box was on the network. No configuration was needed at all. I logged into my router to find out the IP assigned to my NAS, and then pointed my browser to it. FreeNAS greeted me with the beautiful web-based UI. I was able to add my four drives into the system without problem.
Now it’s a matter of setting up ZFS and CIFS shares within the webUI. Check here for a walk-through. (FreeNAS 0.7.1 is now a stable release, and much of the WebUI was improved. Feel free to ask questions here if you are stuck.)