Welcome to the party

Today more and more people have a small server at home. Some small servers are bigger than others, but generally NAS are quite famous, especially as people become more and more aware of how their data can be (mis)used.

And of course I also joined the party already some decades ago and changed hardware regularly. The last major change has been in 2019 to an oldish (already at that time) Intel socket 1155 mainboard and built everything around it.

Price sensitive buying

I always have liked to go for the biggest-bang-for-the-buck buys. Of course this is also valid when it comes to IT hardware. Therefore I started watching for good prices as soon as I decided I want to do an upgrade.

I decided for a platform (AM4 in this case) and started looking for a good price for any Mini-ITX board that fits my needs. I watched ebay, the outlet of several German hardware shops and further sources.

But let’s start from the beginning.

What the current situation is

Current situation

Currently my NAS is attached to an UPS, together with my FritzBox router. This combination draws around 80W from the wall, which seems too high to me. Additionally my current setup has no graphics card in any way, which means troubleshooting is a huge hustle every time. Performance was always more than enough, but the RAM is maxed out and sometimes this limits the usage. Currently the whole system has 8 SATA3 ports from the RAID controller, 2 SATA3 ports from the mainboard and 4 SATA2 ports also from the mainboard. I could loose 2 SATA ports during the upgrade, which would not bother me. Mainboards (at least in consumer area) with more than 4 SATA ports are quite rare. The current system disk also is extremely slow and very old, although the size is not a challenge (I moved the docker directory off of it).

Old NAS components

Currently my NAS consist of the following components:

Component typeComponent NameShould be updated?
CaseSilverstone DS380No
MainboardAsus P8H77-IYes
Power Supplybe quiet! SFX Power 2 400WNo
CPUIntel(R) Xeon(R) CPU E3-1230 V2Yes
RAM16 GB DDR3 RAMYes
RAID CardIBM ServeRaid M1015No
System DiskSanDisk SDSSDP064G 64GBYes
HDDsCurrently 7 mixed disksNo
SSDs2x 480GB running in RAIDNo
System FansArctic P12 PWM PSTNo
CPU FanXilence I404TYes

Current NAS performance

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2022-08-20                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Mo 19. Sep 22:15:03 CEST 2022

Basic System Information:
---------------------------------
Uptime     : 4 days, 11 hours, 55 minutes
Processor  : Intel(R) Xeon(R) CPU E3-1230 V2 @ 3.30GHz
CPU cores  : 8 @ 1711.840 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 15.6 GiB
Swap       : 977.0 MiB
Disk       : 27.4 TiB
Distro     : Debian GNU/Linux 11 (bullseye)
Kernel     : 5.18.0-0.deb11.4-amd64

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
------   | ---            ----  | ----           ----
Read       | 1.97 MB/s      (494) | 11.52 MB/s     (180)
Write      | 2.00 MB/s      (500) | 12.07 MB/s     (188)
Total      | 3.97 MB/s      (994) | 23.60 MB/s     (368)
        |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
------   | ---            ----  | ----           ----
Read       | 44.39 MB/s      (86) | 47.42 MB/s      (46)
Write      | 46.62 MB/s      (91) | 50.08 MB/s      (48)
Total      | 91.02 MB/s     (177) | 97.50 MB/s      (94)

Geekbench 5 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 740
Multi Core      | 2883
Full Test       | https://browser.geekbench.com/v5/cpu/17401599

What the plan is (or has been)

The components I would were quite clear: Mainboard, CPU, RAM, FAN. Still each components should be thought of and looked for, if a cheap buy could be found.

Mainboard

As mentioned before I wanted to get a good-value mainboard with AM4 socket, best would be a more modern chipset. As for me the mainboard is the foundation for all following steps, I needed to wait for a good deal to plan out the rest.

Then there was the day: I got the Biostar B450NH 6.0 for 71,89€ incl. shipping, brand new! Reviews were quite good, CPU support is a fit and also the age of the chipset was okay. Plus it has 4 SATA3 ports on it and 1 NVMe-port, which I originally did not plan to use in the first place, as I have some new SSDs laying around. In the end things went differently!

CPU

I am pinned down to AMD AM4 now. As I need the PCI-Express port for the RAID controller, I decided to go for a CPU with an integrated graphics card.

Why? First of all for debugging. Dismantling the whole case, unplugging the RAID controller to plug in a graphics card always annoyed me as hell (and Mini-ITX cases are always really tight). Furthermore I also want to enable transcoding in my jellyfin, which currently is nearly impossible, because there is no graphics card. Transcoding a 4K stream is a huge challenge.

As energy efficiency is one of the main reasons for the upgrade I decided to go for the latest generation (Zen 3) of AMDs processor. I checked the PRO CPUs (which allow the usage of ECC-RAM), but they were too expensive for my scenario.

Remaining CPUs were the 5600G and 5700G. This was a hard decision. Of course I do love more cores and performance as hell, even more when the difference in price is just around 40€. But in the end I never hard performance issues with the old CPU (4 Cores, 8 Threads, ignoring the GHz right now), why should I get there in the near future with 6 cores, 12 threads and a CPU that is 10 years younger? And even if that would become the case, I am quite sure I can get a used 5700G CPU some where.

CPU Fan

As the NAS is in a room, where noise does not bother anybody I decided to go for the budget variant: Use the boxed fan. Quite easy and cheap as it does make a big difference in price between boxed and tray CPUs.

RAM

Currently (April of 2023) RAM is cheap as hell. Therefore I decided in the first throw to buy the maximum possible, 64GB DDR4 with low latencies and 3200MHz clock. Period.

NVMe

As most modern Mainboards have at least one slot for PCIexpress NVMe, I also planned budget for one of these. 512GB should be enough. Currently the OS only needs around 16GB, excluding docker, as I moved the docker data folder to the RAID1 SSDs. In the new NAS I want to bring them back to the OS NVMe.

Summary

Then I started to plan out the missing pieces and the budget:

Component typeComponent NamePlanned Price
MainboardBiostar B450NH 6.0100€
CPUAMD Ryzen 5 5600G117,–€
RAM64 GB125,–€
FANBoxedN/A
NVMe512 GB30,–€
Sum-372,–€

272,–€ all together (including shipping) seems like a plan. Now it is about time to hunt!

Reality

During the hunt things changed. As the mainboard has been chosen first (as described above), I will skip this here.

CPU

I kept an eye on the prices for new AMD Ryzen 5 5600G for several weeks. And it went as low as 109,–€ during that time. But I have been out of country for some weeks I could not order it directly and at the time I returned home, the prices were back at around 125,–€. So I had a look for used CPUs and got an offer for 90€ including shipping for a one year old 5600G. Taking in the risk I decided to go for it. It took some time to arrive but everything has been with it (including the fan and the stickers). Some pins were slightly bend, but I will talk about that later.

RAM

There has been a sale for 32GB G.Skill Aegis DDR4-3200 CL16 for 63,–€. So I just took that, although it was below my target. Nevertheless 32GB should enough for the moment. If it wouldn’t be in the future, I assume, that there will be some used kits on the market, as DDR5 is currently the newest generation of RAM.

NVMe

Also on a sale I got an NVMe which was pricier than planned, but it is totally worth it: 500GB WD Red SN700. A brand new NAS NVMe for 39,–€ including shipping was totally worth it!

Summary

So this is the result of the hunt:

Component typeComponent NamePlanned PricePayed Price
MainboardBiostar B450NH 6.0100€71,89€
CPUAMD Ryzen 5 5600G117,–€90,–€
RAM32GB G.Skill Aegis DDR4-3200 CL16125,–€63,–€
FANBoxedN/AN/A
NVMe500GB WD Red SN70030,–€39,–
Sum-372,–€263,89€

As you can see I stayed way behind the planned budget. To be fair, I just got 32GB of RAM instead of the planned 64GB. Nevertheless I waited and closely observed for about a month until all the components have been at my hands. That seems like a fair trade to me!

Connecting the dots

New NAS Performance

# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2023-03-24                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Mo 17. Apr 12:50:19 CEST 2023

Basic System Information:
---------------------------------
Uptime     : 0 days, 1 hours, 28 minutes
Processor  : AMD Ryzen 5 5600G with Radeon Graphics
CPU cores  : 12 @ 1397.185 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ✔ Enabled
RAM        : 30.7 GiB
Swap       : 976.0 MiB
Disk       : 43.2 TiB
Distro     : Debian GNU/Linux 11 (bullseye)
Kernel     : 6.1.0-0.deb11.5-amd64
VM Type    : NONE
Net Online : IPv4 & IPv6

IPv6 Network Information:
---------------------------------

fio Disk Speed Tests (Mixed R/W 50/50):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 492.91 MB/s (123.2k) | 907.83 MB/s  (14.1k)
Write      | 494.21 MB/s (123.5k) | 912.61 MB/s  (14.2k)
Total      | 987.12 MB/s (246.7k) | 1.82 GB/s    (28.4k)
          |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 681.18 MB/s   (1.3k) | 721.49 MB/s    (704)
Write      | 717.38 MB/s   (1.4k) | 769.54 MB/s    (751)
Total      | 1.39 GB/s     (2.7k) | 1.49 GB/s     (1.4k)

Geekbench 6 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 1934
Multi Core      | 7892
Full Test       | https://browser.geekbench.com/v6/cpu/947917

Challenges

A broken disk

When firing up the server for the first time (after configuration and re-inserting all disks) I did the mistake to not connect a screen and put it already back into place. One disk somehow had problems and threw ATA errors, preventing the whole system from booting. Removing it, solved the problem immediately. Maybe one of the cables has a defect. I will keep an eye on that.

A self-down-shutting NAS

TODO: More details and screenshots

Really funny… Suddenly the monitoring goes nuts… and the NAS is turned off. The push of a button solved the problem, but that cannot be it. I had to investigate it further, as this happened roughly every 24 hours.

A wrong temperature sensor’s configuration

TODO: More details and screenshots

First I had a look at the temperature. Doing some CPU heavy load tests, it seemed that the CPU got too hot. After ordering a new fan and installing it (what a pain! I had to disassemble the whole case and mainboard again) I noticed no change in temperatures. Something went wrong! After some research I noticed, that “lm-sensors” does not work properly with my mainboard. After some googling and try-and-failing I got it to work.

Of course there was no thermal issue!

Onward with the search for reasons, continuing with RAM.

RAM doing RAM things

TODO: More details and screenshots

Memtest86 to the rescue makes it quite clear. After 40% on the first pass there were already several errors.

Taking another pair of RAM sticks (Ballistix!) there were no errors and the NAS still runs without shutting down! So it is time for a RMA!

Final results

TODO: More details and screenshots