[Kaufberatung] Serveraufbau mit ECC-Speicher für Multimedia & Softwareentwicklung

Ja und in der Realität bekommt man das wohl nicht hin... wäre ja sonst ziemlich geil, fürn Mini-Server, wenn man das getrennt nützen könnte auch noch.
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich versteh nicht, warum du nen 4i HBA willst... ein 8i kostet das gleiche u nd selbst nen 9400-16i bekommst um 100€ (braucht auch nicht mehr Strom). Würd das SlimSAS nicht für SATA verwenden.
Auch hier durfte ich noch ewas dazu lernen..

Ein 9400-HBA hat normalerweise PCIe 3.0 x8 (~7,9 GB/s). In meinem Board läuft er nur mit x4, also ~3,9 GB/s netto.
12 HDDs (7.2k) schaffen realistisch 150–250 MB/s → zusammen max. ~3,0 GB/s sequentiell. Damit bleibt selbst im Worst Case noch Reserve – der PCIe-x4-Slot limitiert die HDDs also praktisch nicht.
Die Anzahl der Lanes ist dabei egal, es wirkt sich nur auf die maximale Geschwindigkeit aus – die Lane-Breite wird beim Link-Training automatisch zwischen HBA und Mainboard ausgehandelt. 👍

https://geizhals.at/micron-7450-max...t6tfs-1bc1zabyy-a2757794.html?hloc=at&hloc=de sowas?
Vllt. ist das übertrieben und ne "ordentliche" Read Intensive tuts auch (hat dann immerhin auch 10x so viel TBW wie diese billig-Crucial)...

Mit ner Crucial P310 SSD 2TB (QLC, 220 TBW pro TB) brauchst da imho nicht ankommen, wenn da Proxmox auf ZFS läuft mit 50 Dockern und 2 VMs...
Danke nochmal für die Liste.
Hier würde ich mich für eine Kingston FURY Renegade SSD 2TB, M.2 2280 / M-Key / PCIe 4.0 x4 oder Seagate FireCuda 530R SSD +Rescue 2TB, M.2 2280 / M-Key / PCIe 4.0 x4 entscheiden. Einzig und alleine wegen dem hohen TBW. Cache haben sie beide.



Hier meine vorläufige Konfiguration

#SchnittstelleVerwendung12 Festplatten – Belegung
1PCIe 3.0 x1ManagementASUS IPMI Erweiterungskarte (AST2600A3)
2PCIe 5.0 x16GPUReserviert für Grafikkarte
3PCIe 5.0 x8freiFrei bei x8 Betrieb der Grafikkarte
4PCIe 3.0 x16 (x4 Modus)Backplane AnbindungLenovo 430-16i (LSI 9400-16i)
5PCIe 3.0 x16 (x4 Modus)OS – Optane (Proxmox + 2× Docker Hosts)Anbindung: 10Gtek U.2 SFF-8639 auf PCIe Adapter, PCIe 3.0 x4
SSD: Intel Optane DC P4800X 750 GB (U.2)
6SlimSAS PCIe 4.0OS – Optane (Proxmox + 2× Docker Hosts)Anbindung: InLine® Slim SAS Kabel, SFF-8654 4i → U.2 SFF-8639 + SATA Strom, 24Gb/s, 0,5m
SSD: Intel Optane DC P4800X 750 GB (U.2)
7M.2 PCIe 4.0 x4VMs (Windows- und Linux-VMs)Option A: Kingston FURY Renegade SSD 2TB
Option B: Seagate FireCuda 530R SSD +Rescue 2TB
8M.2 PCIe 4.0 x4VMs (Windows- und Linux-VMs)Option A: Kingston FURY Renegade SSD 2TB
Option B: Seagate FireCuda 530R SSD +Rescue 2TB
9M.2 PCIe 4.0 x4ReserveReserve / optional zusätzliche 2TB SSD
10SATA 3.0freifrei
11SATA 3.0freifrei
12SATA 3.0freifrei
13SATA 3.0freifrei
 
Zuletzt bearbeitet:
Ich melde mich zurück :wink:

Leider hat mich der CPU Kühler geärgert, denn er war zu groß.. ich hatte vergessen die Einbauhöhe des Mainboards zu berücksichtigen.. :grrr:
Als Ersatz kam der Noctua NH-C14S zum Einsatz. Erpasst im Low-Profile-Mode super rein. 15mm Platz zu den RAMs und nach oben gut 30mm Luft bis zum Deckel.

Ich konnte außerdem noch eine NVIDIA QuADro K4200 vor dem Verwerter retten. Diese hab ich mal mit reingepackt. Wird sicher spannend für mich zu sehen wie sich diese im Vergleich zur iGPU schlägt.




Ich hatte zu Beginn noch Probleme die 2te Optane via SlimSAS zu konfigurieren. Das Mainboard wollte trotz PCIe Mode diese nicht erkennen. Nachdem ich die internen SATA Anschlüsse deaktiviert hatte ging es.. ich hatte mehrere Dinge probiert und dies müste (Gedankenprotokoll, es war spät Nachts), der ausschlaggebene Haken gewesen sein.

BIOS hatte ich vorher noch auf die aktuellste Version hochgezogen und im Anschluss noch die Firmware des HBA aktualisiert (https://gist.github.com/buswedg/f94a7978b07c1976e81e6d456ec37853). Größte Herausforderung für mich war an der Stelle, einen EFI Boot Stick mit FAT32 zu erstellen. Das hatte ich bis dato noch nie machen müssen :haha:

Als es an die Installation von Proxmox ging, wollte das BIOS einfach den Stick nicht booten und hatte mich immer mit folgender Fehlermeldung (gekürzt) stehen gelassen: GPT Header corrupt when installing
Ursächlich hierführ war wohl, dass die NVMes schon vorher erkannt wurden und dort der Bootsektor korrupt war(?). Man hätte wohl versuchen können die NVMes auszubauen, aber das wollte ich nicht. Es gab im BIOS eine versteckte (3-4 Ebene) Funktion, bei corrupten GPT Bootsektoren diese automatisch Wiederherzustellen. Siehe da, Problem gelöst und der Installer konnte starten.




Für die Proxmox Installation habe ich die 750GB SSDs als RAIDz Mirror konfiguiert und die Größe auf 50GB (rpool) festgelegt. Die restlichen 700GB (vmdocker) habe ich ebenfalls als RAIDz Mirror angelegt.
Die beiden 2TB SSDs (vmwork) sind ebenfalls als RAIDz Mirror konfiguiert.

1763043550778.png


Anschließend habe ich ein paar Benchmark Tests durchgeführt. Vielleicht kann der eine oder andere diese bitte Bewerten. :)

Während den Tests ist die CPU Auslastung auf maximal 18-26% hin und her gesprungen und die Temperatur der einzelnen Kerne hat die 55°C nicht überschritten :love:
NVMe1: 55°C mit Kühler
NVMe2: 80°C (!!) ohne Kühler. Hier habe ich bereits einen Kühler MC1 PRO von be quiet! bestellt.

1️⃣ Sequentieller Lese-Test (ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_seq_read     --filename=/vmwork/fio_testfile     --rw=read     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=4     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
READ: bw=2667MiB/s (2796MB/s), IOPS=21.3k, io=156GiB, run=60001msec
lat (avg): 6.0ms, cpu: usr=0.37%, sys=7.30%



2️⃣ Sequentieller Schreib-Test (ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_seq_write     --filename=/vmwork/fio_testfile     --rw=write     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=4     --size=8G     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
WRITE: bw=2050MiB/s (2149MB/s), IOPS=16.4k, io=120GiB, run=60002msec
lat (avg): 7.8ms, cpu: usr=1.41%, sys=64.90%



3️⃣ Random 4 K Read/Write (70 / 30 Mix, ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_rand_rw     --filename=/vmwork/fio_testfile     --rw=randrw     --rwmixread=70     --bs=4k     --ioengine=libaio     --iodepth=32     --numjobs=8     --size=8G     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
READ:  IOPS=25.5k, BW=99.4MiB/s (104MB/s), io=5966MiB
WRITE: IOPS=10.9k, BW=42.6MiB/s (44.7MB/s), io=2559MiB
avg latency: 7.0ms, cpu: usr=0.63%, sys=10.32%



4️⃣ Sequentieller Lese-Test (Raw Device)​

Kommando:

Bash:
fio --name=raw_seq_read     --filename=/dev/nvme0n1p1     --rw=read     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=1     --runtime=30     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
READ: bw=6864MiB/s (7198MB/s), IOPS=54.9k, io=201GiB, run=30001msec
lat (avg): 0.58ms, cpu: usr=1.76%, sys=32.10%



Zusammenfassung der Messungen​

TestnameSzenarioBlockgrößeJobsRead/WriteBandbreiteIOPSLatenz (Ø)
zfs_seq_readZFS sequentiell lesen128 K4Read2667 MiB/s21.3 k6.0 ms
zfs_seq_writeZFS sequentiell schreiben128 K4Write2050 MiB/s16.4 k7.8 ms
zfs_rand_rwZFS Random 4 K 70/30 Mix4 K870 / 30142 MiB/s36.4 k7.0 ms
raw_seq_readDirektes NVMe Device128 K1Read6864 MiB/s54.9 k0.58 ms


Während den Tests ist die CPU Auslastung auf maximal 13-19% hin und her gesprungen und die Temperatur der einzelnen Kerne hat die 48°C nicht überschritten
:love:

Optane1: 45°C in PCIe Karte
Optane2: 53°C unter Gehäuse am Netzteil.
Zu Erwähnen ist hier, dass die Temperatur konstant bleibt. Also sowohl im Idle als auch unter Vollast schwankt diese um wenige °C und ist weitestegehend konstant auf 50-53°C

1️⃣ Sequentieller Lese-Test (ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_seq_read     --filename=/vmdocker/fio_testfile     --rw=read     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=4     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
READ: bw=4943MiB/s (5183MB/s), IOPS=39.5k, io=290GiB, run=60001msec
lat (avg): 3.2ms, cpu: usr=0.74%, sys=15.43%



2️⃣ Sequentieller Schreib-Test (ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_seq_write     --filename=/vmdocker/fio_testfile     --rw=write     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=4     --size=8G     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
WRITE: bw=1821MiB/s (1909MB/s), IOPS=14.6k, io=107GiB, run=60001msec
lat (avg): 8.8ms, cpu: usr=1.24%, sys=57.47%



3️⃣ Random 4 K Read/Write (70 / 30 Mix, ZFS Pool)​

Kommando:

Bash:
fio --name=zfs_rand_rw     --filename=/vmdocker/fio_testfile     --rw=randrw     --rwmixread=70     --bs=4k     --ioengine=libaio     --iodepth=32     --numjobs=8     --size=8G     --runtime=60     --direct=1     --time_based     --group_reporting

Ergebnis:
Code:
READ:  IOPS=20.2k, BW=78.7MiB/s (82.5MB/s), io=4724MiB
WRITE: IOPS=8.6k,  BW=33.7MiB/s (35.4MB/s), io=2025MiB
avg latency: 8.9ms, cpu: usr=0.45%, sys=7.8%



4️⃣ Sequentieller Lese-Test (Raw Device)​

Kommando:

Bash:
fio --name=raw_seq_read     --filename=/dev/nvme1n1     --rw=read     --bs=128k     --ioengine=libaio     --iodepth=32     --numjobs=1     --runtime=30     --direct=1     --time_based     --group_reporting

Ergebnis:

Code:
READ: bw=2558MiB/s (2682MB/s), IOPS=20.5k, io=74.9GiB, run=30002msec
lat (avg): 1.56ms, cpu: usr=0.78%, sys=14.45%



Zusammenfassung der Messungen​

TestnameSzenarioBlockgrößeJobsRead/WriteBandbreiteIOPSLatenz (Ø)
zfs_seq_readZFS sequentiell lesen128 K4Read4943 MiB/s39.5 k3.2 ms
zfs_seq_writeZFS sequentiell schreiben128 K4Write1821 MiB/s14.6 k8.8 ms
zfs_rand_rwZFS Random 4 K 70/30 Mix4 K870 / 30113 MiB/s28.9 k8.9 ms
raw_seq_readDirektes NVMe Device128 K1Read2558 MiB/s20.5 k1.56 ms


Nachfolg zur Referenz die Synology inkl. aktivem SSD Cache

🔹 1. Sequentieller Lese-Test​

Command:

fio --name=vol3_seq_read --filename=/volume3/fio_testfile --rw=read --bs=128k --ioengine=libaio --iodepth=32 --numjobs=4 --runtime=60 --size=8G --direct=1 --time_based --group_reporting

Ergebnis:

  • Bandbreite: 413 MB/s
  • IOPS: 3.224
  • Durchschnittliche Latenz: 39,6 ms
  • CPU-Last: 0.45 % usr / 9.77 % sys


🔹 2. Sequentieller Schreib-Test​

Command:

fio --name=vol3_seq_write --filename=/volume3/fio_testfile --rw=write --bs=128k --ioengine=libaio --iodepth=32 --numjobs=4 --size=8G --runtime=60 --direct=1 --time_based --group_reporting

Ergebnis:

  • Bandbreite: 128 MB/s
  • IOPS: 1.004
  • Durchschnittliche Latenz: 127 ms
  • CPU-Last: 1.09 % usr / 4.73 % sys


🔹 3. Random Read/Write Test (70 % Lesen / 30 % Schreiben)​

Command:

fio --name=vol3_rand_rw --filename=/volume3/fio_testfile --rw=randrw --rwmixread=70 --bs=4k --ioengine=libaio --iodepth=32 --numjobs=8 --size=8G --runtime=60 --direct=1 --time_based --group_reporting

Ergebnis:

  • Read: 6.1 MB/s (~1.500 IOPS)
  • Write: 2.6 MB/s (~650 IOPS)
  • Latenz: Read ~132 ms / Write ~84 ms
  • CPU-Last: 0.3 % usr / 2.15 % sys


🔹 4. Reiner Lese-Test (1 Job, 128 kB)​

Command:

fio --name=vol3_raw_read --filename=/volume3/fio_testfile --rw=read --bs=128k --ioengine=libaio --iodepth=32 --numjobs=1 --runtime=30 --direct=1 --time_based --group_reporting

Ergebnis:

  • Bandbreite: 260 MB/s
  • IOPS: 2.028
  • Durchschnittliche Latenz: 15,7 ms
  • CPU-Last: 1.92 % usr / 35.5 % sys


Zusammenfassung​

TesttypBlockgrößeThreadsDauerModusDurchsatzIOPSLatenz
Sequentiell Lesen128 kB460 sVolume3413 MB/s3.22439.6 ms
Sequentiell Schreiben128 kB460 sVolume3128 MB/s1.004127 ms
Random RW (70/30)4 kB860 sVolume36.1 / 2.6 MB/s1.519 / 652132 / 84 ms
Raw Read128 kB130 sVolume3260 MB/s2.02815.7 ms




Da ich mich noch nicht so tief in Proxmox eingelesen habe und den Thread hier auch dafür nicht missbrauchen möchte, dennoch eine kurze Frage. Die Konfiuration/Aufteilung ist soweit in Ordnung?
ISOs (eine wurde Testweise auf rpool geladen), könnte man ja auch auf ein anderen Pool auslagern. Wenn ich die 12TB HDDs umziehe, bin ich aktuell noch nicht ganz schlüssig ob es Sinn macht einen (z.B.) TrueNAS Container laufen zu lassen, der mir die Laufwerke z.B. per NFS Share bereitstellt oder wie ich das am besten Bewerkstellige, dass ich meinen Speicher den anderen Container/VM bereitstelle.

Außerdem gibt es hier auch noch die Anforderung einen Teil zu verschlüsseln und nur wenn dieser Teil/Ordner entschlüsselt ist, darf der Container vm-docker-encryption laufen und versuchen seine Dienste bereit zu stellen.
Bin offen für Tipps und Lektüre. :)
 

Anhänge

  • 1.JPG
    1.JPG
    1,7 MB · Aufrufe: 16
  • 2.jpg
    2.jpg
    870,4 KB · Aufrufe: 18
  • 47FC4B5A-FDC0-4F6B-AF07-08D7084DDF45.JPG
    47FC4B5A-FDC0-4F6B-AF07-08D7084DDF45.JPG
    778,8 KB · Aufrufe: 20
  • IMG_5742.jpg
    IMG_5742.jpg
    1,3 MB · Aufrufe: 21
  • IMG_5744.jpg
    IMG_5744.jpg
    1 MB · Aufrufe: 17
  • IMG_5773.jpg
    IMG_5773.jpg
    1 MB · Aufrufe: 16
  • IMG_5774.jpg
    IMG_5774.jpg
    955,4 KB · Aufrufe: 17
  • IMG_5775.jpg
    IMG_5775.jpg
    1,1 MB · Aufrufe: 19
  • IMG_5778.jpg
    IMG_5778.jpg
    917,6 KB · Aufrufe: 16
  • IMG_5784.jpg
    IMG_5784.jpg
    1,6 MB · Aufrufe: 17
  • IMG_5785.jpg
    IMG_5785.jpg
    1,5 MB · Aufrufe: 15
  • IMG_5790.jpg
    IMG_5790.jpg
    1,5 MB · Aufrufe: 12
  • IMG_5791.jpg
    IMG_5791.jpg
    1,4 MB · Aufrufe: 11
  • IMG_5792.jpg
    IMG_5792.jpg
    1,5 MB · Aufrufe: 12
  • IMG_5793.jpg
    IMG_5793.jpg
    1,2 MB · Aufrufe: 12
Zuletzt bearbeitet:
generell

- Storage in einer VM und Zugriff via iSCSI,NFS oder SMB über ip ist langsamer als Zugriff einer VM in Proxmox auf lokales ZFS und zvol -
schneller ist daher NAS und ZFS direkt in Proxmox

- ZFS web-guis mit share und acl Verwaltung gibts auch direkt für Proxmox (Cockpit, Poolsman, napp-it cs)

- schnellstes SMB für Linux ist ksmbd, eine Option für Proxmox

- Für VM Storage sollte man sync aktivieren um Gast-Dateisysteme zu schützen.
Encryption + sync ist aber richtig langsam, sollte man vermeiden
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh