Zwei Hosts, Proxmox Cluster, gemeinsames Storage oder abgleichen

spooner

Member
Sep 7, 2022
28
2
8
Hallo Zusammen,
ich hab aktuell einen Microsoft Hyper-V Host und einen Proxmox Host mit lokalem Storage (SSDs) laufen.
Jetzt will ich alles auf Proxmox umstellen.

Jetzt die Frage:
Soll ich ein Synology NAS als iscsi Lun an beide Hosts anbinden und ein Cluster aufbauen.
Oder zwei Host ohne gemeinsames Storage und die für den HA Fall irgendwie abgleichen.

Welche Möglichkeiten gibt es?
Was ist einfacher von der Konfiguration?
Was ist einfacher von der Wartung?

Viele Grüße
Arthur
 
es gibt mehrere Möglichkeiten. Kommt drauf an, welche Ressourcen du benötigst. Passen alle VMs auf einen Node? Brauchst du HA oder nicht?
Wie sieht dein Backup aus? Vielleicht willst du einen 2 Host als Backupserver machen.
iSCSI würde ich nicht empfehlen, stattdessen wäre NFS besser. Du kannst auch weiterhin lokal Storage nutzen mit zfs und einen HA Cluster nutzen inkl. Replikation. DAzu brauchst du nicht zwingend geteilten Speicher.
zfs hat den Vorteil, du kannst auch lxc verwenden.
Konfiguration ist gneerell simpel bei Proxmox.
Wartungsaufwand ist auch gering bei allen.
Bedenken solltest du nur, um so mehr Abhängigkeiten du einbaust wie NFS, HA, umso anfälliger wird deine Lösung.
 
  • Like
Reactions: cbrocker
Jetzt die Frage:
Soll ich ein Synology NAS als iscsi Lun an beide Hosts anbinden und ein Cluster aufbauen.
Bitte nicht, das wird dann deutlich langsamer und es wird deutlich komplizierter. NFS ist deutlich einfacher mit mehr Features, aber schnell ist so ein NAS meistens trotzdem nicht.
Oder zwei Host ohne gemeinsames Storage und die für den HA Fall irgendwie abgleichen.

Welche Möglichkeiten gibt es?
Am einfachsten ZFS mit Replikation (empfehle ich bei 2 Node Clustern immer) oder ab 3 Node Cluster Ceph.
Was ist einfacher von der Konfiguration?
ZFS und Ceph sind in der GUI und einfach zu benutzen, aber einlesen muss man sich trotzdem, vor allem für das Sizing.
Was ist einfacher von der Wartung?
Ceph und ZFS. ;)

Was für Hardware hast du denn? Vor allem was für SSDs sind das denn?
 
Hallo Zusammen,
Danke für die Antworten.
Also von der Performance sollte alles auf einem Host laufen können.
Muss ich mal genau zusammen rechnen bin unterwegs.
Es sind zwei Lenovo Workstation mit Crucial MX500 SSDs, keine NVMe.

Das mit der ZFS Replikation hört sich gut an.

HA brauche ich nicht zwingend.
War nur ne Überlegung da es möglich, identische Hosts von der Hardware sind.

ZFS hab ich jetzt schon eingerichtet.
Ceph muss ich googlen, hab ich noch nie gehört.

Gruß Arthur
 
Hallo,
ich hänge mich hier mal dran, da ich auch noch Fragen zu den Themen habe.

Mein IST-Zustand:
2 x HP Elitedesk 800 G4 (mit jeweils 1 SSD M.2 512 GB), 1 Raspberry Pi 4,
damit habe ich ein Cluster mit 2 Nodes und einem qdevice (Rasp Pi) erstellt.
Mein Netzwerk und alle Aktivkomponenten haben 1 GBit/s
Auf einem Node habe ich bisher 4 CTs und 1 VM:
- iobroker
- Wireguard
- PiHole
- HomeAssistant (VM)
- MariaDB (nur zum Rumspielen)

Wöchentlich läuft ein Backup der CTs/VM auf meine Synology NAS.
Habe die Backups auch schon testweise zurückgespielt usw.
Läuft alles soweit gut.

Nun die Fragen:
Für HA muß ja ein Shared Storage vorhanden sein (meine NAS)
Ist die Performance hier deutlich schlechter, als wenn die CTs/VM auf Lokal-LVM liegen?
(HA wäre natürlich nur zum Spielen/Üben/Lernen)
Außerdem wäre der Traffic von/zur NAS ja erheblich größer?

Für Replikation ist ja ZFS notwendig.
Sind für ZFS mind. 2 Platten erforderlich (mind. RAID1)?

Im Fall eines Ausfalls und Aktivierung der replizierten CTs/VM hätte ich ja einen zeitlichen Datenverlust (je nach Häufigkeit der Replizierung)
Für was ist eine Replikation sinnvoll?

Dann bräuchte ich größere "Server", damit ich da 3-4 Festplatten einbauen könnte, damit ZFS Sinn macht?

Ich danke euch für die Zeit und Antworten
Grüße Christoph

1717105564712.png
 
Hallo Zusammen,
Danke für die Antworten.
Also von der Performance sollte alles auf einem Host laufen können.
Muss ich mal genau zusammen rechnen bin unterwegs.
Es sind zwei Lenovo Workstation mit Crucial MX500 SSDs, keine NVMe.
Die SSDs nicht nicht gerade für ZFS geeignet. Wenn du wenig VMs/LXC drauf hast kann das funktionieren aber Wenn du etwas Schreiblast erzeugst, gehen die Consumer SSDs schnell in die Knie und sterben dann auch schnell.
Das mit der ZFS Replikation hört sich gut an.
Replikation ist Cool, aber wenn du das nicht brauchst, kann man die SSDs auch etwas schonen.
HA brauche ich nicht zwingend.
War nur ne Überlegung da es möglich, identische Hosts von der Hardware sind.

ZFS hab ich jetzt schon eingerichtet.
Ceph muss ich googlen, hab ich noch nie gehört.
Ceph ist eine Scale Out Storagevirtualisierung, wofür du mindestens 3 Nodes und am besten mindestes 3 Disks/SSDs pro Node.
Außerdem brauchst du ein schnelles Netzwerk dafür.
 
Hallo,
ich hänge mich hier mal dran, da ich auch noch Fragen zu den Themen habe.

Mein IST-Zustand:
2 x HP Elitedesk 800 G4 (mit jeweils 1 SSD M.2 512 GB), 1 Raspberry Pi 4,
damit habe ich ein Cluster mit 2 Nodes und einem qdevice (Rasp Pi) erstellt.
Mein Netzwerk und alle Aktivkomponenten haben 1 GBit/s
Auf einem Node habe ich bisher 4 CTs und 1 VM:
- iobroker
- Wireguard
- PiHole
- HomeAssistant (VM)
- MariaDB (nur zum Rumspielen)

Wöchentlich läuft ein Backup der CTs/VM auf meine Synology NAS.
Habe die Backups auch schon testweise zurückgespielt usw.
Läuft alles soweit gut.

Nun die Fragen:
Für HA muß ja ein Shared Storage vorhanden sein (meine NAS)
Ist die Performance hier deutlich schlechter, als wenn die CTs/VM auf Lokal-LVM liegen?
(HA wäre natürlich nur zum Spielen/Üben/Lernen)
Außerdem wäre der Traffic von/zur NAS ja erheblich größer?

Für Replikation ist ja ZFS notwendig.
Sind für ZFS mind. 2 Platten erforderlich (mind. RAID1)?

Im Fall eines Ausfalls und Aktivierung der replizierten CTs/VM hätte ich ja einen zeitlichen Datenverlust (je nach Häufigkeit der Replizierung)
Für was ist eine Replikation sinnvoll?

Dann bräuchte ich größere "Server", damit ich da 3-4 Festplatten einbauen könnte, damit ZFS Sinn macht?

Ich danke euch für die Zeit und Antworten
Grüße Christoph

View attachment 69015

Wenn Dein Netzwerk "sauber" ist, wird es mit Deinen NAS als geteiltes NFS-Storage funktionieren. Spass wirst Du daran wohl aber nicht haben. Geschwindigkeit wird nicht super toll sein und ein Netzwerkunterbruch bedeutet dann gleich mal ein paar IO-Ausfaelle. Auch wird das Netz dann immer zusaetzlich ausgelastet sein sofern Du nicht ein dediziertes Netz dazu verwendest.

Ich wuerde eher zu ZFS-Replikation tendieren. Dort kannst Du definieren, wie oft die VM auf das Ziel-System synchronisiert wird. ZFS ist da sehr intelligent und so dauern die Abgleiche (wenn keine grossen Daten geaendert wurden) nur ein paar Sekunden. Auch wenn dies einen Datenverlust bedeuten wuerde. Schnellster Abstand den Du konfigurieren kannst, ist 1 Minute - Du haettest dann also max 1min Verlust. Natuerlich musst Du dann auf beiden Servern mindestens so viel Storage haben wie alle gesyncten VMs/Container brauchen.
Da Du das Backup nur woechentlich machst, haettest Du dann noch eine weitere Option den Host innert Sekunden mit dem fast aktuellsten Stand hochzufahren - eventuell auch mit HA. Bedenke aber, dass Du dann einen Datenverlust haben wirst. Deshalb mache ich solche Sachen gerne manuell.
Netter Nebeneffekt ist, dass wenn Du eine VM live migrieren moechtest, dass dann immer nur noch das Delta zum letzten Snapshot uebertragen wird. LXC unterstuetzt uebrigens keine Live-Migration.

Fuer richtiges Cluster-FS mit Ceph sollte es mindestens ein dediziertes 10GB/s Netz sein. Aber Du kannst das natuerlich testweise mal einrichten. Technisch wird es funktionieren.

ZFS kannst Du auch mit nur einer Disk machen. Fuer schnell zum Testen sehr zu empfehlen.
 
  • Like
Reactions: cbrocker
Hallo,
ich hänge mich hier mal dran, da ich auch noch Fragen zu den Themen habe.

Mein IST-Zustand:
2 x HP Elitedesk 800 G4 (mit jeweils 1 SSD M.2 512 GB), 1 Raspberry Pi 4,
damit habe ich ein Cluster mit 2 Nodes und einem qdevice (Rasp Pi) erstellt.
Mein Netzwerk und alle Aktivkomponenten haben 1 GBit/s
Auf einem Node habe ich bisher 4 CTs und 1 VM:
- iobroker
- Wireguard
- PiHole
- HomeAssistant (VM)
- MariaDB (nur zum Rumspielen)

Wöchentlich läuft ein Backup der CTs/VM auf meine Synology NAS.
Habe die Backups auch schon testweise zurückgespielt usw.
Läuft alles soweit gut.
Ich persönlich würde die Backups lieber täglich laufen lassen.
Sind für ZFS mind. 2 Platten erforderlich (mind. RAID1)?
Nein, du kannst natürlich mit einer Single Disk beginnen. Ist alles eine Frage wie Wichtig die Daten sind.
Im Fall eines Ausfalls und Aktivierung der replizierten CTs/VM hätte ich ja einen zeitlichen Datenverlust (je nach Häufigkeit der Replizierung)
Für was ist eine Replikation sinnvoll?
Wie schon geschrieben, kannst du bis zu 1 Minuter herunter gehen. In der Regel sollte alle 5 Minuten reichen.
Dann bräuchte ich größere "Server", damit ich da 3-4 Festplatten einbauen könnte, damit ZFS Sinn macht?
Nicht zwingend, aber wenn du ein Rechner mit ECC RAM hast und 2 Disks für Mirror, dann hättest du alle Benefits von ZFS.
 
  • Like
Reactions: cbrocker
OK, zfs ist ja nicht das Problem, sondern die Replikation.
Sprich, desto weniger man repliziert, desto schonender für die SSDs.
Ich muss die SSDs eh tauschen, worauf muss ich bei neuen achten?
 
Wenn die VMs nicht viel schreiben, wird auch nicht viel repliziert.
Wenn du neue SSDs kaufen möchtest, sollten die PLP (Power Loss Protection) haben. In der Regel gibt es das nur bei Enterprise SSDs. Wenn du keine sehr großen SSDs brauchst kann man da auf dem Gebrauchtmarkt auch Schnäppchen finden.
 
OK, zfs ist ja nicht das Problem, sondern die Replikation.
Sprich, desto weniger man repliziert, desto schonender für die SSDs.
Ich muss die SSDs eh tauschen, worauf muss ich bei neuen achten?

ZFSsync hat den Vorteil, dass ZFS "weiss" was das Delta ist (Wegen copy-on-write). Damit Syncen ist schon optimiert auf das "nur" schreiben vom nötigsten Es wird ja nur das Delta transferiert und auf dem Storage nur das Delta geschrieben.

Hast du kein ZFS und verwendest Rsync/Rclone ist das ggf. nicht so effizient. Das ist mathematisch maximal ein Faktor 2 im worst case. Wenn das "wirklich" ein Problem ist, dann sdelete / dd if=zero auf den VM Platten machen. Dank qcow2 schriebt es dir dann zumindest die leeren Bereiche wieder zusammen.

------


"Schonung" ist so ne Sache. Ich habe das betriebswirtschaftlich (für mich) durchgerechnet:

"Wieviel in Euro will ich für eine Laufzeit von 24 oder 36 Monaten pro Gigabyte bezahlen?"

Da kommt ein Betrag in Euro raus - bei dir ggf. was anderes wie bei mir.

Wenn du jetzt feststellst - hui - nach 24 oder 36 Monaten sind die Platten erst im 20% wear (also haben noch theoretisch 4x so viel Zeit wie vorgerechnet) dann kannst dich:

1) freuen das sie länger halten und du "gratis" zeit bekommst
oder
2) die Platten trotzdem tauschen und sie iwo in ein Backup Gehäuse schrauben

Warum die 24 / 36 Monate? Weil das halt einfach die Garantiezeit des Herstellers ist. In der Zeit wird für die definierte Menge kein weiteres Budget (ausser Wartung und ggf. Garantietausch) benötigt.

(Ich bin jetzt bei 18 Monaten bei meinen Platten hier auf 3%.)
 
Last edited:
@devaux @Falk R.
Vielen Dank für die Feedbacks und Infos. Sind ja wirklich unbegrenzte Möglichkeiten, die sich da bieten.
Das werde ich mir genauer durchlesen und durchspielen.

Noch diese Fragen:

- ZFS Replikation geht aber nur im Cluster oder ginge das auch ohne? (bin gerade matschig im Kopf, deswegen diese Frage)

- Bei der Installation habe ich ext4 genommen (-> LVM), für Replikation ist ja ZFS als Filesystem notwendig.
Könnte ich nachträglich auf meiner Platte eine weitere Partition mit ZFS erstellen oder wäre es einfacher,
eine 2. SSD M.2 Platte einzubauen und diese als ZFS einrichten oder müsste ich Proxmox komplette neu
installieren und ZFS auswählen? (können aber dann die bestehenden Backups in ZFS zurückgespielt werden?
(oder bringe ich jetzt einiges durcheinander?)
 
- ZFS Replikation geht aber nur im Cluster oder ginge das auch ohne? (bin gerade matschig im Kopf, deswegen diese Frage)
Im Cluster geht das ganz einfach über die GUI, ohne Cluster geht das auch, aber selbst Scheduled mit zfs send
- Bei der Installation habe ich ext4 genommen (-> LVM), für Replikation ist ja ZFS als Filesystem notwendig.
Könnte ich nachträglich auf meiner Platte eine weitere Partition mit ZFS erstellen oder wäre es einfacher,
eine 2. SSD M.2 Platte einzubauen und diese als ZFS einrichten oder müsste ich Proxmox komplette neu
installieren und ZFS auswählen? (können aber dann die bestehenden Backups in ZFS zurückgespielt werden?
(oder bringe ich jetzt einiges durcheinander?)
Bei Linux geht theoretisch alles. Man könnte das LVM-Thin löschen und dann die VG und Partition verkleinern.
Ist alles nicht so trivial, wenn du nicht viel konfiguriert hast, ist eine Neuinstallation schneller.
Je nachdem was für eine SSD du hast, lohnt sich manchmal der Invest in eine vernünftige SSD für den ZFS-Pool
 
  • Like
Reactions: cbrocker
Im Cluster geht das ganz einfach über die GUI, ohne Cluster geht das auch, aber selbst Scheduled mit zfs send

Bei Linux geht theoretisch alles. Man könnte das LVM-Thin löschen und dann die VG und Partition verkleinern.
Ist alles nicht so trivial, wenn du nicht viel konfiguriert hast, ist eine Neuinstallation schneller.
Je nachdem was für eine SSD du hast, lohnt sich manchmal der Invest in eine vernünftige SSD für den ZFS-Pool

danke.
Viel konfiguriert habe ich noch nicht. Nur den Cluster.

Was wären vernünftige SSDs?

Wenn ich die Platte in ZFS formatiere, kann ich aber problemlos die Backups der CTs/VMs auf local-ZFS zurückspielen?
Was ich noch nicht verstehe, wenn ich die einzige Platte mit zfs formatiere, muß ich dann trotzdem einen zfs-Pool anlegen
für die Replikation?
 
Was wären vernünftige SSDs?
Vernünftige haben PLP, Power Loss Protection. Es gibt Preissuchmaschinen mit einem solchen Filter. Sonst haben alle Enterprise SSDs so etwas, welche es manchmal gebraucht auch bezahlbar gibt.
Wenn ich die Platte in ZFS formatiere, kann ich aber problemlos die Backups der CTs/VMs auf local-ZFS zurückspielen?
Was ich noch nicht verstehe, wenn ich die einzige Platte mit zfs formatiere, muß ich dann trotzdem einen zfs-Pool anlegen
für die Replikation?
Du Formatierst ja nicht sofort.
Wenn du in der GUI ein ZFS anlegst, ist das ein ZFS Pool, rein als Blockdevice. Wenn du Dateien ablegen willst kannst du ein Dataset erstellen wo dann erst das Filesystem genutzt wird. Das ganze ist dynamisch, so dass man alles parallel nutzen kann.
 
  • Like
Reactions: cbrocker
danke.
Viel konfiguriert habe ich noch nicht. Nur den Cluster.

Was wären vernünftige SSDs?

Wenn ich die Platte in ZFS formatiere, kann ich aber problemlos die Backups der CTs/VMs auf local-ZFS zurückspielen?
Was ich noch nicht verstehe, wenn ich die einzige Platte mit zfs formatiere, muß ich dann trotzdem einen zfs-Pool anlegen
für die Replikation?

Falls Du Dich entscheidest, eine zusaetzliche SSD (auf beiden der VM-Hosts) einzubauen, kannst Du die Disks von den VMs einfach bei Laufzeit vom momentanen LVM auf den neu formatierten ZFS-Pool rueberschieben. Die CT gehen leider nicht live, die musst Du zuerst beenden.
Du kannst den gleichen Pool fuer die laufenden VMs UND Replikation nutzen. So kannst Du dann die laufenden VMs von A nach B - und umgekehrt replizieren. Dann hast alle Disks auf allen VM-Hosts.
Wenn ein VM-Host nicht mehr laeufts, verschiebst Du dann einfach die Config Datei (geht leider nicht aus der GUI) auf dem noch laufenden Host und faehrst alle VMs/CT des defekten Hosts wieder hoch. Oder Du machst das automatisch mit "richtigem" HA. Lohnt sich dann sicher mal einzurichten um ein bisschen ein Gefuehl dafuer zu bekommen.

Hier das Beispiel mit "manueller" Reparatur ohne HA: https://www.youtube.com/watch?v=Os29FB_xpLM
 
  • Like
Reactions: cbrocker
Hallo Zusammen,
ich hab die Kingston DC600M und die Samsung PM893 gefunden, welche auch halbwegs bezahltbar sind.
Gruß Arthur
 
  • Like
Reactions: cbrocker
vielen dank für die Tipps und Infos.
Jetzt habe ich mal genug Input, um mich damit zu beschäftigen.

Schönes Wochenende
 
Falls Du Dich entscheidest, eine zusaetzliche SSD (auf beiden der VM-Hosts) einzubauen, kannst Du die Disks von den VMs einfach bei Laufzeit vom momentanen LVM auf den neu formatierten ZFS-Pool rueberschieben. Die CT gehen leider nicht live, die musst Du zuerst beenden.
Du kannst den gleichen Pool fuer die laufenden VMs UND Replikation nutzen. So kannst Du dann die laufenden VMs von A nach B - und umgekehrt replizieren. Dann hast alle Disks auf allen VM-Hosts.
Wenn ein VM-Host nicht mehr laeufts, verschiebst Du dann einfach die Config Datei (geht leider nicht aus der GUI) auf dem noch laufenden Host und faehrst alle VMs/CT des defekten Hosts wieder hoch. Oder Du machst das automatisch mit "richtigem" HA. Lohnt sich dann sicher mal einzurichten um ein bisschen ein Gefuehl dafuer zu bekommen.

Hier das Beispiel mit "manueller" Reparatur ohne HA: https://www.youtube.com/watch?v=Os29FB_xpLM

Hey Devaux,
welche config-Datei ist das?
 

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 yours easily in our online shop.

Buy now!