Dieser Artikel beschreibt die Wiederherstellung eines nicht mehr erkannten Volumes und der darauf befindlichen Daten bei Verwendung von LVM (Logical Volume Manager).
Szenario
Die LVM-Metadaten eines Linux-Systems sind beschädigt und die Laufwerke oder Partitionen werden bei der Ausführung von PVdisplay, LVdisplay oder VGdisplay nicht mehr angezeigt.
Wiederherstellung des fehlenden Volumes
-
LVM sichert seine Meta-Daten nach jeder Änderung in
/etc/lvm/backup/<vg_name>(VG ~ Volume Group). Bitte vergewissere dich, dass diese Datei vorhanden ist und alle Volumes sowie deren Größen darin enthalten sind: -
logical_volumes { root { id = "j5rlvk-cGYE-fxbN-F8bO-p90r-x0FL-suSAUN" status = ["READ", "WRITE", "VISIBLE"] flags = [] creation_host = "unassigned-hostname" creation_time = 1475126039 # 2020-05-03 10:42:51 +0530 segment_count = 2 segment1 { start_extent = 0 extent_count = 6425 # 25.0977 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv0", 0 ] } segment2 { start_extent = 6425 extent_count = 15360 # 60 Gigabytes type = "striped" stripe_count = 1 # linear stripes = [ "pv1", 0 ] } } } -
Nachdem du alle Einstellungen überprüft hast, speicherst du ein Backup dieser Datei:
-
cat /etc/lvm/backup/<vg_name> > /pfad/zur/lvm_backup_dateiBeispiel:
cat /etc/lvm/backup/vg0 > /media/storage/lvm_backup_datei -
Starte nun den Server im Rescue System.
-
Sobald du dich im Rescue System eingeloggt hast,
mounte bitte die Partition, welche dielvm_backup_dateienthält, kopiere diese in das Dateisystem des Rescue Systems undumounte die Partition anschließend: -
mount /dev/<partition> /mnt cp /mnt/pfad/zur/lvm_backup_datei lvm_backup_datei umount /mntBeispiel:
mount /dev/sdb1 /mnt cp /media/storage/lvm_backup_datei lvm_backup_datei umount /mnt -
Überprüfst und stellst sicher, dass keine der Partitionen mehr eingehängt ist:
lsblk -
Gib den Inhalt der
lvm_backup_dateimittelscataus und kopiere die UUID (Universally Unique Identifier) der betreffenden<partition>:cat lvm_backup_datei physical_volumes { pv0 { id = "ek9MZu-UeBK-4boe-IkJU-Q4n7-yfpX-yLK1WY" -> Kopiere diese UUID [...] -
Anschließend verwendest du den folgenden Befehl, um das Physical Volume (PV) zu erstellen:
pvcreate –restorefile lvm_backup_datei –uuid <uuid> <partition>Beispiel:
pvcreate –restorefile lvm_backup_datei –uuid ek9MZu-UeBK-4boe-IkJU-Q4n7-yfpX-yLK1WY /dev/sda1 -
Prüfst nun, ob das Physical Volume erstellt wurde:
pvs -
Als nächstes stellst du die Volume Group (VG) wieder her:
vgcfgrestore -force <vg_name>Beispiel:
vgcfgrestore –force vg0 -
Anschließend synchronisierst du die Daten der Volume Group:
vgscan -
Überprüfst nun, ob die Volume Group ordnungsgemäß wiederhergestellt wurde:
vgs
Als Nächstes stellst du das LVM wieder her:
```batch
vgchange -ay <vg_name>
```
*Beispiel:*
```
vgchange -ay vg0
```- Zum Schluss startest du den Server neu und lässt diesen in das installierte System booten. Überprüfe dort bitte, ob alle Daten intakt sind. Wenn du noch immer Probleme feststellst, empfehle ich dir, einen Dateisystem-Check in Betracht zu ziehen.