FreeNAS storage system

freenas-logo-1I have finally started my home storage system project in-between some renovation work at home. I want a central storage solution for home computers, mobile phones and other devices. I really do not want to store private stuff in the cloud.

As a fan of the FreeBSD operating system, the obvious solution is to install FreeNAS. I´m going to use it primary for file storage and backup of computers and devices, and I´m going to take snapshots of important volumes and replicate data to an off-site FreeNAS system owned by a friend.

 

 

The first part of the project was to select hardware. Since FreeBSD can run on a wide variety of hardware platform’s, the selection requires some research. The best bet is to acquire hardware commonly used for existing FreeNAS systems and not select some exotic hardware even if it probably would work.

I started the HW selection process focusing on finding a good disk controller. Traditionally RAID was run on the controller itself as a hardware based RAID, not run as a software RAID in the OS. This view have gradually changed over the years. Principally its does not matter if you run “RAID” on the controller or in the operating system. Both is software handling disk access. In fact, it can be beneficial if the operating system can handle the RAID functionality and access disk information direct. In the Hardware requirement section for FreeNAS, hardware RAID is strongly discouraged. With this in mind, I ended up with a LSI controller where I can disable the RAID functionality changing the firmware.

 

 

Controller: LSI 9211-8i SAS SATA 8-port PCI-E 6Gb RAID.

Then I searched for a proper cabinet and motherboard. I wanted an ASE-NI enabled CPU for encryption processing, passive CPU cooling to keep noise levels low, Ethernet management interface etc. I looked at the HW configuration for the FreeNAS certified servers from iXsystems, and it´s using the ASRock C2750D4I motherboard.

Motherboard: ASRock C2750D4I.

A really nice cabinet I found, was the Fractal Design´s Define Mini. Big fans in front of the disks, easy disk access, 8 storage bays, easy to route cables, silenced etc.

Cabinet: Fractal Designs Define Mini.  

Memory: 2 x Kingston ValueRAM Server Premier 8GB 1600MHz DDR3 ECC unbuffered. (ECC is highly recommended).

The FreeNAS system is going to run 24/7 for several years, so I wanted to find a good, stable, fanless and high quality powersupply.

 

 

Powersupply: Seasonic Platinum Series 520 Fanless 520watt 80 PLUS Platinum.

Regards to the hard drives, it´s recommended using NAS drives like Western Digital NAS Red series. The number of drives and selection of RAID level, requires careful planning.

I ended up with 6 WD 3TB drives that I´m going to run as a RAID 6/RAIDZ2. Two drives can fail in the RAID, and the vdev will still work without any loss of data. If performance/throughput/speed would be a priority, I could create two vdevs running RAID5 of three disk, put it in the same storage pool and get significant better performance, but a failure of two disks in one vdev would result in dataloss. I prioritize redundancy before speed and choose to run RAID 6. It will be fast enough for my usage running RAID 6 and I will end up with 12TB storage space (6 x 3 TB – 2 x 3 TB).

Harddrives: 6 x WD Red 3TB NAS Harddrives.

 

Update 25/5-2016:

The HBA/disk controller card bought at Ebay arrived with Fedex today 25/5-16 🙂

I´m still waiting for the PSU, disk controller, memory and disks. Should arrive soon.

Update 26/5-2016

Yesterday I got all the parts I need. Harddrives, cables, Powersupply and memory and the system is up and running

 

 

After installing FreeNAS operatingsystem on a USB stick and booting FreeNAS, Im getting a warning complaining about a mismatch between FreeNAS supported LSI kontroller firmware, and the running firmware. The controller came with firmware vertion 19.x and FreeNAS wants 20.x.

To update the firmware for the LSI controller, i downloaded 2 files from from LSI:

9211-8i_Package_P20_IR_IT_FW_BIOS_for_MSDOS_Windows.zip
Installer_P20_for_UEFI.zip

I expanded the zip files and copied sas2flash.efi, 2118it.bin and mptsas2.rom to a MBR & FAT formatted USB memory stick. Then booted an EFI shell, mounting the USB drive with mount fs0 (map shows drives) and changing working dir with fs0:

Then list controller info:
 sas2flash.efi -listall
Erase BIOS:
 sas2flash.efi -o -e 6
Write new firmware and BIOS:
 sas2flash.efi -o -f 2118it.bin -b mptsas2.rom

Everything looked ok but the last command froze after “Resetting adapter”. After a while I had to do a hard reset of the computer and at boot time the LSI controller and disks did not show. I restarted a EFI shell, ran sas2flash.efi -listall and could see that the BIOS was not written to the controller. After the command sas2flash.efi -b mptsas2.rom and a restart, everything worked fine and the controller had the right firmware.

Another quirk is the management interface on the motherboard. On a local network I ran a console session without any problems. But accessing the console trough a open vpn connection, failed. To make it work you have to access it using HTTPS, not HTTP.

The next step is to install certs on the management interface on the motherboard and the free NAS web admin interface.