
I’ve recently been using and experiementing with FreeNAS in a virtual machine running on my VMware ESX server to backup my Ubuntu laptop via rsync. This has been working out extremely well and FreeNAS is relatively light on resources. There are other countless reasons as to why it is a good idea to have a NAS server for your own personal use or small to medium business. Since my NAS will be containing backup data and I’m obsessive about documentation, I was given the chance to review Learning FreeNAS by Gary Sims. As any good geek, I like to know the nuts and bolts of the OS I’m running. Gary Sims has delievered on this expectation. I think this book would be excellent for an intermediate user who has built their own computer before and has spare hardware laying around or some capability to run FreeNAS in a virtual machine as it is an excellent way to learn about FreeNAS.
Gary starts the book by explaining what a NAS is, what is FreeNAS and the various protocols that FreeNAS uses such as CIFS/SMB for Windows clients, NFS for unix clients, or AFP for OS X clients, etc. This is invaluable to someone who might not be sure what protocol would be ideal for their situation. And because FreeNAS can allow you to create a central location to store files for all the computers on your network regardless of operating system, it is a very compelling solution. FreeNAS is also very scalable, which is a definite advantage to off-the-shelf NAS appliances as there may not be an upgrade path. Assuming there are free drive bays in the case you are using for FreeNAS, you can simply add new disks and format them and create new shares.
Learning FreeNAS is also full of good pointers such as capacity planning (you can never have too much disk space!) and backup strategies (such as building 2 FreeNAS servers to mirror each other) to consider when you are building your NAS. It also goes into helping you understand drive types such as IDE, SATA, and SCSI and the various RAID Levels (0,1,5,6,10) and when it is appropriate to use each. Gary also points out the networking options that exist within FreeNAS and which ones will yield the best results.
Of course the real meat of the book is the excellent installation and configuration guide. There is also a quick start for the impatient who just want to dive in and read the finer points later. Gary goes over the installation options you have available and explains how FreeNAS saves its configuration data. The only issue and it is relatively minor is that the screenshots used in the book are currently out of date as the FreeNAS project has changed the look of the web interface. However, the guide is still accurate as they did not change navigation through the FreeNAS web interface. The guide is very methodical and consise and it is clear that there was alot of thought into writing it. As you are guided through activating each service, you will be shown how to test each protocol and get an idea of how it is accessed. It is also important to note that while configuring each service there are multiple options and Gary has described what each option does. I found this very helpful as there are quite a few performance related options especially regarding CIFS/SMB. Most users will be able to stop here, but there are also quite a few more options and feature of FreeNAS such as UPNP, iSCSI, and HTTP. UPnP is a service that is available so you are able to stream music and video to a compatible client such as an Xbox 360 or PS3. This eliminates the need for another computer serving up content to your console. It is also possible to use iSCSI as a protocol to connect to FreeNAS, but this will generally be out of the scope and need for most home users but may have some value for small-medium busineses. It is also possible to use a browser to browse NAS contents by enabling the HTTP service. Note that DAAP or iTunes sharing is also featured as a protocol, but is generally not useful in it’s current state as Apple has recently changed the way iTunes connects to DAAP shares and is currently not working with iTunes 7.0 or newer.
No one likes user management, but if you want to secure your data, it is required. The guide to setting up users is just as concise as the configuration guide. Gary also goes over configuring home directories for each user which is especially helpful as to keep users data seperate. As a rule, most users created can connect to the shares via any active protocol running on FreeNAS with the exception of NFS. Note that Active Directory is also supported, but is technically considered a pre-Windows 2000 client and not all features work with current Active Directory technology.
Gary also covers general administration including troubleshooting once your FreeNAS server is setup. It is possible reboot the server on a schedule, access the web interface via HTTPS, and further secure your installation. He also goes into detail on expanding your system by adding new disks, and configuring software RAID – even recovering from a bad disk if your RAID type supports parity. And lastly, if security is of utmost importance, Gary guides you through encrypting the disks used for storage. He also goes over other parameters that are not as common, but may prove to be useful.
I would definitely recommend buying this book if you are looking to build or test FreeNAS as it is a clear and conscise guide to learning and implementing FreeNAS. Gary has done a terrific job in detailing all the features included in FreeNAS. He also has a great blog filled with FreeNAS tips and add ons that aren’t in the book. It is a great resource for FreeNAS news.