It’s been about 18 Months since I build a NAS for my own use and over time, my requirements have changed drastically. For one, I went with Windows instead of OpenBSD because I wanted to run some Windows-only software, and because NTFS works for backing up other NTFS Volumes, like my Home PCs. I’ve been using Backup4All Pro to backup the server to another external storage (a 3 TB Apple Time Capsule), including AES-256 Encryption.
There were 3 major issues with the hardware in my existing NAS:
- The case only fits 3 Hard Drives (2x 2.5″ and 1x 3.5″), and I need some more space
- The CPU struggles with compression and encryption
- The RAM is not ECC
Number 1 would’ve been an easy fix, just get a different case, but – despite varying opinions – I want ECC RAM in my file server, and that required a new mainboard & CPU.
ECC RAM in the Intel world requires a workstation chipset (like the C232 or C236) and ECC supporting CPU, which would be a Pentium or Xeon. The Core i3/i5/i7 CPUs do not support ECC even though the lowly Pentium does, presumably to not cannibalize the Xeon E3 market. After all, the only real difference between a Xeon E3 and a Core i7 is ECC RAM support.
After looking around and pricing a CPU + Mainboard + ECC RAM Combo, I stumbled upon the Dell PowerEdge T30 tower server, which at least right now is on sale for $199 for the Pentium G4400/4GB ECC and $349 for the Xeon E3-1225 v5/8 GB non-ECC version, with coupon codes 199T30 and 349T30 (Update: These seem expired now). $199 definitely beats anything I can price together for a Case + Board + CPU + ECC RAM, so I ended up buying one as my new file server.
- Intel Pentium G4400 CPU (2x 3.3 GHz Skylake, 3 MB Cache, 54W TDP, No Hyperthreading)
- 1x 4 GB DDR4-2133 ECC RAM – there are 4 slots, supporting a maximum of 64 GB. Dual-Channel, so with only 1 DIMM it’s a bit of a waste.
- 1 TB 7200rpm SATA Hard Disk (mine is a Toshiba DT01ACA100, manufactured October 2016, 512 emulated sectors, 32 MB Cache)
- Intel C236 Chipset Main Board
- Front: 2x USB 3.0, 2x USB 2.0, Sound
- Back: 4x USB 3.0, Sound, HDMI, 2x DisplayPort, PS/2 Mouse and Keyboard, and Gigabit Intel I219-LM Ethernet
- Slots: 1x PCI Express 3.0 x16, 2x PCI Express 3.0 x4 Slots, and 1 old-school 32-Bit 33 MHz PCI slot
- Undocumented M.2 2280 SSD Slot – requires PCI Express M.2 SSD, can’t use SATA/AHCI.
- 290 Watt Power Supply
- No Remote Management, at least on the Pentium (no DRAC either), although the Xeon CPU would support Intel AMT 11.0
- No Operating System
I ended up buying a few extra things:
- Kingston KTD-PE421E/4G – 4 GB DDR4-2133 ECC RAM, intended for the PowerEdge T30 (Kingston’s compatibility list) – $45
- IO Crest 2 Port SATA III PCI-Express x1 Card (SY-PEX40039) with ASM1061 chipset – to add 2 more SATA Ports. No fancy RAID Controller needed here. – $15
- SATA Power Splitter Cable – power those two extra SATA drives since I don’t have the official Dell cable. – $5
- Samsung PM951 128 GB NVMe SSD – after discovering the undocumented M.2 SSD Slot. – $75
So that’s an extra $140 for a $199 server, but I couldn’t have built anything better for $340.
The server supports up to 6 hard drives, with 4x 3.5″ and 2x 2.5″ slots. Instead of 2x 2.5″ drives, a slim laptop optical drive can be installed. However, there are only 4 SATA ports on the mainboard (Intel RST, supports RAID), and by default only power cables for 4 drives as well (2 for the bottom, 2 for the top). That’s why I ended up buying a cheap 2-Port SATA controller and a SATA power splitter cable.
If you want to run 6 drives, consider the official Dell cable:
One interesting tidbit is that the hard drive is using 512e sectors, that means that even though internally the drive uses 4K Advanced Format, the system actually sees a drive with old-school 512 Byte Sectors. This can help with compatibility issues, because some systems (e.g., VMWare ESXi/vSphere) don’t support 4K Sector drives.
Since Dell doesn’t specify the type of drive you get, there might be other drives as well, but I think that 512e sectors makes sense for a server that’s without an operating system.
Since I don’t run VMWare and since my other data drives are 4K Sectors, the OS Drive being 512e doesn’t matter to me.
The M.2 Slot
There is an undocumented M.2 Slot on the mainboard. Actually, there are two, one in the rear of the case that’s not actually provisioned (no slot on the board, but the soldering points are there) and one M.2 Slot in the bottom right under the RAMs, that is actually provisioned and working – until BIOS 1.0.3 (and 1.0.5 as well).
I get 900 MB/s reading from the 128 GB Samsung PM951, and it’s possible to boot off it. at least until BIOS 1.0.2, which is what I’m running. I reached out to Dell to ask them to reconsider disabling the slot – it’s undocumented, but it works. I don’t know if the comparatively low speed is because the PM951 is slow or if the M.2 Slot is only connected to 2 PCIe Lanes, but I’d take a 2-Lane M.2 slot over no slot.
Update July 2017: BIOS 1.0.5 fixed the Intel Management Engine remote exploit, which you absolutely must have if you have a Xeon. But that also means no M.2 Slot, and it’s highly unlikely that Dell will enable it back.
Drive Setup and Backup Strategy
- 1 TB Toshiba DT01ACA100 – Intel RST – OS Drive, Windows Server 2012 R2 Standard
- 2x 1 TB 2.5″ WD Red WD10JFCX – RAID 1 on Intel RST – Important Data like documents, photos and emails – stuff I can’t get back
- 4 TB WD Red WD40EFRX – Intel RST – Big Stuff like Videos, Installers and just a giant grabbag of files that I can get back or afford to lose
- 3 TB WD Red WD30EFRX – ASM1061 – Backups from my local machines
- 128 GB Samsung PM961 – M.2 Slot – Not in use yet, didn’t want to waste it on the OS, but keep if I need super-fast storage (e.g., upgrade to 10 GBit Network and use as iSCSI Target)
I haven’t set it all up yet, but the idea is to have a multi-stage backup. First off, local machines on my network just store files on the server or regularly backup onto the 3 TB drives using Windows Backup. For the data on the Server, I use Backup4All Pro to create an AES-encrypted backup to an external drive. For the longest time, this used to be an Apple Time Capsule, but that thing only supports SMB1, which is horribly broken and insecure, so that’s no longer an option. Since I still have my old server (it’s becoming a service box since I want to keep this file server here as clean as possible), I think I’m going to move the drive from the Time Capsule into it.
That gives me several levels of protection locally, but I’m also planning to archive to Amazon Glacier. Backup4All supports backing up to Amazon S3, and it’s possible to have S3 archive to Glacier, which makes this a good option. If you set the “Transition to Glacier” value to 0, it immediately goes to Glacier and no S3 storage fees apply – only transfer fees.
Once the entire Backup system is up and running, I’ll create a separate post.
Now, there are some thing to be aware of. First off, the 290W power supply has exactly two power cables, which both go into the mainboard. From the mainboard, there are exactly 4 SATA Power Connectors (unless you order the SATA Power Extension for an extra $20), which is exactly what you need for the 4 SATA ports on the mainboard.
Extensibility is really limited: If you were thinking of adding a powerful GPU, you won’t have the 6 pin connector to drive it. If you want to add more hard drives (the case holds 4x 3.5″ and 2x 2.5″ drives), you’ll need either Dell’s SATA Power Extension (which they don’t seem to sell separately) or a third party one that hopefully doesn’t catch fire.
The C236 chipset supports Kaby Lake, so it should be possible to e.g., upgrade to a Pentium G4600 and get HyperThreading, or to a Skylake-based or Kaby Lake-based Xeon E3, assuming Dell doesn’t have any weird BIOS limits in place.
Memory-wise, there are 4 DIMM slots in 2 Channels, which currently mean up to 64 GB DDR4 RAM.
It’s an entry-level server. It was reasonably priced, has ECC RAM, is really quiet, and does what I need. I like it.