NAS Hardware Selection (2012)
Requirements
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:
- Services
- The server should run the SMB and AFP protocols, as well as allow direct playing
- Price
- 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).