Network Attached Storage (NAS)



Install and Setup TrueNAS Core

We'll be taking a small series adventure into the world of TrueNAS.  I'll be starting with TrueNAS core (formerly FreeNAS).  If you've never heard of TrueNAS(or FreeNAS), then let me explain a bit. Truenas is a self hosted Network Attached Storage solution.  It is based on BSD Unix (I know the BSD folks will hate that I included Unix in there, but it's simply for a bit more clarity).  

TrueNAS has been around for years, and in it's BSD form provides an extremely powerful, and very stable NAS platform.  If you have been looking for a good way to consolidate your data and storage, then this may just be a free, open source, self hosted project you'll love.  

When I first started looking at NAS storage wayyyyyy back in 2012 and 2013, most systems were massively expensive, closed source, and required you to buy very expensive hard drives that were all perfect size matches and the same make, model, spindle speed, and so on.  Something not particularly tenable for the average home user.

Then, along came FreeNAS (now known as TrueNAS Core).  FreeNAS, while still having fairly high RAM requirements was something attainable, allowed you to bring your own hard drives of varying sizes, and actually use them to their fullest potential by incorporating ZFS for the RAID storage solution.  Don't worry, you don't need to know too much about ZFS these days to use TrueNAS Core, but you should probably learn the basics.

Today, let's get through the install and some basic setup of TrueNAS Core, then we can get into some of the other great features in future videos.

Install TrueNAS Core

The first thing we need is the TrueNASCore ISO (image) to burn to our flash drive.  I use Balena Etcher.  Feel free to use whatever software or method you prefer to get the Image to an run-able state on your flash device.

Next, plug in your drive to your preferred machine, and boot it up.  You'll need to know what hotkey to use to get to your system's boot menu.  On my machine it was F11, but it can be F9, F10, F12, ESC, Delete, and F2 as well.  Each manufacturer is different sadly.

ONce you get to the boot menu, select your flash device.  In my case it was a Sandisk Cruzer Blade.  I chose the regular boot (bios) option.  There will be a UEFI option as well if you prefer using UEFI, so choose whatever works best for you.

Once you start the boot process, it will take anywhere from 10 seconds to a minute or so, then you'll be prompted with an option list.  This is where the install starts.  You'll have four options, so choose number one (1) to get started.

Next you'll be prompted with options for

1. Install / Upgrade
2. Shell
3. Reboot System
4. Shutdown System

We, again, want number one (1).

Next, it's going to identify your hard drives, so be cautious and choose the drive you intend to install it on.  Make sure it's hhighlighted, then press SPACE to put an * next to it, and then ENTER to move forward with that selection.

Next, you'll be asked to Upgrade or Install, so choose Install, then press ENTER.

After that, you'll be asked if you want to Install in a new boot environment (new partition), or Format the Boot Device.    You need to select Format the Boot Device.

WARNING!!!!! This will completely erase all existing data from this device.  So make sure you picked the right drive.

On the next screen, highlight "Yes" then press ENTER.

Enter a root user password two times.  Then tab to "Ok", and press ENTER.

Now, select how you want to boot.  If you prefer to boot UEFI, then select that, otherwise select Bios mode, and press ENTER.

Finally, depending on the size drive you are using for the operating system, choose whether you want Swap space.  I suggest swap if you are using a large enough SSD (greather than 128 GB).   Now press ENTER one last time, and the OS will begin to install.  

When it's been completely installed, you'll be prompted to reboot and remove the install media (flash drive).  

Settings, Storage, and Users

In the video, I go through the various settings in TrueNAS Core, as well as setting up SMTP based email for notifications.  

I also cover creating a storage pool (1 or multiple disks) and the basic options of the pool creation.  Finally, I create a couple of data segments in the pools, and create a couple of users that I then give permissions to those shares so that they can store data on those shares.

I highly recommend watching those portions of the video, even if you skip the overview of the settings.