For the past four years I had been running a Probox HD7-SU31C USB-C direct attached storage (DAS) enclosure connected to a NUC10 as a NAS solution. This JBOD only enclosure supported 10GBps and UASP and worked very well.
But it wasn’t perfect, as a I found out after a power outage and after dealing with a failing disk. The two main issues that this setup had were:
- The DAS would not automatically power on after a power outage. It required the power button to be manually pressed. This then created issues with starting other VMs on the NUC, even if they did not require access to the DAS.
- While trying do diagnosis and fix disk issues it would often need a reboot would which meant all the other VMs also being rebooted and/or offline while attempt to resolve this issues.
The solution was a move to a new NAS that run totally independent of the main NUC server. Ideally power consumption would be low and the size would be small (and preferably still fit in the existing 12U rack). It quickly becomes apparently that satisfying these requirements would be a lot easier by buying a pre-built NAS rather than trying to build one. But could you ditch the NAS OS and run you own and could you increase the included memory? Since most of these run their own OS, which I wasn’t interested in using, and tend to have a minimal amount of RAM.
The QNAP TS-464
The QNAP TS-464 looked to be an ideal candidate. The main features were:
- 4 x 3.5″ SATA HDD
- 2 x M.2 2280 NVMe (PCIe Gen3 x1)
- 2 x 2.5G Ethernet
- 1 x PCIe slot (PCIe Gen3 x2)
- 2 x USB3.2 Gen2 (10Gbps)
- 2 x USB2.0 Gen1
- 1 x HDMI (4k@60hz)
- 2 x DDR4 SO-DIMM (I found reports of 64G of RAM being used successfully)
- Intel N5105 CPU: 4-core/4-thread, 2.0Ghz-2.5Ghz, 10W TDP
The main two questions that remained were:
- Can you run your own OS?
- Can you replace the RAM and how much can you install?
Research suggested that it was possible to run your own OS. It turned out to be trivial to do so. This system has a standard AMI bios with the normal boot preferences options you would expect. So it was simple to boot Debian from USB, install to the SSD and then change the main boot device to the SSD.
There were some reports that the RAM was solder down but that seemed to be isolated to a few reports, with plenty of people reporting successfully upgrading the RAM. The QNAP TS-464 8G that arrived here from amazon had 2 x DDR4 SO-DIMM slots with a single 8G SO-DIMM fitted (A Transcend TS1GSH64V6B 8GB DDR4 2666 SO-DIMM 1Rx8 1.2V).
Replacing these was as easy as you would expected.
The final build
To the original QNAP TS-464 I added or change the following items:
- 2 x 16G DDD4 SO-DIMMs: Corsair Vengeance SODIMM 32GB (2x16GB) DDR4 3200MHz C22 Memory (CMSX32GX4M2A3200C22).
- 1 x 1TB NVMe SSD: Kingston NV2 M.2 PCIe 4.0 NVMe 1TB, Solid State Drive (SNV2S1000G)
- 2 x 12T 3.5″ HDDs: Seagate IronWolf Pro 12TB 7200RPM ST12000NT001
- 2 x older HDDs
The memory is more than I need but I always find older gear eventually gets retired for a lack of memory more than anything else, so more is better for longevity. The SSD is only a boot drive, and only connected to a PCIe Gen3 x1 lane, so I went cheap on on the SSD.
The QNAP is now in the rack replacing the old DAS with all NFS, SMB and iSCSI services moved to the NAS.
Apart from NAS duties I also run frigate (NVR) container and home assistant VM on the QNAP.
Since the original build the I have swapped out the older HDDs for 2 x 16T Seagate Ironwolf Pro’s, connected a Google Edge USB TPU (for the frigate NVR container) and connected a SkyConnect Zigbee/thread USB device (for home assistant VM).
The Edge TPU was probably not needed as it turns out that openvino using the Intel GPU in the N5105 CPU would have been fine for the number of cameras I have (The inference time was =~ 12ms for openvino vs 8.09ms for the USB Edge TPU.)