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 vergewissern Sie sich, 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 Sie alle Einstellungen überprüft haben, speichern Sie ein Backup dieser Datei:
-
cat /etc/lvm/backup/<vg_name> > /pfad/zur/lvm_backup_datei
Beispiel:
cat /etc/lvm/backup/vg0 > /media/storage/lvm_backup_datei
-
Starten Sie nun den Server im Rescue System.
-
Sobald Sie sich im Rescue System eingeloggt haben,
mount
en Sie bitte die Partition, welche dielvm_backup_datei
enthält, kopieren Sie diese in das Dateisystem des Rescue Systems undumount
en Sie die Partition anschließend: -
mount /dev/<partition> /mnt cp /mnt/pfad/zur/lvm_backup_datei lvm_backup_datei umount /mnt
Beispiel:
mount /dev/sdb1 /mnt cp /media/storage/lvm_backup_datei lvm_backup_datei umount /mnt
-
Überprüfen und stellen Sie sicher, dass keine der Partitionen mehr eingehängt ist:
lsblk
-
Geben Sie den Inhalt der
lvm_backup_datei
mittelscat
aus und kopieren Sie die UUID (Universally Unique Identifier) der betreffenden<partition>
:cat lvm_backup_datei physical_volumes { pv0 { id = "ek9MZu-UeBK-4boe-IkJU-Q4n7-yfpX-yLK1WY" -> Kopieren Sie diese UUID [...]
-
Anschließend verwenden Sie 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üfen Sie nun, ob das Physical Volume erstellt wurde:
pvs
-
Als nächstes stellen Sie die Volume Group (VG) wieder her:
vgcfgrestore -force <vg_name>
Beispiel:
vgcfgrestore –force vg0
-
Anschließend Synchronisieren Sie die Daten der Volume Group:
vgscan
-
Überprüfen Sie nun, ob die Volume Group ordnungsgemäß wiederhergestellt wurde:
vgs
-
Als Nächstes stellen Sie das LVM wieder her:
vgchange -ay <vg_name>
Beispiel:
vgchange -ay vg0
-
Zum Schluss starten Sie den Server neu und lassen diesen in das installierte System booten. Überprüfen Sie dort bitte, ob alle Daten intakt sind. Wenn Sie noch immer Probleme feststellen, ziehen Sie bitte einen Dateisystem-Check in Betracht.