Cluster mit angehängtem SAN

maxm

New Member
Jan 13, 2017
16
2
3
Kurze Info zu meiner Umgebung vorab.
Ich nutze aktuell keine HA-Features für die auf den Knoten laufenden VMs.
Meine Zielsetzung war lediglich ein gemeinsames Volume auf einem vorhandenen SAN zu nutzen, wobei die Migration (online und offline) manuell durchgeführt werden sollte.

Mit den nachfolgenden Schritten habe ich mein 3-Knoten-Cluster entsprechend den o.a. Anforderungen ans laufen bekommen.
- Basisinstallation (4.1)
- um das eingerichtete SAN-Volume an die Knoten anbinden zu können multipath installiert (apt-get install multipath-tools)
- Erweiterung clvm für LVM sowie das clusterfähige gfs2-Dateisystem auf den Knoten installiert (apt-get install clvm gfs2-utils)
- DLM in den Kernel geladen (dlm in /etc/modules eingefügt)
- Cluster angelegt (pvecm create ....., pvecm add .....)
- clusterlogging für LVM aktiviert (lvmconf -enable-cluster)
- zunächst wurden die mit o.a. Paketen installierten Dienste dlm_controld und clvmd nanuell von der Shell gestartet.
- Prüfen, ob das dlm-Modul geladen und die o.a. Dienste gestartet wurden.
- Anlegen des Logical Volumes auf einem der Knoten um das SAN-Volume nutzen zu können (pvcreate /dev/mapper/......., vgcreate -cy ..., lvcreate ......)
- Installation des clusterfähigen Dateisystems gfs2 auf dem Logical Volume (mkfs.gfs2 -p lock_dlm -t ..... -j3 ....)
- Editieren der /etc/fstab (auf allen Knoten) um das Volume beim Systemstart einhängen zu können (/dev/....../.... /mnt/... gfs2 defaults,noatime,nodiratime 0 0)
- Speicher in der Proxmox-Web-GUI als "Verzeichnis" hinzugefügt (Versuch als LVM hinzuzufügen scheiterte)
- Dienste dlm and lvm2-cluster-activation aktiviert. Per Voreinstellung sind diese nicht aktiviert (systemctl enable ...)

Bezüglich LVM2 (early-activation and activation) tauchen Fehlermeldungen ("failed") während des Startvorgangs auf.
Um die Fehlermeldung des lvm2-activation Dienstes zu unterbinden, habe ich diesen deaktiviert, da trotz der Fehlermeldung alle LVMs verfügbar waren.
"LVM2-early-activation failed" taucht weiterhin auf. Diesbezüglich muss ich noch suchen, .....

Auch nach Upgrade auf 4.4 läuft der Cluster soweit. Die Maschinen lassen sich ohne Probleme auch online migrieren. Auch ein Neustart eines Knotens, z.B. zur Durchführung von Firmware-Upgrades, bereitete bisher keine Schwierigkeiten.

Feedback oder Verbesserungsvorschläge sind willkommen ;-)
 
Weshalb nicht? ;-)
Spaß beiseite. In der Dokumentation zu Proxmox habe ich wenig zu Möglichkeiten hinsichtlich der direkten Anbindung von SAN-Speicher gefunden. Da meine Knoten wenig lokalen, dafür aber ausreichend SAN-Speicher haben, wollte ich diesen als "shared Storage" im Sinne von zentralem Speicher und nicht CEPH verwenden. Dies ist zwar auch "shared" aber für mich nicht zentral sondern verteilt. Den Hinweis zu clvm hatte ich in einem Messegespräch erhalten und im Anschluß als Alternative zu GlusterFS auf dem SAN ausprobiert.
 
Früher war es notwendig und auch wenn man manuell etwas ändert. Entscheidend sind die Metadaten, die eben nicht synchronisiert werden. Dies macht Proxmox VE aber automatisch wenn man nur die GUI verwendet, sodass eine darunter liegende LVM-Synchronisierungslösung nicht notwendig ist.
 
Früher war es notwendig und auch wenn man manuell etwas ändert. Entscheidend sind die Metadaten, die eben nicht synchronisiert werden. Dies macht Proxmox VE aber automatisch wenn man nur die GUI verwendet, sodass eine darunter liegende LVM-Synchronisierungslösung nicht notwendig ist.
Hä?
verstehe ich nicht so recht. Warum gui-relevant?
Seit pve shared storage unterstützt, verwende (inzwischen verwendete wegen Jobwechsel) ich FC-SAN-storage für proxmox ve - funktioniert ohne GFS/gluster oder ähnliches. lvm anlegen und pve kümmert sich um's locking - cluster-lvm ist nicht notwendig.
Hat nur den Nachteil der fehlenden snapshot-Funktionalität.

Udo
 
Ich habe mich wohl etwas unklar ausgedrückt ... ich meine genau das was du geschrieben hast:

Wenn man nur die GUI - sprich Proxmox VE - verwendet hat man keine Probleme.

Die Probleme kommen aber, wenn man manuell via lv*-Kommandos selbst an Volumes rumschraubt, da genau dafür eine Synchronisation der Metadaten erforderlich ist (normalerweise cachet jedes System), die durch den cluster LVM bereitgestellt werden. Man hat ja auch kein clusterweites Locking, aber darum kümmert sich ja die Proxmox VE interne Logik, dass alles serialisiert wird.
 
Ich habe mich wohl etwas unklar ausgedrückt ... ich meine genau das was du geschrieben hast:

Wenn man nur die GUI - sprich Proxmox VE - verwendet hat man keine Probleme.

Die Probleme kommen aber, wenn man manuell via lv*-Kommandos selbst an Volumes rumschraubt, da genau dafür eine Synchronisation der Metadaten erforderlich ist (normalerweise cachet jedes System), die durch den cluster LVM bereitgestellt werden. Man hat ja auch kein clusterweites Locking, aber darum kümmert sich ja die Proxmox VE interne Logik, dass alles serialisiert wird.
Hi,
hmm - ich hab' so einiges über die console gemacht (lvresize, lvm-snapshots incl. rollbacks,...) und nie Ärger gehabt. Allerdings immer drauf geachtet dies auf der Node zu machen, wo da LV aktiv war (oder dort aktiviert, wo es sonst auch läuft).

Udo
 
Danke für die Hinweise. werde also versuchen die SAN-Anbindung ohne die zusätzlichen o.a. Schritte über die Web-GUI zu realisieren.

Die eingangs erwähnte Einrichtung hat Ihren Ursprung im Umstand, dass ich in einem Training und auch auf Nachfrage auf einer Messe die Aussage erhielt, SAN würde nicht unterstützt. Bevorzugt würde CEPH eingesetzt ... In der Doku (die grundsätzlich sehr hilfreich war!!) bin ich hinsichtlich der Anbindung von SAN nicht wirklich fündig geworden (mag auch am verbesserungswürdigen Englisch liegen;-)
 
Danke für die Hinweise. werde also versuchen die SAN-Anbindung ohne die zusätzlichen o.a. Schritte über die Web-GUI zu realisieren.

Die eingangs erwähnte Einrichtung hat Ihren Ursprung im Umstand, dass ich in einem Training und auch auf Nachfrage auf einer Messe die Aussage erhielt, SAN würde nicht unterstützt. Bevorzugt würde CEPH eingesetzt ... In der Doku (die grundsätzlich sehr hilfreich war!!) bin ich hinsichtlich der Anbindung von SAN nicht wirklich fündig geworden (mag auch am verbesserungswürdigen Englisch liegen;-)
Hi,
im Wiki sind Einträge über iscsi - was ja auch ein SAN entspricht. Mit Fibrechannel ist es simpler, weil ein Zwischenschritt wegfällt. Ist aber nicht so verbreitet und läuft meistens auch "out-of-the-box", weshalb es darüber nicht so viele Forumsbeiträge gibt (aber einige schon).

SAN-Support gibt es übrigens seit 2009: https://pve.proxmox.com/wiki/Roadmap#Proxmox_VE_1.4_beta1 (FC wird leider nie explizit genannt, ist durch den normalen Linux kernel aber abgedeckt).

Udo
 
Hi,
hmm - ich hab' so einiges über die console gemacht (lvresize, lvm-snapshots incl. rollbacks,...) und nie Ärger gehabt. Allerdings immer drauf geachtet dies auf der Node zu machen, wo da LV aktiv war (oder dort aktiviert, wo es sonst auch läuft).

Ist ja alles auch normalerweise nur böse wenn man es "gleichzeitig" macht :-D

Ich bin hier aber früher bei DRBD oft reingelaufen und hab mir einen Split-Brain zugezogen. Seit dem schalte ich immer Caching von LVM Metadaten in /etc/lvm/lvm.conf aus um hier immer auf Nummer sicher zu gehen.
 
Hatte ja auch "versucht" meine Lösung in beiden Sprachen zu kommunizieren (anderer Stelle trat schon "Unmut" mit dem Hinweis auf, dass es extra ein deutsches Forum gibt, wo man doch von allen im IT-Umfeld arbeitenden Werktätigen englische Sprachfertigkeiten erwarten könne ... ;-)
Dem stimme ich zwar grundsätzlich zu, .... aber die Ausdrucksweise der englischsprachigen Posts ist oft alles andere als einfach oder allgemeinverständlich gehalten.

Zurück zum Thema.
Habe also das logische Volume gelöscht,
Die Dienste für dlm und lvm2-cluster-activation wieder "disabled".
Das dlm-Modul entladen.
Den Parameter "locking_type" in der /etc/lvm/lvm.conf zurück auf den Ursprungswert "1" gesetzt.
Somit also sozusagen wieder Urzustand, bis auf den Umstand, daß die Knoten im Cluster laufen.

Nach Reboot der Knoten ist auf der Konsole nichts von der Volumegroup (vgdisplay) noch das Physikalische Volume (pvdisplay) zu sehen.
Beide Kommandos zeigen lediglich die zugehörigen Informationen der Proxmox-Installation (VG Name pve ...) an.
Ansonsten:
"Skipping clustered volume group SAN-volgrp
Cannot process volume group SAN-volgrp"
In der GUI kann der Speicher deswegen auch nicht als LVM-Storage hinzugefügt werden, da er die "existierende Volume-group" nicht findet.

Also scheint an dieser Stelle die reine Basisinstallation nicht ganz auszureichen.
 
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 yours easily in our online shop.

Buy now!