FreeNAS Setup Guide - How to Build Your Own NAS
As the number of devices on my network continues to increase I've found that the need for centralized network storage continue to grow. Storage is a lot easier to manage and backup when it is all in one central location.
Instead of buying a network attached storage appliance I opted to build my own using FreeNAS and some old computer hardware, which I seem to have plenty of!
FreeNAS is a network storage operating system that is based on FreeBSD 8.0. FreeNAS has a lot of great features built in that make it easy to set up and manage.
Since it's completely free to use you can use the money you save to buy more hard drives for your NAS too!
What is network attached storage?
A NAS is basically a computer connected to a network that is dedicated to data storage and file sharing. Most NAS systems use a stripped-down operating system optimized for security and reliabily.
Unlike a regular file server network storage systems are typically more like an appliance than a server. It's not unusual for a NAS to operate without a display , keyboard , or mouse.
I like to use FreeNAS because it has lots of different features and can be customized for different environments. Best of all it's completely free and open source!
Below are some of the features that I consider to be the most useful ones. You can find a more a more comprehensive list of features on the FreeNAS website.
Web interface - After FreeNAS is installed all of the configuration can be managed through the web interface. There is no need to have a keyboard or monitor connected to the device.
Support for several protocols - FreeNAS has support for several different protocols including CIFS (Samba), FTP, TFTP, NFS, SSH and many others.
ZFS filesystem support - ZFS is a cutting edge fully open-source filesystem. ZFS includes several great features such as data integrity protection, automatic repair, and RAID-Z.
Remote monitoring - FreeNAS has several features that allow the system to be managed and monitored remotely. Syslog support allows the NAS logs to be forwarded to a remote system.
SNMP monitoring allows performance counters and other information to be remotely polled. Email alerts can also be configured to provide additional visibility of the systems status.
Hardware Requirements for FreeNAS
FreeNAS 8 is based on FreeBSD 8.2 so it supports the same hardware listed in the FreeBSD 8.2 compatibility list.
To build a high performance NAS using the ZFS filesystem you're going to need a computer with a 64-bit processor and at least 6GB of ram.
If you are building a simple home performance NAS you can use the UFS filesystem which has much less requirements.
- Processor - 2GHz or better Intel or AMD 64-Bit
- Memory - 6GB Minimum for ZFS (1GB per Terabyte of storage)
- Network - Gigabit PCI or PCIe adapter
For more details about the hardware requirements for FreeNAS 8 check out the hardware requirements page.
FreeNAS can be installed on a hard drive, memory card, or USB flash drive. I like to use a USB drive because it saves more room in the NAS for hard drives. The installation requires about 2.5GB of space so it will fit on most USB drives.
If you do install the software on a hard drive the drive must be dedicated to the operating system, this means you cannot use that drive for file storage.
To get started with the installation you will need to download the ISO file and burn it to a cd. If you are installing FreeNAS on a 32-bit system download the i386 file, if your system has a 64-bit processor use the amd64 iso file.
Running the Installer
After you have burned the ISO to a disc place it in to the machine and boot from it. Once the live cd has finished loading the installation wizard will run.
- At the first screen select option 1 (Install/Upgrade).
- Select the drive to install FreeNAS onto.
- Confirm your drive selection. The destination drive will be erased so be sure to select the correct drive.
- Reboot the system and remove the installation disc.
Installation ScreenshotsClick thumbnail to view full-size
Configuring an IP Address
When FreeNAS finishes booting the console setup menu can be displayed. The first thing you should do at this point is assign an IP address for the system. Once an IP address has been assigned you can access the web user interface.
- Select option 1 from the console menu.
- Chose the interface you want to configure. There will only be one choice here unless your system has multiple network cards.
- Choose "no" when asked to delete the existing configuration.
- Select "no" again to disable DHCP.
Accessing the Web Interface
After you have assigned an IP address you can connect to FreeNAS using the web gui. To connect just open up your web browser and type in the address you assigned to the NAS.
The default username and password for the web GUI is admin / freenas.
From within the web interface you can configure shares, enable or disable services, and access the reports and monitoring features.
Creating a New Volume
The first step in setting up a file share is to create a volume. A volume is made up of one or more physical disks.
- To create a new volume click on the storage tab then click the button labeled "Create Volume".
- Next, assign a name to the volume and select the member disks. If you are selecting more than one disk the raid options will become available.
- Select a filesystem type of ZFS or UFS. I always use ZFS unless I'm setting up FreeNAS on a system without much memory or a slower CPU. ZFS is a better filesystem but requires a more powerful computer to run it.
- Click on "Add Volume" to finish creating the volume. This process will erase any files already on the drive so be careful!
Volumes can be divided further into datasets, each dataset can have different quotas assigned to them.
Datasets also allow you to apply compression to a dataset without having to compress an entire volume.
I like to create a separate dataset for each share that I plan to create. For example I created individual datasets for videos, pictures, music, etc. This allows me to control access to the shares on a much more granular level.
Turning on Services
FreeNAS supports several different protocols that allow clients to access files on the NAS in many different ways.
By default all of the services are turned off, I recommend only turning on the services that you plan to use. This will preserve system resources and increase security as well.
To turn on services click on the services tab in the web gui and click on any service that you want to enable.
Setting Up Shares
After the services you're planning to run have been turned on you can begin adding shares. To set up a share click on the shares tab and then select either Apple, Unix, or Windows.
The share path can point to a volume or a dataset.
Learning More about FreeNAS
I've just started to scratch the surface of what you can do with FreeNAS.
As an open source platform FreeNAS has tons of features that you won't find in most commercial NAS products.
The FreeNAS documentation contains a lot of great information on how to configure various different services in sharing systems.
© 2011 Sam Kear