Das Thema LVM2 und LVMthin ist etwas vielschichtiger und wird von mir hier grundlegend angesprochen. 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:
- https://www.taste-of-it.de/proxmox-ve-usb-stick-erstellen/
- https://www.taste-of-it.de/proxmox-ve-5-2-3-node-cluster-erstellen/
- https://www.taste-of-it.de/proxmox-ve-5-x-installation-partitionen/
- https://www.taste-of-it.de/proxmox-ve-5-2-ceph-storage-erstellen/
- https://www.taste-of-it.de/proxmox-ve-5-x-netzwerk-im-bond-erstellen/
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 wirdherausfinden 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
- 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.
Interessiert in verschiedenste IT Themen, schreibe ich in diesem Blog über Software, Hardware, Smart Home, Games und vieles mehr. Ich berichte z.B. über die Installation und Konfiguration von Software als auch von Problemen mit dieser. News sind ebenso spannend, sodass ich auch über Updates, Releases und Neuigkeiten aus der IT berichte. Letztendlich nutze ich Taste-of-IT als eigene Dokumentation und Anlaufstelle bei wiederkehrenden Themen. Ich hoffe ich kann dich ebenso informieren und bei Problemen eine schnelle Lösung anbieten. Wer meinen Aufwand unterstützen möchte, kann gerne eine Tasse oder Pod Kaffe per PayPal spenden – vielen Dank.