FreeNAS Initial Configuration
This is where things get a bit more interesting. Our main objectives here are to:
- Create a storage pool
- Share that storage pool over the network
- Setup network interfaces to accept direct connections
Let us get started. These steps are fairly easy to follow, and once you go through it, you will understand how a large portion of the storage industry operates.
Creating the FreeNAS Storage Pool
When you have a lot of drives, like in the Jellyfish Fryer, you need to tell the NAS which drives you want to assign to a set. For some perspective, large storage systems will have thousands of drives, so decomposing drives into unique sets is a way to manage very large arrays. In ZFS like FreeNAS and the Lumaforge Jellyfish use, these sets are called pools. Think of it like a pool of disks you are going to store data on.
In the FreeNAS UI go to Storage -> Pools -> Create Pool. Then enter a pool name (here “patrickpool” because I lack creativity. Then select drives from “Available Disks” and hit the arrow towards Data VDevs. A “vdev” is a ZFS term. You will then want to select a RAID level (for this guide, we are skipping Stripe and Mirror.) When selecting a “Raid-z” level, think that the number of z’s is how many drives can fail. So that gives us the model of:
- -z = z*1 = 1 drive can fail and you will retain data
- -z2 = z*2 = 2 drives can fail and you will retain data
- -z3 = z*3 = 3 drives can fail and you will retain data.
In a 24-32 drive array, especially using hard drives, you probably will set up something like 3 groups of RAID-z and put them together. For 26 or so SATA SSDs, you can use RAID-z2 and still push 40GbE speeds. This keeps complexity low and you should be able to have multiple editors online at the same time with this. Again, this is a benefit of using SSDs.
You can see we have cache SSDs here, but with ZFS, usually we do not need to cache SATA SSDs so we are going to skip that. In the Jellyfish Fryer video, we had a 26x 3.84TB Raid-z2 array. We had a 27th drive that we used as a hot spare.
You can add a hot spare by clicking “ADD SPARE” on this page and selecting the extra drive. The hot spare greatly increases array reliability, especially with SSDs and Raid-z2. If a drive fails, this spare drive will quickly start taking over for the failed drive without manual intervention. High-end arrays usually have hot spares which usually turns a disk failure into a non-event. That is something you want if your livelihood depends on it.
Once the pool is created, there are still more steps to do. Being frank, these are steps we do not have to do with some of the consumer NAS options out there. The iXsystems/ FreeNAS team is going to have Wizards to make this easier in their upcoming update. For now, there are a few more steps.
Next, we need to make a dataset. Think of the dataset as a Here, we are going to set up a Windows dataset. You will want to go to Storage -> Pools -> Add Dataset. This option is a bit hard to find but in our example, it is in the “patrickpool” dropdown context menu on the right.
Here select the “Windows” type then use Case Sensitivity “Insensitive” (it is Mixed in the screenshot.) Once you are done, you can click SAVE and the dataset will be ready to go.
The hardcore ZFS folks will have a long explanation of why to do this. Here is the short conceptual model. You are creating a specific shared “folder” that you can set things like snapshots specifically for. That helps with organization and also you can manage that folder/ dataset separately assigning permissions or backup as needed.
At this point, you can just use the “root” login and access data, but this is a bad idea. You should make a new user under Accounts-> Users. We are going to let you read the documentation on all of those boxes.
Here we have a user I am making called “patrick”, again due to a lack of creativity.
Creating the Share
Next, you want to create a Windows / SMB / Samba share. Go to Sharing-> Windows (SMB) Shares -> Add. Then click folders to the share dataset “patrickshare” for us.
As you may have gleaned from the naming conventions we are using, this all seems very repetitive. Needing this many steps is frankly one of the biggest complaints we hear about FreeNAS. On consumer NAS systems, this is easy. FreeNAS is a tinkerer’s solution that grew up focusing on exposing the power of all of this complexity.
This workflow we are using is perhaps the most common workflow for FreeNAS, and yet it takes an enormous number of screens and a decent amount of knowledge. At this point, our guide is 2000 words long. In the future, FreeNAS 11.3 wizards are supposed to finally make this easier.
Next, we are going to cover how to connect to the Jellyfish Fryer.