I don’t really need to go into further detail about why I’m building a server, but one of my main concerns was its reliability and resilience. My multi-drive NAS enclosures were all set up as RAID 0, which provided absolutely no protection against data loss, but that was–of course–the most space-efficient setup at the time. Wanting to improve my setup, I was looking for an OS that could handle more advanced RAID setups as well as allowing me to run server-side applications such as Plex, OwnCloud, and Pi-Hole as my needs evolved. After some research, I settled on FreeNAS, a FreeBSD-based OS developed by iX Systems that seemed to suit my use case and–more importantly–is mature and popular enough to have a large community support base.
The first thing to do, obviously, is download the installation media from the FreeNAS website. You’ll need the version for your processor architecture, so I’m grabbing the 64-bit version. Once downloaded, I’ll burn it to a USB jump drive using Balena Etcher like I usually do with Raspberry Pi images. Of course, you can use your preferred application.
Side note: I find it funny that we still refer to the process of writing a bootable image to a USB drive or SD card as “burning” even though we’re not literally burning the information to an optical drive. It’s one of those interesting linguistic artifacts that has outlived its origins like “hanging up” a cellular phone or “tuning in” to a streaming broadcast.
A couple of things to note before installing: The process will require a keyboard and display connected to the system. You’ll also need to connect the system to your network. For the installation process, I actually have the tower connected to the living room television since it was the most conveniently accessible HDMI monitor. I already have my SD card boot drive installed inside the case, so just pop the installation media into a free USB port, and power on the system.
Press enter or just wait out the autoboot timer, we’ll use the “Boot Multi User” option. The next screen should present you with the main installer menu. Highlight “Install/Upgrade” and press enter.
When you’re presented with a list of connected drives, you’ll want to choose the one that you set up as the dedicated OS disk. For me, this was the USB SD card reader and 32GB MicroSD card that I installed inside thee case previously (which is pretty easy to find–it’s the only 32GB drive in a list of multiple-terabyte options). For you, it should be something similar: an SD card or USB (don’t worry about corrupting the drive, it’s pretty simple to replace the OS) and not one of the storage drives. Once you’ve confirmed your selection, the installation process will begin. This will take several minutes, so grab a cuppa tea while you wait. Once completed, remove the installation media and select “Reboot System” from the main menu.
Configuring Network Settings
Once rebooted, FreeNAS will present you with the console setup menu. Towards the bottom of the screen, you should have an IP address that will allow access to the FreeNAS web interface. From a separate computer, try navigating to that address in a web browser. If it connects, congratulations! You shouldn’t need any further setup and can proceed to configuring your drives. If it doesn’t connect, choose “Configure Network Interfaces” from the menu and select your chosen interface. Since I’m connected via ethernet cable, I’m setting up the
eth0 connection. The following settings should get work for any direct connection to a router:
Reset network configuration? n
Configure interface for DHCP? (y/n) n
Configure IPv4? (y/n) y
Interface name: eth0
Saving interface configuration: Ok
Configure IPv6? n
At this point, you should reboot the server which will automatically renew the DHCP lease and assign a working IP address. Navigate to that IP address from another computer’s web browser, and you should be presented with the FreeNAS web interface and a prompt to set up a user name and password. You should also be able to reach the web interface from the URL
freenas.local. Once logged in, we can start setting up storage pools and shares.
When you first log into FreeNAS, you’ll be presented with a setup wizard that will walk you through the process of setting up your storage pool–the name, drives, and various options including user names, email settings (useful for receiving notifications), RAID configuration (RAIDZ2 FTW), etc. Once the basic configuration is complete, you can add disks to the pool and you’re ready to start building a library!
Specific configuration settings are really outside the scope of this article, but the FreeNAS User Guide is extremely helpful in that regard! Much of what I write here is intended to clarify what appears in the official user guide, and should be taken as a supplement to–not a replacement for–that document.