The platform

Building the hardware for the main server/NAS.

Most of us have something on our task list we’re avoiding, or a project we’ve been putting off.

I had been putting off, for far too long I guess, upgrading my old and slow NAS that I bought without doing enough research. It’s that silver box to the right of the laptops in the picture. And also I was a bit cheap I guess, buying too small hard drives which I had to upgrade some time later…

But enough about the old stuff, what’s interesting is the new and fun stuff. For a long time I was thinking it had to be either a Qnap or a Synology. But I also started considering other alternatives, like building something of my own…

  • Buying a NAS chassis, and new disks covering my long term needs. Likely a Qnap or Synology discstation
  • Build something from an old PC, and reuse the old drives.
  • Build a completely new NAS, from scratch, and possibly reuse the old drives.

Somewhere along the line I found out about TrueNAS, a free solution that you could install on almost any hardware, or even buy preinstalled like any other NAS. About the same time I also stumbled on another interesting topic that I felt was an enticing alternative and might serve as a neat solution increasing the value of the NAS/Server… What I’m talking about is virtualization, containerization, docker, kubernetes… I already had several applications, servers and tools running on a bunch of different hardware, ranging from dedicated smart home appliance to Raspberry Pi’s and laptops. What if I could move some or all of these to one single platform…

After a bit of research and planning I ended up choosing Proxmox as the virtualization “platform” and selected an AMD processor with plenty of cores to do the grunt work. A decent amount of memory to be shared among whatever number of virtual machines I could end up running.

At same time as the decision was made to build the server, I also decided to upgrade or update the “infrastructure”, including cabling and housing. This meant that it would make sense to build the server in a rack mounted chassi.

My old home made wood cabinet and things spread out over 6 shelves
ASUS B550 and the Ryzen 7 CPU

The HW I eventually ended up getting was:
ASUS B550-F Strix Gaming motherboard
AMD Ryzen 7 3700X – 16 Cores
32GB Ripjaw RAM
Corsair Force MP510B SSD 480GB M.2 NVMe boot disk
Corsair CX750F PSU
A fanless ASUS GT750 GPU

And all of it to be installed in an Intertech 3U 19″ rack mount chassi

I also ordered an Inter-Tech Argus ST-724 NIC with 4 Intel i350 chipset NICs.

 

So I was all set to start building, or so I thought. Not sure I could have realized the challenges beforehand but the first issue I had was when i discovered that the PSU was covering one of the PCI-slots. In addition, the PCI-1 slots on the ASUS mobo were “closed” meaning that you could not put anything that didn’t have only a PCI-1 connector. My first solution was to “open” up the connector using my dremel, which obviously wasn’t the best of ideas 🙁
I guess it could have worked had I been a bit more careful but in the end I destroyed that PCI slot…  As I wanted more disks than the Motherboard had SATA connectors for, I ended up adding an LSI Controller with four more connections. And in order to connect it, I had to get an angled riser cable that could fit the PCI slot underneath the PSU and connect the LSI card ending up being taped to the chassi next to the PSU.

A tight fit, all things in place with LSI controller stuck on the side of the case

For disks I ended up reusing the 2TB HDD’s I had in the old NAS and added another 2 for a total of 12 TB raw storage. I also discovered my old 1TB disks from when I first bought the NAS, so I stuck them cabinet as well,.

I now have a total of 8 HDD’s totalling 8 + 1 + 1TB of storage. The six 2TB disks are configured with 2 disk redundancy. In addition I connected a 2TB USB drive which had all my ripped CD’s on it (FLAC format) and another 4TB USB drive that came in handy when moving things from the old NAS and reformatting the disks for TrueNAS. 

A server in a rack mount isn’t perhaps the most visually appealing thing, but it at least I know there is a cool LED fan on top of the CPU in there… Opening up the two front doors reveal nothing but the on/off and reset switch and the white dust filters I stuck there as extra protection. The doors themselves have a dust filter but it can’t hurt with some extra protection. The fans are Corsair 60mm fans that I simply attached using the silicone mounts that came with some Noctua fans. The fit perfectly in front of the disks and serve as the main air intake supporting the two 40mm fans that extract air out the back of the chassi. 

History graphs showing temperatures from Network card, GPU and CPU Core.

To monitor the temperature and tons of other stuff in the Proxmox system, I simply installed Netdata by running the command:  
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
The wall mounted cabinet has two Noctua fans at the top providing quite decent airflow into it and, giving the server enough cool air to work with. I have not yet seen the CPU temperature in the Proxmox server rise above 61 degrees under load. Since the ambient temperature in the room  fluctuates slightly, depending on outdoor temperature, the server temperatures do also follow the same pattern. In the graph one can see the low section on the left, as the family was on vacation and the server idling, and then the rapid rise as soon as we came home again.