Specifications

The purpose of this server is to host virtual machines; so we’re looking to a chip with a lot of cores and a lot of memory to allow us to provision and run many VMs.

It turns out these chips run very hot - so we’re running a liquid-cooled CPU fan; and ensuring plenty of airflow through the case.

Specifications

Component

Vendor

Link

Motherboard

ASUS Prime X670-P WIFI

https://www.asus.com/motherboards-components/motherboards/prime/prime-x670-p/

CPU

AMD Ryzen 9 7950X

https://www.amd.com/en/products/cpu/amd-ryzen-9-7950x

Storage

  • Samsung SSD 870 EVO

  • Samsung SSD M.2 980 Pro

RAM

Kingston Fury DDR5

https://www.kingston.com/en/memory/gaming/kingston-fury-beast-ddr5-memory

Cooling

  • Thermaltake Pure Duo 14

  • DeepCool LS720 Liquid CPU Cooler

PSU

Fractal Ion+2 Platinum 660W

https://www.fractal-design.com/products/power-supplies/ion/ion-2-platinum-660w/black/

NIC

TP-Link TX401 10GB

https://www.tp-link.com/au/home-networking/pci-adapter/tx401/

Firmware

1223 x64

https://www.asus.com/uk/motherboards-components/motherboards/prime/prime-x670-p-wifi/helpdesk_bios/?model2Name=PRIME-X670-P-WIFI

RAID

https://drivers.amd.com/relnotes/amd-raidxpert2_user_guide.pdf

RAID

Unfortunately, the RAID isn’t a proper hardware-RAID chip; which is odd in that the BIOS requires a reboot once it’s turned on. You must then install additional AMD RAID firmware to utilise it. But as this is ‘fake raid’; there is little point in doing so: that would tie the HDD to only being readable by this motherboard; so I’m using Linux software RAID (mdadm).

It is a bit of a pain that vendors do not put genuine raid on these boards; as the footprint for M2 and SATA is quite large; this is/would be duplicated on a HW RAID card to actually achieve this functionality. It’s thus not really viable/attractive to go with anything other than Linux software RAID (which is actually very good).

WiFi

I thought I was going to have to kmod the WiFi driver (rtw89_8852); but it’s only just now supported in the 6.2 kernel. There were some issues with the associated Linux firmware (some one was over-ambitious in packaging firmware - and it needed to be back-ported).

I was unsure how good ASUS’s supplied RF-aeriel might work; but it is showing a reasonable signal when monitored using LinSSID. I may configure an access point (hostapd).

UPS

I always use a UPS with server/computer equipment; if for nothing else than voltage/supply smoothing (I have had motherboards die before). I have an APC 1440; and with it’s powerchute/USB the server’s apcupsd daemon can monitor and cleanly shut itself down should the UPS exhaust itself.

File Systems

The premise behind file system layouts is to take advantage of the high-speed nvme disks for root file system; and have /opt on the SATA disk. Everything excepting the boot partition is Linux RAID. Using RAID for the boot is possible; but not advised.

The nvme*p3 partition is a straight Linux partition with /boot - and kinda needs to be manually mirrored whenever a new kernel is applied; in unlikely event one fails.

md125 is the /opt partition on SATA.

md126 is the /boot/efi vfat partition for UEFI; very technically a /boot partition is unnecessary; but kernel/rpm upgrades will require it.

md127 is the /root partition on NVME.

This system is using the new zram as swap.

NAME        MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINTS
sda           8:0    0  1.8T  0 disk
└─sda1        8:1    0  1.8T  0 part
  └─md125     9:125  0  1.8T  0 raid1 /opt
sdb           8:16   0  1.8T  0 disk
└─sdb1        8:17   0  1.8T  0 part
  └─md125     9:125  0  1.8T  0 raid1 /opt
zram0       252:0    0    8G  0 disk  [SWAP]
nvme0n1     259:0    0    0B  0 disk
├─nvme0n1p1 259:1    0   10G  0 part
├─nvme0n1p2 259:2    0  1.8T  0 part
│ └─md127     9:127  0  1.8T  0 raid1 /
└─nvme0n1p3 259:3    0   10G  0 part
nvme1n1     259:4    0  1.8T  0 disk
├─nvme1n1p1 259:5    0  1.8T  0 part
│ └─md127     9:127  0  1.8T  0 raid1 /
├─nvme1n1p2 259:6    0   10G  0 part
│ └─md126     9:126  0   10G  0 raid1
└─nvme1n1p3 259:7    0   10G  0 part