DAS Shared Storage mit Snapshots

BenjaminG

New Member
Jan 29, 2018
4
0
1
40
Hallo zusammen,

ich bin vor kurzem günstig an 2 HP Server + eine MSA mit FC für mein Home Lab gekommen.
Jetzt versuche ich mich ein bisschen ausserhalb meiner gewohnten ESX Welt fortzubilden und probiere mich gerade mit Proxmox.
Soweit sieht das alles sehr vielversprechend aus, aber an einer Sache scheitere ich gerade: Den MSA Storage einbinden.
Ich habe dort 2 Volumen gemacht.
1) 2TB VM Storage wird auf beiden Servern unter /dev/sdb gefunden
2) 100GB als ISO-Storage wird auf beiden Servern unter /dev/sdc gefunden

und mit beiden habe ich so meine Mühen.
Den ISO Speicher hätte ich gerne geshared. Also habe ich ihm eine Partition mit ext4 verpasst und als /mnt/isostore gemounted. Jetzt kann ich auf der GUI das zwar als shared einbinden und als ISO Store verwenden, aber geshared ist das nicht wirklich. eine hochgeladene ISO erscheint nur auf dem ersten Server.

Ebenso beim VM Storage. Ich hätte das natürlich gerne shared, thin und mit Snapshots.
LVM hat keine Snapshots, LVM-Thin ist nicht shared. Also wie bekomme ich das hin? 2 Server mit Zentralem storage ist ja irgendwie Sinnlos, wenn man die VMs dann nicht im Betrieb verschieben kann :)

Vermutlich mache ich hier grad die totalen Anfängerfehler und entschuldige mich jetzt schon für meine blöden Fragen.

Gruß Benni
 
Hi Benni,

so funktioniert das leider nicht. Du sagst Du hast auf dem ISO Volume ext4. Ext4 ist aber leider kein Cluster Filesystem. D. h. wenn Du auf dem einen Server eine ISO Datei hochlädst, "erfährt" der andere Server davon nichts (einfach ausgedrückt) und "sieht" dadurch die Datei auch nicht. Für ihn hat sich am Dateisystem nichts geändert. Wenn du das Volume unmountest und wieder mountest, wirst du die Datei sehen. Entspr. kannst du dir vorstellen was passiert, wenn beide Server etwas am Dateisystem ändern - das geht in die Hose.
Du benötigst ein verteiltes Dateisystem wie bspw. OCFS2, GFS2 oder GlusterFS. VMwares VMFS ist ebenfalls ein verteiltes Dateisystem, deshalb klappt das mit ESX "out of the box".
Wenn die MSA NFS kann geht es damit natürlich auch und ist verm. auch die einfachste Lösung. Performance ist für ein Homelab kein Thema. Im produktiv Betrieb würde ich das nur für billigen Speicher, an den man keine besonderen Performance Ansprüche stellt, nehmen (ja, jetzt werden mich wahrscheinlich einige steinigen, weil Netapp etc. auch gerne mit NFS spielt... das ist total daneben!).

Gruß
Marcus
 
  • Like
Reactions: BenjaminG
Hi Marcus,

ja das mach natürlich Sinn.
Ich war irgendwie ein bisschen festgefahren in der Denke, das ich hier ja kein Cluster FS brauche, da beide hosts direkt angebunden sind. Manchmal sieht man halt den Wald vor lauter Bäumen nicht :)
Ich habs jetzt nach icicimov.github.io/blog/virtualization/Adding-GlusterFS-shared-storage-to-Proxmox-to-support-Live-Migration/ probiert und das funkltioniert wunderbar.

Tausend Dank!
 

Ich nehme mal an, du hast je ein Volume an einen Rechner gehängt, dort XFS oder EXT4 installiert und dann glusterfs darauf zum Laufen gebracht? Falls nicht, bitte genauer erzählen was du gemacht hast.

Laut Proxmox VE Wiki (https://pve.proxmox.com/wiki/Storage:_GlusterFS) und laut GlusterFS Webseite (https://de.wikipedia.org/wiki/GlusterFS) - und so wie ich es immer verstanden und verwendet habe - ist GlusterFS eben genau eben kein shared storage im Sinne von shared block storage - also identische Daten liegen an jedem System an (sein SAN) und werden direkt verwendet, sondern eher Verteilung und Replikation auf Dateiebene. GlusterFS hat früher auch immer Werbung gemacht vom Dezentralisieren von Speicher, das SAN ist aber der Inbegriff der Zerntralisierung.

Für den SAN-Fall gibt es nur OCFS2 und GFS2, der dir auf einem shared-volume ein Dateisystem anlegt, dass du als Dateisystem auf allen Knoten verwenden kannst (also das was ESXi implizit immer macht).
 
@LnxBil
Es ist auch kein shared Block Storage - stimmt. Aber doch ein Shared File Storage. Laut deinem Wiki Link:
"Die Daten auf allen Cluster-Nodes können gleichzeitig gelesen und geschrieben werden, wobei alle Änderungen an Dateien auf allen Servern augenblicklich umgesetzt werden."

D. h. er kann den Storage als Filesystem mounten und dort seine .qcow2 Images ablegen. Sie sind dann auf jedem Knoten im Cluster verfügbar. Oder verstehe ich da was falsch?
 
Hi

ich habe jetzt mit GlusterFS (also ein LV erstellt, mit XFS formatiert und darauf dann GlusterFS aufgesetzt) mal ein bisschen getestet und per Script Maschinen ein paar Stunden lang auf andere Volumen gezogen, zwischen den Hosts migriert, snapshots erstellt usw.
Schon jetzt sind 2 VMs kaputt, sprich die qcow2 Abbilder sind defekt.
(
qcow2: Image is corrupt: Data cluster offset 0xe0e7188ee34600 unaligned (L2 offset: 0x20050000, L2 index: 0x4); further non-fatal corruption events will be suppressed
)

Was natürlich erklärbar wäre, wenn die Server davon ausgehen hier ihren eigenen Speicher zu haben, in Wahrheit aber beide auf dem gleichen rumfuhrwerken. Dann ist sowas schnell mal zerbröselt.


Also werde ich heute Abend mal versuchen das ganze per GFS2 zu machen. Auf die schnelle habe ich da kein HowTo gefunden. Kennt jemand zufällig eines?
 
Also werde ich heute Abend mal versuchen das ganze per GFS2 zu machen. Auf die schnelle habe ich da kein HowTo gefunden. Kennt jemand zufällig eines?

Früher war das einfach
@LnxBil
Es ist auch kein shared Block Storage - stimmt. Aber doch ein Shared File Storage. Laut deinem Wiki Link:
"Die Daten auf allen Cluster-Nodes können gleichzeitig gelesen und geschrieben werden, wobei alle Änderungen an Dateien auf allen Servern augenblicklich umgesetzt werden."

D. h. er kann den Storage als Filesystem mounten und dort seine .qcow2 Images ablegen. Sie sind dann auf jedem Knoten im Cluster verfügbar. Oder verstehe ich da was falsch?

Das ist alles schon richtig, aber die Daten liegen halt doppelt auf einem Shared-Block-Storage und führt die initiale Konstruktion ad absurdum. Das würde besser mit lokalen Platten funktionieren.
 
Also werde ich heute Abend mal versuchen das ganze per GFS2 zu machen. Auf die schnelle habe ich da kein HowTo gefunden. Kennt jemand zufällig eines?

Ich hatte es damals so gemacht, kann heute natürlich abweichen:
Pakete installieren, GFS2 Dateisystem anlegen, einmounten und dann ein Verzeichnis in der PVE-GUI anlegen, dass als Shared markiert ist.

Ich würde das alles aber zuerst in zwei VMs probieren, bevor du dir die Installation zerschießt.
 

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!