Proxmox VE 5x LVM2 – LVMthin mit 2x SSD im Raid0

Das Thema LVM2 und LVMthin ist etwas vielschichtiger und wird von mir hier grundlegend angesprechen. Ziel soll es sein in Proxmox VE 5.x zwei weitere SSD Festplatten über ein Raid0, als LVM Thin (LVM2), für Images bereitzustellen.

Vorausgegangen sind diese Themen:

Mit Softwareraid und mdadm kenne ich mich recht gut aus und nutze es meistens als Raid6 ohne Probleme. ZFS ist ein tolles Dateisystem und kann grob mit einem Raid verglichen werden, leistet jedoch wesentlich mehr, u.a. Snapshot Funktionen und Fehlerkorrektur. Da mir der Einsatz durch mehr RAM, zusätzliche SSDs für Log und Cache und min 10GB Netzwerk nicht möglich ist, habe ich mich für ein Softwareraid0 (striped) entschieden.

Raid Level 0 (Null) funktioniert wie folgt – die Daten werden simultan über die beteiligten Festplatten geschrieben. D.h. bei 100MB, liegen auf z.B. 2 Festplatten jeweils 50MB. Der Vorteil ist u.a. eine schnelle Lese- und Schreibgeschwindigkeit, sowie doppelt nutzbare Kapazität. Der Nachteil – fällt eine Festplatte aus, sind die Daten auf beiden verloren.

Softwareraid0 (SWRaid) mit mdadm erstellen

Die beiden verwendeten Festplatten (sda und sdb) sind neu und werden zunächst als SRaid0 konfiguriert.

  • mdadm installieren: # apt-get install mdadm
  • mittles # fdisk -l oder # lsblk die vorhandenen Devices anzeigen (sda und sdb)
  • sollten noch Partitionen (sda1, sdb1,sdb2 etc.) existieren sind diese zu löschen
    • oder wenn das Raid über Partitionen erzeugt werden soll, dann sind diese als RAID zukennzeichnen (Typ=fd)
  • erstellen des Raid0 mittels mdadm
    • # mdadm --create --verbose /dev/<RAID Array Name> --level=<RAID Level> --raid-devices=<Zahl der Disks> <Disk1> <Disk2>
      • –create = Anweisung zum erzeugen eines Raid
      • –verbose = erweiterte Ausgabe an Meldungen
      • <RAID Array name> = Name und Ort des Raids Devices was unter /dev/ liegen sollte
      • — level = bestimmt das Raid Level (0, 1, 5, 6)
      • –raid-devices = gibt die Anzahl der Disks an die für das Raid verwendet werden sollen
      • <Disk1>… = gibt den Pfad zur Disk an
    • Beispiel: # mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sda /dev/sdb
    • Status überprüfen:
      • # cat /proc/mdstat
    • oder
      • # mdadm -D /dev/md0
  • erstellen des Dateisystems, ich werde ext4 verwenden
    • # mkfs -t ext4 /dev/md0
  • Mountpoint für das Raid erstellen
    • #mkdir /media/md0
  • einbinden des Raid sodass es  auch nach einem Neustart angebunden wird
    • herausfinden der UUID: # blkid |grep md
    • diese UUID nun wie folgt eintragen (ich nutze gegen Vertipper: # blkid |grep md0 >> /etc/fstab und passe an):
      • # nano /etc/fstab
        • UUID=<Raid UUID> /media/md0 ext4 defaults 0 0
    • Test mittels: # mount -a
  • nun Rechner neustarten und prüfen

Proxmox LVMThin (LVM2) für VMS einrichten

Zuvor wurde das Raid erfolgreich auf allen Servern erstellt. Der aktuelle Status ist nun folender:

  • sda und sdb sind im Software-Raid-Null für Node1, Node2 und Node3 erstellt

Weiter geht es mit der Erstellung des LVM2 als Vorbereitung zum LVM Thin:

  • neue Partition auf dem gesamten Raid der 1. Partition erstellen:
    • # sgdiks -N=0 /dev/md0
  • Server neustarten:
    • # reboot
  • nun das gesamte Raid für LVM als Phyisical Volume (PV) vorbereiten, wobei -ff = force und -y=alles mit Ja beantworten bedeutet, metadatasize is LVM2 default mit 512Byte:
    • # pvcreate -y -ff /dev/md0
  • Status anzeigen
    • # pvs
    • # pvdisplay
  • jetzt wird die Volume Group (VG) mit dem Namen “vmstorage” über das Raid erstellt:
    • # vgcreate vmstorage /dev/md0
  • Status anzeigen
    • # pvdisplay
    • # vgdisplay
  • nun kann das logische Volumen (LV) über die gesamte Größe der VG “vmstorage” mit dem Namen der LV “vmdata” erstellt werden (-l=Größe, -T=thin, -n=Name
    • # lvcreate -l100%FREE -T -n vmdata vmstorage
  • nun erfolgt die Konvertierung in ein LVM Thin:
    • # lvconvert --type thin-pool vmstorage/vmdata

Alle obigen Schritte wiederhole ich für die anderen Nodes / Rechner / Server im Cluster.

LVM Thin in der Proxmox VE WebGUI einrichten

  • unter Rechenzentrum -> Storage -> Button “Hinzufügen” -> “LVM thin” klicken

    Proxmox VE Storage LVM Thin add

    Proxmox VE Storage LVM Thin add

  • nun werden die Felder entspr. konfiguriert:
    Proxmox VE Storage LVM Thin Setup

    Proxmox VE Storage LVM Thin Setup

    • ID = Name des LVM z.B. LVM-Thin-Storage
    • Volume Group (VG) = vmstorage
    • Thin Pool = “vmdata”
    • Inhalt = Disk-Image, Container
    • Knoten = server1, server2, server3

Damit ist die Erstellung eines LVM Thin Volumes unter Proxmox VE 5.x mit darunter liegenden Raid0 auf 2x SSD, abgeschlossen. Die vituellen Maschinen können nun direkt dorthinein erstellt werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.