Neuer Homeserver mit 8 Kernen und 64GB Ram

Jetzt gibt’s einen neuen Homeserver für mich, da mir nun endgültig der Speicher ausgeht und ich gerne mal „server-grade gear“ haben möchte.

Der alte Server

Der „alte“ Server im neuen Gehäuse

Der alte Homeserver hatte folgende Spezifikationen:

Mainboard: Gigabyte GA-970A-DS3
CPU: AMD Athlon II X2 250 @ 3GHz
RAM: 16GB DDR3
CPU Kühler: DeepCool IceEdge 400
Case: Irgendwas, das ich herumstehen hatte.
Netzwerk 1: Intel Corporation 82574L Gigabit
Netzwerk 2: Chelsio S310-CR 10GbE Single Port

Als Festplatten durften herhalten:

  • Hitachi Deskstar 7K3000 (2TB)
  • Hitachi Deskstar 5K3000 (2TB)
  • Seagate Barracuda XT (2TB)

Diese sind zum einen mittlerweile zu wenig Speicher, bisher keine Redundanz und vor allem keinerlei Redundanz da keinerlei RAID konfiguriert ist. Dazu kommt, dass die Seagate laut SMART weg kann (Raw_Read_Error_Rate: 88003983).

Zwischendurch hat der Fileserver als Vorlauf auf die komplette Umrüstung schon einmal neu bekommen:

  • Samsung SSD 850 EVO 120GB
  • Fractal Design Define R5 Black
  • be quiet! Pure Power L8 430 Watt

Der neue Server

Zusammenstellung der essentiellen Teile

Da ich mich dazu entschieden habe hauptsächlich auf „server-grade gear“ zu verwenden und das System doch zumindest etwas stromsparender als mein altes zu konzipieren (also kein AMD) habe ich mir zuerst eine möglichst aktuelle CPU ausgesucht, die relativ Stromsparend ist. Hierbei bin ich auf den Intel Xeon E5-2609v4 gestoßen, welcher eine TDP von 85W hat, sollte er voll ausgelastet sein.

Als nächstes sollte ein Mainboard her. Da ich im Bereich von Rechenzentren meistens mit Supermicro arbeite und hiermit sehr gute Erfahrungen habe ich mich auch mit meinem eigenen Fileserver versucht daran zu halten.

Hier bin ich schlußendlich beim X10SRL-F stehen geblieben welches mir USB3, PCIe 3.0 und eine menge Platz für RAM bietet den ATX-Formfaktor bietet und vor allem den Airflow von vorne nach hinten bietet ohne, dass der RAM im weg ist.

RAM ist nun das nächste was in meinem Build fehlt.
Hier habe ich mich hier für  64GB Kingston ValueRAM mit je 16GB Riegeln, welche nur 4 von möglichen 8 Slots belegen und mir somit genug Platz zur Erweiterung des Homeservers bietet.

Weitere Kleinteile

Nachdem die wichtigsten Komponenten nun ausgewählt sind kommen weitere Teile welche auch ihre Bedeutung haben.

Festplatten

Hier habe ich mich für die Western Digital Red Pro in 6TB entschieden, die mir genug Möglichkeiten geben sollten auch in Zukunft genug Speicher zu haben und dennoch einen vertretbaren Preis zu bezahlen.

In der Auswahl standen noch die HGST UltraStar mit 6TB, allerdings waren diese nicht nur pro Stück ~50€ teurer, sondern sie verbrauchten auch den doppelten Strom (im Betrieb crika 11 Watt pro Stück). Dies war mit einer Grundidee bis zu 8 oder 10 Stück haben zu können und doch halbwegs Strom zu sparen im Weg. Daher habe ich mich doch für die WD Red Pro entschieden.

Cache SSD

Mein Ziel ist die Verwendung von ZFS auf für die neuen Festplatten, was die einfache Nutzung einer Cache-SSD ermöglicht. Da ich zwischendurch ein paar 10Gb/s Netzwerkkarten günstig bekommen konnte (~20€ pro Stück) sind normale Festplatten absolut nicht mehr schnell genug. Allerdings sind nicht nur die Festplatten das Problem, sondern SATA selbst, da hier mit SATA3 nur maximal 6 Gigabit pro Sekunde möglich sind.

Allerdings ist die Cache SSD nicht nur für die reine Geschwindigkeit gedacht, sondern vor allem dafür als L2ARC unter ZFS vor allem schnellen Schreib-/Lesezugriff für kleinere Dateien zu bieten, welche für den reinen ARC (welcher im RAM liegt) hinaus geht.

Da SATA3 nunmal nicht ausreicht, habe ich mich für eine M.2 bzw. NVMe SSD entschieden. Diese hat 256GB, welche wenn man ihn als reinen Schreib/Lesecache verwenden würde etwa 200 Sekunden die Daten mit der vollem Schreibrate von 1GiB/s aushalten könnte.

Geworden ist es hier die Samsung SM951-NVMe M.2 mit 256GB.

Stromversorgung

Etwas, dass ich schon lange einmal in meinem Setup zum Homeserver einsetzen wollte ist eine UPS oder im deutschen USV (Unterbrechungsfreie Stromversorgung).

Hier fiel meine Wahl relativ einfach auf die Marke APC mit der Back-UPS Pro Serie, welche einen Seriell/USB-Port zur Überwachung und Steuerung bieten.

Da ich etwas Laufzeit für meine Geräte wollte habe ich mich hier für die Variante mit 900VA  bzw 540W entschieden. Diese gibt mir mit meinem aktuellen Fileserver (~110W) rund 20% load und angeblich rund 52 Minuten Laufzeit.

CPU Kühler

Wer denkt dies sei ein sehr einfaches Thema liegt leider falsch denn hier ist bei Serverkomponenten, welche im Homeserver verbaut werden sollen mehr Vorsicht als normal zu zeigen.

Die Annahme, einfach auf den Sockel zu gucken und mir passend dazu einen Kühler zu besorgen schlug leider fehl. Normal haben die Befestigungen für Kühler auf dem Sockel 2011-3 (welchen ich hier einsetze) einen relativ großzügigen Abstand zur CPU selbst. Da dies bei Serverboard aber häufig nicht gegeben ist (z.B.: da der Platz von RAM Belegt wird) gibt es hier zwei Standarts welche man kennen sollte: Narrow ILM und Square ILM.

In meinem Fall habe ich natürlich den Standart „Narrow ILM“ erwischt, welches vorher in keiner Beschreibung zu sehen war und habe mir sofort den falschen Kühler gekauft. Jetzt habe ich mir nochmal einen passenden Bestellt damit ich den Homeserver endlich in Betrieb nehmen kann.

Narrow vs Square ILM
Narrow vs Square ILM

Der Raid-Controller

Warum ein Raid-Controller obwohl ich ja ZFS nutzen werde fragt ihr euch?
Ganz einfach: Ich werde weiterhin zwei System-SSDs haben, welche im Software-RAID1 mein System bereitstellen und damit Ausfallsicherheit bieten.
Diese zwei System-SSDs werden direkt auf dem Mainboard angeschlossen, welches genug SATA-Ports (10 Stk) mit sich bringt.

Aber warum dann ein RAID-Controller?

Der RAID-Controller ist ein IBM M1115, welcher auf einen LSI SAS2 2008 im IT-mode crossflashed wurde. Das bedeutet der Controller stellt keinerlei RAID-Funktionalität mehr bereit und nur noch als HBA (Host Bus Adapter) funktioniert.

Dies ist einerseits wichtig, da ZFS es nicht wirklich mag nicht direkt auf HDDs zugreifen zu können und ich andererseits so den ganzen Controller per PCIe-Passthrough direkt in eine FreeNAS-VM durchreichen kann.

Sobald die nächsten Tage mein passender CPU-Kühler ankommt geht's weiter.

SAS Kabel

Da mein Raid-Controller ja nur zwei miniSAS (SFF-8087) hat und ich aber SATA Festplatten daran betreiben möchte, brauche ich jetzt noch Kabel dafür. Natürlich habe ich diese auch direkt mit bestellt aber wie es kommen musste, waren es die falschen.

Ich habe leider nicht genau genug hingesehen und leider direkt Kabel gekauft, welche dafür gedacht sind eine Backplane daran zu betreiben und dafür 1:1 verkabelt sind. Allerdings sind genau das die falschen gewesen und jetzt darf ich mich drum kümmern, die zurück zu geben. (Natürlich sind die neuen schon bestellt)

Leider kommen die erst einige Tage nach dem CPU-Kühler an, weshalb ich wohl erstmal „nur“ das Routing und meine Anwendungen umziehen werde. Die FreeNAS-VM wird dann noch bisschen auf sich warten lassen.

Weitere Themen:

  • uefi in vm (uefi bios besorgen)
  • ovmf (passthrough) [mehr Performance]

Umzug des Systems

Da nun alle Teile für den neuen Homeserver angekommen sind, habe ich mich auch gleich mal dran gemacht alles zusammen zu bauen.

Das Mainboard

Da ich die CPU, den RAM vorher schon einmal in das Mainboard gesteckt habe, war es schon alles fertig montiert.

Zum CPU-Kühler muss gesagt werden, dass ich hier mit relativ viel Kraft die Schrauben in die Federn drücken musste damit überhaupt Kontakt entsteht.

Beim einsetzen des Mainboards fiel schnell auf, dass die alten Abstandshalter von Gehäuse leider nicht komplett überein stimmten weshalb sie einfach in ein neue Positionen gebracht wurden.
Leider war das Mainboard nur mit einer gewissen Gewalteinwirkung an die richtige Stelle zu bewegen, wo es dann aber auch solide saß. Jetzt wurde noch alles entsprechend Verkabelt und dann ging es weiter.

Festplatten

Im vorherigen Homeserver waren die Festplatten ja mit den Anschlüssen nach vorne montiert, was bedeuten würde, dass um eine Festplatte aus dem Homeserver zu tauschen Strom + SATA von umliegenden Festplatten auch hätte entfernt werden müssen. Das habe ich jetzt verändert indem die Verkabelung auf die Rückseite gewandert ist, damit einzelne Festplatten bei Bedarf einfach abgesteckt und herausgezogen werden können.

Die alten drei Festplatten sind mangels Kabel (ich habe zur Sicherheit erst mal nur ein neues miniSAS <=> SATA Kabel gekauft) zusammen mit den jetzt zwei System-SSDs direkt auf das Mainboard verbunden. Die vier neuen 6TB WD Red Pro sind mit dem neuen (jetzt auch richtigen) Kabel auf den cross-flashed RAID-Controller angeschlossen, wo sie auch sofort nach anstecken der SATA-Kabel im laufenden Betrieb erkannt wurden.

ZFS

Installation

Als quelle für ZFS unter ArchLinux benutze ich das archzfs-Repo, welches man wie folgt aktivieren kann:

cat <<'.ZFS' >> /etc/pacman.conf
[archzfs]
SigLevel = Never
Server = http://archzfs.com/$repo/x86_64
.ZFS

pacman -Syyu

Nachdem das Repo aktiviert wurde, können wir die notwendigen Pakete installieren.

pacman -S zfs-linux zfs-linux-utils
Aufteilung
[root@titania ~]# zpool status
  pool: files
 state: ONLINE
  scan: none requested
config:

   NAME        STATE     READ WRITE CKSUM
   files       ONLINE       0     0     0
     mirror-0  ONLINE       0     0     0
       sdf     ONLINE       0     0     0
       sdg     ONLINE       0     0     0
     mirror-1  ONLINE       0     0     0
       sdh     ONLINE       0     0     0
       sdi     ONLINE       0     0     0
   cache
     nvme0n1   ONLINE       0     0     0

errors: No known data errors

Weiteres

IOMMU

Zum aktivieren der IOMMU (bei mir im BIOS vom Werk aus aktiv) muss in /etc/default/grub in der Zeile „GRUB_CMDLINE_LINUX_DEFAULT“ am Ende ein „intel_iommu=on“ ergänzt werden. Damit sieht der Anfang der Datei so aus:

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
GRUB_CMDLINE_LINUX=""

Nachdem das gemacht wurde muss die Grub-Config neu geschrieben werden. Hierzu ist zu beachten, dass die Boot-Partition gemounted sein muss.

grub-mkconfig > /boot/grub/grub.cfg

Benchmarks

PC => ZFS Pool: 140MB/s (Desktop HDD Max)
ZFS Pool Write: 425MB/s (Maxout)

<146W Verbrauch bei Vollast


Beitrag veröffentlicht

in

, ,

von

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.