What is NAS4Free and why should I care? It is a free, open source custom operating system based on FreeBSD, and it can turn your old desktop into a Network Attached Storage device, for free! Which saves anyone in the market for a NAS device $200-$400, but it will require a little time and some know-how. I’ll try to record the steps I took as concisely as possible. The initial setup will take all of 10 minutes, I made a 6 step guide on how to do it here. The hardware requirements are nearly non-existent. ECC memory isn’t required, but some will still strongly recommend it. If you want to know more, continue scrolling down.
“I’ve got (or will get) NAS4Free installed, now what?”
Once you’ve setup the NAS4Free (or N4F) on your system, you’re free to do the fun stuff. You can mirror drives, setup RAID or software RAID, and even make use of native ZFS! In short, ZFS is good because it protects your data against bitrot and other naturally occurring events which can jeopardize your data in the long run. N4F is based on FreeBSD, so while it can perform many of the duties a specialized NAS unit can do, it can also use extensions, create jails (like a virtual machine, or sandbox), and create scheduled snapshots of your file system in case anything ever goes wrong.
To the point (the features):
The initial configuration is already adequately documented on the wiki. However, much of the additional documentation is incomplete and frequently links directly to official FreeBSD documentation instead. It is understandable: a small, open source project with limited personnel. Which is what inspired these how-to posts. Next, I’ll briefly go over some things that might attract you to N4F.
One can get N4F to do many things, but what I have found to be the most useful so far are the jails and Rsync. I wanted to make my N4F create backups of my main PCs files for redundancy, and I found (to my surprise and relief) that Rsync is just the tool for that. I also wanted to try out other useful free or open source projects like Plex and Emby, respectively (some Plex software is closed source). So I found that using Finch was a robust solution to creating a jail where I can install Plex/Emby. Setting up Finch itself and subsequently the jails will require a healthy amount of command line work, but the documentation on the creator’s website is precise and should get everything setup right. An afterthought: now that I’ve used Finch and The Brig, I must say that The Brig is a much simpler way of doing jails. Both will require you to use the command line, so find an introduction to Bash somewhere if you’re not completely comfortable with *NIX command line work yet.
N4F supports most network protocols (CIFS/SMB, Samba AD, FTP, SCP/SSH, Rsync, iSCSI target) and has several other minor services: BitTorrent client, UPnP server, iTunes/DAAP server (a Firefly server), Webserver, Virtualbox & phpVirtualbox. It also supports drive encryption but it has not yet been thoroughly tested. Lastly, N4F contains a decent set of monitoring tools, including S.M.A.R.T., email alerts and Syslog.
Projects to be discussed; TheBrig jail manager (similar to finch). Recovering from failed drives. Recovering from failed configuration. Community made scripts and cron jobs. Utilizing storage space.