NAS Hardware Selection (2012)
In 2012, my current storage server (NAS) was running full, so I wanted to buy a replacement server. I now have 4(!) external disk drives connected to my main desktop, and wanted to reduce that number. Also, I now often decommission smaller size disks which would still be useful in a server. So my first requirement was a system with at least four drive bays, but preferably more.
I first considered (in order from low price to high quality) a LaCie 5big network 2, Synology DS412+, Drobo FS, or IX Systems' FreeNAS mini and QNAP TS-559 Pro II. All these systems have four or five 3.5" disk bays, and range from €300 to €750 without disks. Add about €100 for each Terabyte disk.
Two requirements prompted my to build my own solution:
- The server should run the SMB and AFP protocols, as well as allow direct playing
- Building your own solution costs about the same for the bare system, but is more powerful and is cheaper per terabyte.
So I decided to build a custom FreeBSD (or FreeNAS) system. Not only would that give flexibility, it also allows me to play with ZFS, my favourite file system.
Choice of chassis
I mostly considered Fractal Design and Li Lian chassis, which offer a good wide choice in products. My first decision is what size I wanted to case to be. There are a few cases of less than 10 litre which allow 4 disks, like the [Lian Li PC-Q12]. However, that would limit myself to 2.5" disk bays. I wanted at least six 3.5" bays, and it was possible to achieve this in a mini-tower chassis of 20-25 litre. For comparison, a regular tower PC typically is 30-35 litre in size. Good choices in this size where the Fractal Design Array R2 NAS Chassis (with six 3.5" and one 2.5" disk bays) and the Lian Li PC-Q25 (with seven 3.5" and one 2.5" disk bays, where five of the 3.5" bays are hot swappable). Both these cases support mini-ITX and mini-DTX motherboard (the difference is that a mini-ITX has one expansion slot, and the mini-DTX has two expansion slots).
I picked the Lian Li PC-Q25 after reading a few favourable reviews. For those interested: the specification of the disk bays is somewhat confusing. The PC-Q25 can support eight disks at most. Five of these are in a hot swappable disk bay, the other three on a fixed metal plated. The middle location on the metal plate must be a 2.5" disk; the other locations can be either 2.5" or 3.5" disks.
Choice of CPU
My biggest hurdle was the choice between a low power CPU soldered on the motherboard or a regular pluggable CPU with some more power. CPU World certainly helped me compare the different CPUs. I naïvely thought that "a Atom CPU would do", not realising that there are many types of Atom CPUs, AMD alternatives, and also other juicy CPUs that only consume 30-35 Watt of power.
For starters, I looked up the benchmark of CPUs that I used previously. My 3-year old MacBook Pro benchmarks at 1501, while a consumer laptop my wife just bought now benchmarks at 2668. Those are the high-ends for me. The low end is my Soekris net6501 router which also runs FreeBSD. While it's load is near-zero for the switching routing and VPN it does now, it is sluggish when I want to compile a new tool. So that's my low-end. A colleague with his own NAS had a Sempron 140 at first, but recently upgrade to a Athlon II x2 250e so he could use it as a more spicy server.
|Vendor||Type||Frequency||#Core (Threads)||L2+L3 cache||TPD||socket||Benchmark|
|Intel||Core 2 Duo E6600||2.4 GHz||2||4.0 MiB||65 W||LGA 775||1501|
|AMD||A8-3510MX||1.8 GHz||4||4.0 MiB||45 W||FS1||2668|
|Intel||Atom E640||1.0 GHz||1 (2)||0.5 MiB||3 W||BGA 1466 (onboard)||250|
|AMD||Sempron 140||2.7 GHz||1||1.0 MiB||45 W||AM3||752|
|AMD||Athlon II x2 250e||3.0 GHz||2||2.0 MiB||45 W||AM3||1680|
|AMD||G-T56N||1.6 GHz||2||1.0 MiB||18 W||BGA 413 (onboard)||721|
|AMD||E350||1.6 GHz||2||1.0 MiB||18 W||BGA 413 (onboard)||726|
|AMD||E450 APU||1.7 GHz||2||1.0 MiB||18 W||BGA 413 (onboard)||740|
|AMD||Fusion C-60||1.0 GHz||2||1.0 MiB||9 W||BGA 413 (onboard)||563|
|Intel||Atom D525||1.8 GHz||2 (4)||1.0 MiB||13 W||BGA 559 (onboard)||714|
|Intel||Atom N550||1.5 GHz||2 (4)||1.0 MiB||9 W||BGA 559 (onboard)||568|
|Intel||Atom N2800||1.9 GHz||2 (4)||1.0 MiB||7 W||BGA 559 (onboard)||723|
|Intel||Atom D2700||2.1 GHz||2 (4)||1.0 MiB||10 W||BGA 559 (onboard)||818|
|Intel||Celeron G530T||2.0 GHz||2||2.5 MiB||35 W||LGA 1155||1800|
|Intel||Pentium G620T||2.2 GHz||2||3.5 MiB||35 W||LGA 1155||2261|
|Intel||Pentium G630T||2.3 GHz||2||3.5 MiB||35 W||LGA 1155||2344|
|Intel||Pentium G640T||2.4 GHz||2||3.5 MiB||35 W||LGA 1155||2400|
|Intel||i3-2100T||2.5 GHz||2 (4)||3.5 MiB||35 W||LGA 1155||3290|
|Intel||i3-2120T||2.6 GHz||2 (4)||3.5 MiB||35 W||LGA 1155||3088|
|Intel||i5-2390T||2.7 GHz||2 (4)||3.5 MiB||35 W||LGA 1155||4004|
I was extremely impressed with the benchmark of the Intel Atom D2700 compared to its power usage. Since Atoms, like AMD E350s are only used as soldered onboard a motherboard, its availability is limited by the motherboards available. While making my purchase, no suitable motherboard was available with a Atom N2800 or D2700. I briefly considered a low power Intel core i3 variant, like the i3-2100T. After some consideration (including the $200 price increase for motherboard, cooling and separate CPU), I decided that my NAS wouldn't need that power, and decided that any low-power CPU with benchmark over 700 would do. That's comparable to an AMD Sempron, and good enough for basic file I/O and an occasional compile of a new kernel.
Choice of Motherboard
Mini-ITX and the less common mini-DTX motherboard are pretty small, so it's important to choose between the right expansion options. The main requirement for my motherboard was clearly the number of SATA ports. I needed as much as eight(!) SATA ports, and no motherboard had this many available. It was clear that I had to revert to an expansion slot. Some (but not all) Jetway motherboards could use a SATA daughter board, so I wouldn't have to use the regular expansion slot. Unfortunately, the Jetways that would support that SATA daughter board all had an old PCI instead of a PCI-express expansion slot, so that turned out to be a pig in a poke. I decided to go with at least one PCI-express slot and use that for a SATA adapter. Nearly all modern CPUs have an internal graphics chips, so I didn't need a separate graphics card (it's a server after all), so I needed just one PCI-express slot. I could use mini-ITX or mini-DTX motherboard. If I had needed a second expansion bay, I would have needed a mini-DTX motherboard (which are harder to get by).