I recently built a FreeNAS ZFS RAIDZ box for my personal backup archives. I wanted something elegant and low powered with the ability to run ZFS. FreeNAS is a NAS appliance built on FreeBSD. It supports the ability to run the ZFS filesystem and can be booted off a small flash storage like USB or Compact Flash.
I selected the following components:
- 6 X Hitachi 2TB 7200rpm Desktars 3.5 " drives
- ASUS E35M1-I Mini-ITX Motherboard with an AMD dual core E-350 and 8GB of RAM.
- LIAN LI Silver Aluminum PC-Q25A Mini case
- FreeNAS-8.2.0-RELEASE-p1-x64 (r11950)
- 8GB internal Patriot USB stick as OS boot
The ASUS E35M1 is a low voltage netbook AMD Fusion CPU (same one found in the Thinkpad X120E) and supports six SATA 3 6Gb/s ports. The LIAN LI PC-Q25 case can hold up to seven 3.5" hard drives. Five of those seven drives can be hot-swappable.
Here are some pictures of my build.The fit-n-finish on the LIAN LI is pretty impressive. The machined aluminium is well made. This case was clearly designed to be a HTPC or NAS box. It fits well in my Apple - Macintosh environment. Except for the logo up front, it is one slick looking piece of gear.
The Asus motherboard has everything I needed. 6 SATA ports for 6 HDD drives! All the data drives are connected to the motherboard while an internal USB stick boots the FreeNAS OS.
It also has a passive cooling heatsink.
This is where the AMD solution shines. I could not find an Intel based Mini-ITX mobo/cpu with 6 SATA III 6Gb/s ports nor one with a passive heatsink. Moreover, none of the Atom boards officially support 8GB of RAM necessary to run ZFS. This is the perfect small form factor board for FreeNAS!
Internal USB header attaches to the motherboard and hides the USB inside the case.
Picture below depicts drives loaded up. There are five hot-swappable bays. I had to put this to real world practice by taking out drives while the OS was running and without rebooting! The backplane is pretty interesting since it uses molex connectors for power.
With 8GB of ram, I have enough to run ZFS and RAIDZ; giving me roughly 9TB useable space.
After my build, I started to notice some degraded RAIDZ errors on my 3rd disk. Disk #3 seemed fine. I zeroed out the data and booted a different OS (Linux Mint) and copied files with no integrity issues. I tried the drive in different computers and everything checked out fine (S.M.A.R.T) and other scans. However ZFS zpool was giving me checksum errors. Well, it turned out to be a case of "silent data corruption." Linux Mint and Ubuntu did not see any problems but FreeNAS was able to give me a good heads up. It turned out to be a bad SATA cable. Once replaced, everything was fine.
Running a short DD benchmark,I was getting 263-268 Megabytes per second on the internal bus. This is pretty decent considering it is a RAIDZ disk array.
[root@RAIDZ] /# dd if=/dev/zero of=/mnt/RAIDZ/test.dd bs=2048k count=10000 10000+0 records in 10000+0 records out 20971520000 bytes transferred in 74.518446 secs (281427232 bytes/sec) [root@RAIDZ] /# [root@RAIDZ] /mnt/RAIDZ# dd if=/dev/zero of=/mnt/RAIDZ/test.dd bs=2048k count=10000 10000+0 records in 10000+0 records out 20971520000 bytes transferred in 76.008326 secs (275910826 bytes/sec) [root@RAIDZ] /mnt/RAIDZ#
Through the network, I was getting 60-80 MB/s. This may be due to the Realtek 8111E gigabit controller on-board or the fact I was testing during the middle of the day with 60 other people on the network. I was hoping to get closer to Gigabit's theoretical limit of 125 MB/s so I may experiment with a dual NIC Intel card in the future..
Overall, I am very happy with this NAS build. It supports AFP, CIFs, NFS, iSCSI, Rsync and works surprisingly well. I also like the fact I have other FreeNAS boxes that easily sync to this one with just a few click of a mouse.
The only thing I wish for is a motherboard with 7-8 SATA ports so I can use a SSD as a cache accelerator drive.
The NAS even works surprisingly well serving files to my iPad using AFP, Samba or SFTP.