Introduction and Testing Methodology

Small businesses and power users in a home setting have begun to face challenges with managing large amounts of data. These are generated either as part of day-to-day business operations or backing up of multimedia files from phones / tablets / TV recordings etc. One option is to use a dedicated COTS (commercial off-the-shelf) NAS from a vendor such as Synology or QNAP. Sometimes, it is also necessary to have a file server that is much more flexible with respect to programs that can be run on it. This is where storage servers based on Microsoft's offerings or even units based on Linux distributions such as Red Hat and Ubuntu come into play. These servers can either be bought as an appliance or assembled in a DIY fashion. Today, we will be looking at a system based on the latter approach.

A DIY approach involves selection of an appropriate motherboard and a chassis to place it in. Depending on the requirements and motherboard characteristics, one can opt for ECC or ordinary RAM. The platform choice and the number of drives would dictate the PSU capacity. The file server being discussed today uses the ASRock C2750D4I mini-ITX motherboard in a U-NAS NSC 800 chassis. 8 GB of ECC DRAM and a 400 W PSU round up the barebones components. The table below lists the components of the system.

ASRock C2750D4I + U-NAS NSC-800
Form Factor 8-bay mini-tower / mITX motherboard
Platform Intel Avoton C2750
CPU Configuration 8C/8T Silvermont x86 Cores
4 MB L2, 20W TDP
2.4 GHz (Turbo: 2.6 GHz)
SoC SATA Ports 2x SATA III (for two hot-swap bays)
4x SATA II (for one OS drive)
Additional SATA Ports Marvell SE9172 (2x) (for two hot-swap bays)
Marvell SE9230 (4x) (for four hot-swap bays)
I/O Ports 3x USB 2.0
1x D-Sub
2x RJ-45 GbE LAN
1x COM1 Serial Port
Expansion Slots 1x PCIe 2.0 x8 (Unused)
Memory 2x 4GB DDR3-1333 ECC UDIMM
Samsung M391B5273DH0-YH9
Data Drives 8x OCZ Vector 128 GB
Chassis Dimensions 316mm x 254mm x 180mm
Power Supply 400W Internal PSU
Diskless Price (when built) USD 845

Evaluation Methodology

A file server can be used for multiple purposes, unlike a dedicated NAS. Evaluating a file server with our standard NAS testing methodology wouldn't do justice to the eventual use-cases and would tell only a part of the story to the reader. Hence, we adopt a hybrid approach in which the evaluation is divided into two parts - one, as a standalone computing system and another as a storage device on a network.

In order to get an idea of the performance of the file server as a standalone computing system, we boot up the unit with a USB key containing a Ubuntu-on-the-go installation. The drives in the bays are configured in a mdadm RAID-5 array. Selected benchmarks from the Phoronix Test Suite (i.e, those benchmarks relevant to the usage of a system as a file server) are processed after ensuring that any test utilizing local storage (disk benchmarks, in particular) point to the mdadm RAID-5 array. Usage of the Phoronix Test Suite allows readers to have comparison points for the file server against multiple systems (even those that haven't been benchmarked by us).

As a storage device on a network, there are multiple ways to determine the performance. One option would be to repeat all our NAS benchmarks on the system, but that would be take too much time to process for a given system that we are already testing as a standalone computer. On the other hand, it is also important to look beyond numbers from artificial benchmarks and see how a system performs in terms of business metrics. SPEC SFS 2014 comes to our help here. The benchmark tool is best used for evaluation of SANs. However, it also helps us here to see the effectiveness of the file server as a storage node in a network. The SPEC SFS 2014 has been developed by the IOZone folks, and covers evaluation of the filer in specific application scenarios like the number of virtual machines that can be run off the filer, number of simultaneous databases, number of video streams that can be simultaneously recorded and the number of simultaneous software builds that can be processed.

Our SPEC SFS 2014 setup consists of a SMB share on the file server under test connected over an Ethernet network to our NAS evaluation testbed outlined below. Further details about the SPEC SFS 2014 workloads will be provided in the appropriate section.

AnandTech NAS Testbed Configuration
Motherboard Asus Z9PE-D8 WS Dual LGA2011 SSI-EEB
CPU 2 x Intel Xeon E5-2630L
Coolers 2 x Dynatron R17
Memory G.Skill RipjawsZ F3-12800CL10Q2-64GBZL (8x8GB) CAS 10-10-10-30
OS Drive OCZ Technology Vertex 4 128GB
Secondary Drive OCZ Technology Vertex 4 128GB
Tertiary Drive OCZ Z-Drive R4 CM88 (1.6TB PCIe SSD)
Other Drives 12 x OCZ Technology Vertex 4 64GB (Offline in the Host OS)
Network Cards 6 x Intel ESA I-340 Quad-GbE Port Network Adapter
Chassis SilverStoneTek Raven RV03
PSU SilverStoneTek Strider Plus Gold Evolution 850W
OS Windows Server 2008 R2
Network Switch Netgear ProSafe GSM7352S-200

The above testbed runs 10 Windows 7 VMs simultaneously, each with a dedicated 1 Gbps network interface. This simulates a real-life workload of up to 10 clients for the NAS being evaluated. All the VMs connect to the network switch to which the NAS is also connected (with link aggregation, as applicable). The VMs generate the NAS traffic for performance evaluation.

Thank You!

We thank the following companies for helping us out with our NAS testbed:

Setup Impressions and Platform Analysis
Comments Locked


View All Comments

  • nevenstien - Monday, August 10, 2015 - link

    An excellent article on a cost effective File Server/NAS DIY build with a good choice of hardware. After struggling with the dedicated NAS vs. File server question for over a year I decided on FreeNAS using jails for whatever service I wanted to run. I was not a FreeNAS fan before the latest versions which I found very opaque and confused. My experience in the past with how painful hardware failures can be on storage systems even at a PC level convinced me the ZFS file system is the file system of choice for storage systems. The portability of the file system trumps everything else in my opinion. Whether you install FreeNAS or ZFS based Linux the ZFS file system should be the one that is used. When a disk fails its easy and when the hardware fails it’s just a matter of moving the disks to hardware that is not vendor dependent which means basically any hardware with enough storage ports. The software packages of the commercial NAS vendors is great but the main priority for me is the data integrity, reliability portability than the other services like serving video, web hosting or personal cloud services.
  • tchief - Monday, August 10, 2015 - link

    Synology uses mdadm for their arrays along with ext4 for the filesystem. It's quite simple to move the drives to any hardware that runs linux and remount and recover the array.
  • ZeDestructor - Monday, August 10, 2015 - link

    If you virtualize, even the "hardware" becomes portable :)
  • xicaque - Monday, November 23, 2015 - link

    are you pretty good with Freenas? I am not a programmer and there are things that the freenas manual does not address in a clearer way to me. I have a few questions that I like to ask offline. Thanks.
  • thewishy - Tuesday, December 1, 2015 - link

    Agreed, after data corrupting following a disk failure on my synology, it's either a FS with checksum or go home.

    Based on those requirements, it's ZFS or BRTFS. ZFS disk expansion isn't ideal, but I can live with it. BRTFS is "getting there" for RAID5/6, but it's not there yet.

    The choice of board for the cost comparison is about 2.5x the price of the CPU (Skylake pentium) and Motherboard (B150) I decided on. Add a PCI-E SATA card and life is good.
    Granted, it doesn't support ECC, but nor do a lot of mid-range COTS NAS units.
  • Navvie - Monday, August 10, 2015 - link

    Any NAS or Fileserver which isn't using ZFS is a non-starter for me. Likewise a review of such a system which doesn't include some ZFS numbers is of little value.

    I appreciate ZFS is 'new' but people not using it are missing a trick and AnandTech not covering it are doing a disservice to their readers.

    All IMO of course.
  • tchief - Monday, August 10, 2015 - link

    Until you can expand a vdev without having to double the drive count, ZFS is a non starter for many NAS appliance users.
  • extide - Monday, August 10, 2015 - link

    You can ... you can add drives one at a time if you really want (although I wouldn't suggest doing that...)
  • jb510 - Monday, August 10, 2015 - link

    Or one could use BtrFS. Which could stand for better pool resizing (it doesn't, that's just a joke people).

    Check out RockStor, it's no where near as mature as FreeNAS but it's catching up fast. Personally I'd much rather deal with Limux and docker containers than BSD and jails.
  • DanNeely - Monday, August 10, 2015 - link

    If there're major gotchas involved it's a major regression compared to other alternatives out there.

    I'm currently running WHS2011 + StableBit DrivePool. I initially setup with 2x 3GB drives in mirrored storage (raid 1ish equivalent). About a month ago, my array was almost completely full. Not wanting to spend more than I had to at this point (I intend to have a replacement running by December so I can run in parallel for a few months before WHS is EOL) I slapped in an old 1.5GB drive into the server. After adding to the array and rebalancing it I had an extra 750GB of mirrored storage available; it's not a ton but should be plenty to keep the server going until I stand it down. I don't want to lose that level of flexibility in being able to add un-matched drives into my array at need with whatever I use to replace my current setup with.

    If the gotcha is that by adding a single drive I end up with an array that's effectively a 2 drive not-raid1 not-raid0ed with a single drive, it'd be a larger regression in a feature I know I've needed than I'm confortable just to gain a bunch of improvements for what amount to what-if scenarios I've never encountered yet.

Log in

Don't have an account? Sign up now