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
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 type | Component Name | Should be updated? |
---|---|---|
Case | Silverstone DS380 | No |
Mainboard | Asus P8H77-I | Yes |
Power Supply | be quiet! SFX Power 2 400W | No |
CPU | Intel(R) Xeon(R) CPU E3-1230 V2 | Yes |
RAM | 16 GB DDR3 RAM | Yes |
RAID Card | IBM ServeRaid M1015 | No |
System Disk | SanDisk SDSSDP064G 64GB | Yes |
HDDs | Currently 7 mixed disks | No |
SSDs | 2x 480GB running in RAID | No |
System Fans | Arctic P12 PWM PST | No |
CPU Fan | Xilence I404T | Yes |
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 type | Component Name | Planned Price |
---|---|---|
Mainboard | Biostar B450NH 6.0 | 100€ |
CPU | AMD Ryzen 5 5600G | 117,–€ |
RAM | 64 GB | 125,–€ |
FAN | Boxed | N/A |
NVMe | 512 GB | 30,–€ |
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 type | Component Name | Planned Price | Payed Price |
---|---|---|---|
Mainboard | Biostar B450NH 6.0 | 100€ | 71,89€ |
CPU | AMD Ryzen 5 5600G | 117,–€ | 90,–€ |
RAM | 32GB G.Skill Aegis DDR4-3200 CL16 | 125,–€ | 63,–€ |
FAN | Boxed | N/A | N/A |
NVMe | 500GB WD Red SN700 | 30,–€ | 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