bestehenden Proxmox-Server mit SSDs aufrüsten - welche Vorgehensweise ist gut?

tony blue

Active Member
Dec 26, 2017
64
1
33
50
Hallo,

ich betreibe seit geraumer Zeit einen Proxmox-Server für unsere Familie auf der Basis von:

Mainboard: Gigabyte Z270-HD3P-CF
CPU: i7-7700T
Festplatten (HDD): 3 x 8 TB Seagate st8000nm0055 als ZFS

Auf dem Proxmox-Server laufen 14 LXC-Container (Mail-, Web-, Print-, Ark-, Nexcloud-Server, etc.) und 3 VMs (2 x Linux + 1 x Win10). Das Proxmox-System selbst und auch alle LXC und VMs laufen auf den 3 Fesplatten (im ZFS-Verbund).

Damit das System etwas performanter wird und insbesondere auch die VMs schneller starten, rüste ich zwei SSDs (je 1 TB Samsung EVO Plus 970 V-NAND NVMe M.2) nach. Die SSDs sind einmal direkt auf dem Board und einmal per PCIe-Adapter (4-Lanes) angebunden und sollen als ZFS-Mirror laufen.

Bei folgenden Punkten bitte ich um Euere Tipps:


1. Macht es Sinn, mein Proxmox auf den SSDs neu zu installieren oder wäre es sinnvoller Proxmox auf den HDDs zu belassen? Ohne Proxmox-Neuinstallation ginge das natürlich viel schneller.

2. Für Nexcloud habe ich einen LXC-Container, der die Datenbank (mariadb) zur Verfügung stellt. Kann ich diese auch auf die SSDs verschieben um schnellere Nexcloud-Zugriffe zu haben oder machen mir viele Datenbankzugriffe auf die SSDs diese vorschnell kaputt?

3. Gibt es bei der Installation der SSDs irgendetwas zu beachten?


Vielen Dank!


Tony
 

Dunuin

Famous Member
Jun 30, 2020
9,039
2,321
156
Germany
Hallo,

ich betreibe seit geraumer Zeit einen Proxmox-Server für unsere Familie auf der Basis von:

Mainboard: Gigabyte Z270-HD3P-CF
CPU: i7-7700T
Festplatten (HDD): 3 x 8 TB Seagate st8000nm0055 als ZFS

Auf dem Proxmox-Server laufen 14 LXC-Container (Mail-, Web-, Print-, Ark-, Nexcloud-Server, etc.) und 3 VMs (2 x Linux + 1 x Win10). Das Proxmox-System selbst und auch alle LXC und VMs laufen auf den 3 Fesplatten (im ZFS-Verbund).

Damit das System etwas performanter wird und insbesondere auch die VMs schneller starten, rüste ich zwei SSDs (je 1 TB Samsung EVO Plus 970 V-NAND NVMe M.2) nach. Die SSDs sind einmal direkt auf dem Board und einmal per PCIe-Adapter (4-Lanes) angebunden und sollen als ZFS-Mirror laufen.

Bei folgenden Punkten bitte ich um Euere Tipps:

1. Macht es Sinn, mein Proxmox auf den SSDs neu zu installieren oder wäre es sinnvoller Proxmox auf den HDDs zu belassen? Ohne Proxmox-Neuinstallation ginge das natürlich viel schneller.

2. Für Nexcloud habe ich einen LXC-Container, der die Datenbank (mariadb) zur Verfügung stellt. Kann ich diese auch auf die SSDs verschieben um schnellere Nexcloud-Zugriffe zu haben oder machen mir viele Datenbankzugriffe auf die SSDs diese vorschnell kaputt?

3. Gibt es bei der Installation der SSDs irgendetwas zu beachten?


Vielen Dank!


Tony
Nutz keine Samsung EVOs. Proxmox/ZFS killt Consumer SSDs teils in Wochen/Monaten. Du hast da abnormale Write Amplification wenn du SSDs mit TLC/QLC NAND und ohne Powerloss-Protection nutzt. Immer darauf achten, dass da SLC/MLC NAND und ein Kondensator für Notfallstrom auf der SSD verbaut sind. Die Enterprise SSDs sind zwar extrem teuer, aber gebraucht mit 100% Lebenszeit über kosten die auch nicht mehr als die EVOs. Enterprise SSDs mit M.2 wirst du aber kaum gebraucht finden. Da gibt es auch neu fast keine. Sind fast immer 2,5" SATA oder U.2 oder direkt PCIe. Mal so ein Preisbeispiel. Eine Intel S3710 800GB SATA SSD mit TBW von 16900 TB bekommst du, mit nur 0-2% der TBW bereits beschrieben, schon ab 100€. Die verträgt dann nicht nur das 30fache an Writes mehr als eine Samsung EVO, die hat auch massiv weniger Write Amplification, da sie wegen der Notstromversorgung auch cachen kann. Eine EVO kann ihren Cache nicht nutzen (wenigstens bei sync writes) weil beim Stromausfall sofort alle Daten weg wären, welche sie als "bereits geschrieben" an die VM zurückgemeldet hätte. Enterprise SSDs können sowas auch cachen, da sie bei Stromausfall trotzdem noch schnell die Daten aus dem flüchtigen internen RAM-Cache auf den Flash notsichern können. Wenn deine Evo z.B. alles in 20MB chuncks speichern muss und du 100x 1kb synchron speicherst, dann muss die Evo 100x 20MB schreiben anstatt 1x 20MB, da sie ohne caching diese 100 kleinen Schreibprozesse nicht als einen großen zusammenfassen kann. Auch sind bei Enterprise SSDs diese Blöcke deutlich kleiner, dass da nicht gleich 20MB sondern vielleicht nur 2MB in den NAND geschrieben werden, wenn nur eine 8kb Datei gespeichert werden soll. Bzw warten die dann einfach, bis sie wirklich 2MB an Daten im Cache haben um diese 2MB Flashzelle effizient zu beschreiben. IOPS Leistung ist dann auch meist deutlich besser bei kontinuierlicher Auslastung, da Consumer SSDs wegen dem schlechten Caching und der großen internen Flashzellengröße einfach keine dauerhafte Leistung erbringen können.

Ich hab hier auch noch 2x Samsung Evo 970 M.2 im Server, aber nutze diese nicht mehr, da die nach Tests im Null-Komma-Nichts kaputt wären. Glaube nach 6 Monaten hätten die bei mir die TBW erreicht. Waren glaube ich über 2TB pro Tag im Idle-Betrieb der VMs. Die stecke ich wohl irgendwann lieber in einen anderen PC. Danach hab ich mir dann Enterprise SSDs geholt. Also falls die noch nicht 14 Tage alt sind, schick die lieber zurück und hol die bessere SSDs.

Zu 1.) Proxmox schreibt jede Minute auf deine HDD. Sind nur wenige KB jede Minute aber auf einer Consumer SSD werden die z.B. 200KB dann zu 20MB jede Minute. Viele lassen das gerne auf HDDs um die SSDs zu schonen.

Zu 2.) MySQL macht fast nur winzige sync Writes was extrem auf die Write Amplification geht. Kannst du bei Consumer SSDs vergessen, bei Enterprise SSDs sollte das gut klappen. Meine Nextcloud auf der SSD schreibt mit write amplification so 400kb/s (also ca 13TB pro Jahr). Consumer SSD haben ein TBW von etlichen Petabyte, da ist das kein Problem.

Zu 3.) Ist eigentlich nichts anders als mit HDDs. Kommen dann halt nur noch paar Sachen zur Optimierung hinzu. "noatime" bei den mount optionen in den VMs, passende volblocksize wählen, "cache mode" passend setzen, "atime=no" für den pool usw.

BTW: Hast du bei dem raidz1 pool die "block size" in Proxmox manuell von 8k auf 16k gesetzt? Wenn nicht wurden alle VMs mit einer volblocksize von 8K erstellt und alle Daten in der VM belegen 200% Platz auf den HDDs anstatt den 150%, welche die normal bei raidz1 mit 3 Platten haben sollten. Jedenfalls wenn der Pool nicht mit ashift von 9 erstellt wurde.
 
Last edited:

Dunuin

Famous Member
Jun 30, 2020
9,039
2,321
156
Germany
Ich hab mir 7x Intel S3710 (200 und 400GB) 2,5" SATA und 3x Intel S3700 (100 und 200GB) 2,5" SATA auf ebay Kleinanzeigen und eBay zusammengekauft. Die kleinen 100GB SSDs gab es so für um die 15€ inkl. Porto, die 200GB SSDs für um die 25-50€ inkl Porto und die 400GB Platten für um die 50€ inkl Porto. 800GB und 1200GB hab ich mir selbst keine gekauft, aber die 800GB hab ich so für um die 100€ gesehen.

Alle 10 SDDs hatten zwischen 4TB und 70TB bereits geschrieben und zwischen 7 Monaten und 4 Jahren Laufzeit. 70TB sind aber selbst bei den Kleinsten ein Witz, weil selbst deren TBW im Petabyte-Bereich liegt. 9 SSDs hatten "100% Life left" und nur eine war auf "98% Life left" runter.

Muss man halt etwas gucken und warten, dann gibt es die auch zu bezahlbaren Preisen. Die Sofortkaufpreise bei eBay sind meist viel zu hoch.

Aber gibt ja auch nicht nur Enterprise SSDs von Intel. Wenn man da nach Modellen von verschiedenen Herstellern sucht, dann findet man schon recht oft eine brauchbare SSD. Bei meinen 10 SSDs hab ich mir auch vor dem Kauf die Smart-Werte schicken lassen. Da kann man dann auch nicht viel falsch machen.

Da die alle leicht unterschiedlich abgenutzt sind, fallen die dann wenigstens auch nicht so leicht gleichzeitig aus. Und die sind billig genug um da viele Kleinere in ein raid zu stecken. Und wenn doch mal eine ausfallen sollte, dann holt man halt für 30€ eine neue oder kauft gleich eine mehr und setzt die als Spare Drive ein.

Ich bin jedenfalls sehr zufrieden mit denen. Hätte ich mir gleich statt den doofen M.2 EVOs kaufen sollen.
Die haben meine 2x 120GB Crucial BX500 SSD, 2x WD Red 1TB HDD und 2x Samsung Evo 970 im Proxmox Server ersetzt und meine 4x 480GB Patriot Burst SSDs im FreeNAS Server.
Die beiden 120GB SSDs kann ich zur Not mit SATA-Zu-IDE-Adapter in meinen Retro-Rechnern benutzen und die HDDs konnte ich zurückschicken...nur was ich mit zusätzlichen 3TB an SSDs jetzt machen soll weiß ich noch nicht so recht.^^
 
Last edited:

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get your own in 60 seconds.

Buy now!