Build of a FreeNAS based ZFS NAS server

Why DIY build a NAS? Because it's fun, reasonably cheap, and you control your hardware so you can upgrade any component anytime you like. Truth be told, the replacement for my old ReadyNAS NV+ was long overdue. Back in 2007 it was a highly rated product, but for me this

Why DIY build a NAS?

Because it's fun, reasonably cheap, and you control your hardware so you can upgrade any component anytime you like.

Truth be told, the replacement for my old ReadyNAS NV+ was long overdue. Back in 2007 it was a highly rated product, but for me this slow, toaster-shaped NAS "thing" with its old SPARC processor and 256MB RAM just didn't cut it anymore. Today there are many off-the-shelf NAS solutions from vendors like Drobo, QNAP, Netgear ReadyNAS or Synology offering much better RAID technologies.
But I was fascinated with ZFS. ZFS is a local file system and logical volume manager originally developed by Sun Microsystems in 2001 and open-sourced a few years later. Here's an incomplete list of features:

  • Focus on data integrity
  • Large volume support, easy volume management
  • RAID capability
  • Compression
  • Snapshots and copy-on-write clones

There are several implementatations of ZFS, notably FreeNAS and ZFS on Linux.
FreeNAS is essentially a very mature ZFS on FreeBSD with a user-friendly GUI and some extra features. So the goal was clear: Build a NAS running ZFS on stock components.

Requirements

The build is inspired by Brian Moses' excellent blog article "DIY NAS: 2015 Edition". My personal requirements were as follows:

  1. At least 4 SATA ports, ideally 8: My immediate need is for about 10TB of storage but I would like to be able to grow to 20-30TB over the next few years. A RAID5 array of 4x4TB gives me 12TB, so 4 SATA ports is the absolute minimum. Beyond the growth requirement I like the immediate flexibility offered by having 8 SATA ports. I have some old 1TB drives that I could combine to create a 4TB volume to add extra redundancy to the RAID array. Or I could mirror the four 1TB HDs to create a fast 2TB or 1TB volume.
  2. Low power consumption: All else being equal, low power consumption is always better: Obviously it means lower electricity bills. And lower heat production requires less cooling, resulting in less fan noise and also a simpler build.
  3. Small form factor and low fan noise: I'm not quire certain where the NAS will end up. If the performance of NAS is good it may well move to the server room in the office. If not it will stay in the home office. For the latter case I absolutely want the NAS to be small and quiet.
  4. Ability to run other services on the NAS: Sooner or later the NAS will have to do more than just serve files. Over time more and more services will probably be added for backup, synchronisition, data acquisition, maybe even a small web-server.

Specification & Design

If you want an 8 bay NAS there seems to be a sweet spot with the Silverstone Tek DS380B enclosure and the ASRock C2550DFI or C2750DFI motherboard. The 8 bays perfectly match the 8 SATA3 ports of the ASRock and the 4 internal (2.5'') slots can be connected to the remaining 4 SATA2 ports. Demands on computing power can be met with the 4 core (C2550DFI) or 8 core (C2750DFI) Intel Avoton processor.
A compact rundown of the some hardware choices can be found in So you want to -- build your own, "chic" NAS server.

Enclosure

The small form factor requirement narrows down the choice considerably. There's the Silverstone Tek DS380B with 8+4 bays and the Lian Li PC-Q25B with 5+3 bays. Both have almost identical dimensions and support Mini-ITX and Mini-DTX motherboards. The Lian Li seems to be of better build quality - judging from the reviews on youtube. The Silverstone on the other hand has more bays but is also 30$ more expensive.

Enclosures
  Silverstone Tek DS380B Lian Li PC-Q25B
Name
Dimensions (WxHxD) 211 x 285 x 360 mm 199 x 280 x 366 mm
HDD bays (hot swap) 8x 5x
Other HDD bays 4x (2.5'') 3x
Fans 3 2
HDD bay mount Plastic tray Sliding screws
Expansion slots 2x (11'' x 4.38'') 2x (320mm)
Front ports 2 x USB, 1 x Audio & Mic None
Information Detailed user manual One-page installation guide
Price 150$ on Amazon 120$ on Amazon

Mini_ATX is the smallest of the standard form factors:
ATX ITX AT Motherboard Compatible Dimensions
(graphic by Hans Haase, licensed under CC BY-SA 3.0)

Update: Some nice shots of the DS380B can be found on a recent review on techspot.com.

Motherboard

The two ASRock motherboards C2550DFI and C2750DFI made the shortlist and chosing between the two isn't easy. A 100$ more buys you twice the computing power but you also get a higher power consumption. Precise data on power consumption of the board is hard to find. Techspot has an article featuring a comparison which includes the octa-core Intel Atom C2750 showing an idle consumption of 58W vs. 75W under load. According to Intel the C2750 has a TDP of 20W vs. the 17W of the C2550. Another article on servethehome shows that the C2550 processor needs about 28W under load.

C2550D4I features
Processor Quad Core 2.4GHz Intel Avoton Intel Atom C2550
SATA ports 8 x SATA3, 4 x SATA2
Peak power TBD
TDP 14W
RAM 4 x 240-pin DDR 3 DIMM à 16GB max = 64GB max
Expansion slot PCIe 2.0 x8
USB 3 x USB 2.0 (2 front, 1 rear; or 1 front, 2 rear)
More info Datasheet
Price 300$ on Amazon

If you want USB3.0 you can opt for a PCIe USB 3.0 card such as the Anker USB 3.0 2-Port PCIe card (about 20$ on Amazon) or the SilverStone EC04-P (about 30$ on Amazon). The Silverstone is more expensive but has the supposedly superior NEC chipset. More importantly, the NEC chipset is reported to be well supported on Linux as opposed to Anker's VIA chip.

Power supply

There's an excellent article on ATX and SFX power supplies in tomshardware.com: Power Supply 101: A Reference of Specifications.
For the Silverstonetek we need a SFX (microATX) PSU. Note that the C2550DFI has a ATX power (24-pin) socket.
First let's get an estimate of the power consumption:

Power consumption estimate
Item Idle Avg. Max.
C2550DFI Motherboard 30 40 50
8 x HDD 26 30 36
12 x HDD 40 45 54
Total 56 / 70 70 / 85 86 / 104

Upgrades with the ASRock C2750DFI and 6GB or 8GB drives would probably push the consumption to 130W avg/150W max. so we should chose a 250W power supply (assuming optimal efficiency of PSUs at 50% load). 250W power supplies in ATX or SFX form factor are somewhat hard to find, so I go for one of the 300W or 350W PSUs.

PSUs
Power supply Rating Link Price Remark
FSP300-60GHS 300W FSP 46.99 Amazon 80PLUS, review
SST-ST30SF 300W Silverstonetek 55$ on Amazon 80PLUS bronze
SS-350SFE 350W Seasonic 53$ on Amazon 80PLUS bronze
IP-P300BN1-0 300W in-win 13$ on Amazon  
IP-P300CN7-2 300W in-win 53$ on Amazon 80PLUS bronze
IP-P300EN7-2 300W in-win ? 80PLUS silver
SFX-350BS 350W chieftec cheap, hard to find 80PLUS bronze
be quiet! SFX Power 2 300 W 300W bequiet hard to find 80PLUS

I happened to find a good deal on the Chieftek SFX 350-BS so that's the one I used.

RAM

ASRock has a qualified vendor list (QVL) for the C2550D4I on their website. Purely based on quick availability I picked the Crucial 2 x 8GB DDR3 DIMM ECC 240-PIN 1600 PC3-12800 kit (Crucial part No. CT2KIT102472BD160B).

Hard drives

The most recent Backblaze Hard drive reliability update of Sep. 2014 shows that it's difficult too make a prediction about new hard drives. HGST (formerly Hitachi) seems to be the most relaiable historically.
The drives on the shortlist are WD Red 40EFRX, Seagate NAS HDD 4TB and HGST Deskstar NAS (0S03664). The drives all have 6 GB/s SATA-III with 64MB cache and come with a 3 year limited warranty, 600k loads/unloads, certified for 24x7 operation. The Hitachi stands out with 7200rpm, otherwise the specs are almost indistinguishable.

  Western digital Red WD 40EFRX Seagate NAS HDD 4TB HGST Deskstar NAS (0S03664)
Datasheet datasheet datasheet datasheet
Price 160$ on Amazon 160$ on Amazon 165$ on Amazon
Speed 5400 rpm ? 5900 7200 rpm
Ambient Temp. 0-70 0-70 5-60C
Shock 30/65g 80g 70g
Max sustaied data x-fer 150MB/s 180MB/s ?
Acoustics 25 / 28dB 23 / 25dB 29/?
Power sleep/idle/avg 0.4 / 3.3 / 4.5W 0.5 / 3.95 / 4.5W ? / 6.9 / ?

Based on articles such as this one, "Who makes the most reliable hard drives?" I choose the Hitachi Deskstar NAS.

Flash drive

FreeNas will run on a USB flash drive. The recommendations on FreeNAS's website is a minimum of 8GB or 16GB. In order to have a more reliable boot disk you could use 2 mirrored USB sticks. Because of its small form factor I chose a 16GB SanDisk Cruzer Fit CZ33.

Build

The BOM

First, let's run through the finalized bill of materials:

Part name Qty Price/$ Total/$
Enclosure Silverstone Tek DS380B 1 150 150
Power supply Chieftec SFX-350BS 1 45 45
Motherboard ASRock C2550D4I 1 300 300
RAM Crucial CT2KIT102472BD160B 1 160 160
Hard disks HGST Deskstar NAS 4TB 0S03664 4 165 660
USB stick SanDisk Cruzer Fit CZ33 16GB 1 9 9
SATA cables 4 1.50 6
TOTAL 1330



The unboxed hardware for the FreeNAS build

DS380B enclosure

The Silverstone DS380B enclosure has a, well, cheap feel to it. The plastic trays are somewhat flimsy. In fact they need to be secured with screws. Other obervations regarding the DS380B:

  • On delivery one cable was squeezed behind a fan
  • The screw holes wear out very quickly

The empty Silverstone Tek DS380B enclosure Note that the DS380 has a 20-pin USB3.0 front panel connector which is not mentioned in the manual. (See the article USB 2.0 / 3.0 Connectors & Pinouts for details on USB connectors.)

Mounting motherboard and power supply

Enclosure with mounted ASRock C2550DFI motherboard Enclosure with Chieftek SFX-350BS powersupply mounted

SATA cables attached

I run a first test with two HDs attached.
SATA cables attached to the mother board

HD cage mounted

HD casing mounted

Alternatives to FreeNAS

FreeNAS is by no means the only choice. There is also OpenMediaVault, NAS4Free, XPEnology, Amahi Home Server, OpenFiler and probably more. FreeNAS and NAS4Free are similar, both are based on FreeBSD and support ZFS.

ZFS on Debian

Update: After a very short time I realised that I didn't need the FreeNAS frontend much. I'm quite happy with the command line interface to ZFS. So I ditched the BSD/FreeNAS in favour of ZFS on Linux.

sudo su -  
wget http://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2~wheezy_all.deb  
dpkg -i zfsonlinux_2~wheezy_all.deb  
apt-get update  
apt-get install debian-zfs  

Updates

2016-07-02

The NAS has been running for almost a year without any problems, and ZFS is an absolute joy to use!

2016-08-30

Installed webmin, a "web-based interface for system administration for Unix". There's no (production) quality zfs addin, yet, but otherwise webmin is very nice.

2017-01-04

The NAS doesn't seem to be online anymore, and when I connect the VGA screen I see nothing. Strange. I switched off the NAS and since then it doesn't react to the power button anymore.

After taking all apart and measuring all the voltages it turns out that the +5VSB voltage of the chieftek powersupply is only 4.2V, that's way below spec. The power supply died?!

I don't have time for quarreling over questions of warranty, so I just opened the power supply to inspect further.

chieftec-fail

If you look very closely you'll see two capacitors in the middle section bulging at the top. I'm not sure what function they have, but they need to be replaced. I don't have a 1500µF cap lying around, I guess I have to go to the local electronics shop.

2017-01-08

I'm not impressed with the build quality of the Chieftek power supply, so I ordered a replacement "be quiet! SFX Power 2" 300W power supply today.

2017-01-18

The "be quiet! SFX Power 2" power supply finally arrived! After reassembling everything ...... moment of truth: It powers up, boots! All data is there. Then run a zpool scrub ....... All fine!! Nice.

2017-02-05

I've been wanting to measure the power consumption of the NAS drive and I finally got round to doing it. Result: 70W when zpool-scrubbing zfs. That's pretty much in line with the estimate. (I currently have 5 disks in the NAS, 4 for RAID and an orphaned 4TB disk. That gives about 60W.)

2021-01-22

The root disk died and no backups were made. Yeah, well done... I wasn't quite sure what to do because the OS wasn't updated in years, either, and I didn't want to corrupt the ZFS pools by blindly running zpool import on a modern Linux such as Ubuntu 20.04. As it turns out, this works just fine:

  1. Install Ubuntu 20.04, install zfsutils-linux.
  2. Run zpool import, this will list all the pools the system can find.
  3. Run zpool import -f <poolname> (the -f is required because ZFS will otherwise complain that the "pool was previously in use from another system").

The details are here. The new root disk is a 500GB Samsung EVO 860 SSD for about 60$.

2022-04-23

The C2550 motherboard died during a power surge, I believe. The ZFS is also badly corrupted.