This one is perhaps more for the other nerds following this blog! I try not to post too many technical things on here because it’s really boring to most people but I’m quite proud of this one so I thought I’d share.
This is a personal project I worked on over Winter 2019, a NAS server which lives on it’s own domain so it can be accessed from anywhere on the planet with an internet connection.
The server runs Nextcloud on Fedora Server and immediately received an A+ security rating from the Nextcloud team’s security scan when I put it online. I must be getting good at this computer lark!
The regular maintenance tasks such as backups, drive health checks, operating system package updates etc are automated, so it can just sit in a corner doing its thing until the dust filters need a wipe or it sends me an email about anything it needs help with. This automation proved its self extra helpful when it alerted me that one of the hard drives had failed a SMART test so that I could remove it, replace it, and restore the RAID array before any damage was done to the data on the server and with no downtime.
The Specs
Case: SilverStone DS380
Note: Only 7 of the front hot-swappable drive bays are available due to the RAID card taking up space for one of the bays. Regardless of this, it’s still a nice little case! With some careful planning, you can make a really neat job of cable management still, but I have saw some people make a real mess of it with this case. My advice to anyone building something similar is to take your time with it, because good airflow is incredibly important in a small case like this with so many drives running.
Motherboard:
Asus P10S-I
Asus ASMB8-iKVM IPMI management upgrade
Note: There is no internal USB 3 posts other than a USB 3 type A female connection, which means the front USB 3 ports are disconnected in this build. Adapters are available, but I left this out because I didn’t need the front ports and the adapter would have taken up valuable space inside the case.
RAM: 32GB DDR4 ECC (2 x Kingston KVR24E17D8/16)
Note: In retrospect, this is way too much RAM, even when being very generous for Redis. This may come in handy in future still if the server runs VMs. 8GB of ram would have been easily sufficient enough for this setup.
The RAM is ECC memory which can detect and correct the most common kinds of internal data corruption. This is very important for a server in my opinion, because you will want to reduce the risk of data becoming corrupted if at all possible.
Storage:
Asus PIKE II 3108-8I/16PD SAS card
3 x Mini-SAS cables
2TB SSD (4 x Crucial MX500 500GB)
56TB HDD (7 x WD Red Pro WD8003FFBX 8TB)
Note: The storage is configured using LUKS encrypted RAID 5 arrays: The SSDs host the OS, software and databases etc, the hard drives store the bulk of the data. The Boot and EFI partitions are also in an array so that if an SSD fails, the system can still boot in order to restore the array with a replacement SSD more easily and with minimum downtime because the case used doesn’t allow for hotswapping the 2.5″ drive bays.
I chose to use enterprise grade NAS drives rather than regular ones because I’m planning on using this NAS server for at least a decade and need it to be reliable. The advantage of going for the Red Pro drives rather than the regular Red drives is the 5-year limited warranty with Western Digital and 7200RPM spindle speed instead of 5400RPM.
Cooling:
Noctua NH-L9x65 CPU cooler
3 x Noctua NF-F12 PWM Case fans
Note: I chose to replace the fans that come with the case with higher quality and quieter ones, although I should note that the fans that did come with the case certainly weren’t bad. Because I knew that this server would have to cool so many drives and run for at least a decade, I didn’t want to take any chances. “A stitch in time saves nine” was an expression a lot of the decisions on this build were made on.
PSU: 600w Corsair SF600 Platinum
Note: This PSU is far more powerful than required in order to keep noise to a minimum. The fan doesn’t kick in on this PSU unless it’s under enough load, which means it runs completely silently.
UPS: 1400VA APC BX1400UI
Note: The server is configured so that if the battery runs too low during a power outage it will safely shutdown. The UPS also tests its self occasionally to be sure that it’s healthy.
A look inside
I regret having only took a single mobile phone picture of this build, but here’s a look inside once the build was finished: