6.4. Wiederherstellen von Metadaten eines physischen Datenträgers
Falls der Bereich der Metadaten der Datenträgergruppe eines physischen Datenträgers aus Versehen überschrieben oder anderweitig zerstört wurde, erhalten Sie eine Fehlermeldung, die anzeigt, dass der Bereich der Metadaten inkorrekt ist, oder dass das System einen physischen Datenträger mit einer bestimmten UUID nicht finden konnte. Ggf. können Sie die Daten des physischen Datenträgers wiederherstellen, indem Sie unter Angabe derselben UUID wie bei den verlorenen Metadaten einen neuen Metadaten-Bereich auf dem physischen Datenträger erstellen.
Warnung
Sie sollten diese Prozedur nicht auf einem gerade aktiven, logischen LVM-Datenträger versuchen. Wenn Sie die falsche UUID angeben, werden Sie Ihre Daten verlieren.
Das folgende Beispiel zeigt in etwa die Ausgabe, die Sie im Falle eines fehlenden oder fehlerhaften Metadaten-Bereichs erhalten.
[root@link-07 backup]# lvs -a -o +devices
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
...
Sie können die UUID für den physischen Datenträger, der überschrieben wurde ggf. finden, wenn Sie einen Blick in das Verzeichnis
/etc/lvm/archive
werfen. Suchen Sie in der Datei VolumeGroupName_xxxx.vg
nach den letzten bekannten, archivierten LVM-Metadaten für diese Datenträgergruppe.
Alternativ können Sie die UUID des fehlenden, korrumpierten physischen Datenträgers ggf. durch das Deaktivieren des Datenträgers und Setzen des Parameters
partial
(-P
) ermitteln.
[root@link-07 backup]# vgchange -an --partial
Partial mode. Incomplete volume groups will be activated read-only.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
...
Verwenden Sie die Parameter
--uuid
und --restorefile
des Befehls pvcreate
, um den physischen Datenträger wiederherzustellen. Das folgende Beispiel kennzeichnet das Gerät /dev/sdh1
als einen physischen Datenträger mit der oben angezeigten UUID FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk
. Dieser Befehl stellt das Label des physischen Datenträgers mit den in VG_00050.vg
enthaltenen Informationen der Metadaten, also mit den aktuellsten, archivierten Metadaten für diese Datenträgergruppe, wieder her. Der Parameter restorefile
weist den Befehl pvcreate
an, den neuen physischen Datenträger mit dem alten in der Datenträgergruppe kompatibel zu machen, so dass sichergestellt wird, dass die neuen Metadaten nicht dort platziert werden, wo sich Daten auf dem alten physischen Datenträger befanden (was passieren kann, wenn der ursprüngliche Befehl pvcreate
beispielsweise die Befehlszeilenparameter enthielt, die die Platzierung der Metadaten kontrollieren oder falls der physische Datenträger ursprünglich mit einer unterschiedlichen Version der Software erstellt wurde, die unterschiedliche Standardwerte verwendete). Der Befehl pvcreate
überschreibt lediglich die LVM-Metadatenbereiche und wirkt sich nicht auf bestehende Datenbereiche aus.
[root@link-07 backup]# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
Mithilfe des Befehls
vgcfgrestore
können Sie die Metadaten der Datenträgergruppe wiederherstellen.
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
Sie können die logischen Datenträger nun anzeigen.
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
Die folgenden Befehle aktivieren die Datenträger und zeigen die aktiven an.
[root@link-07 backup]#lvchange -ay /dev/VG/stripe
[root@link-07 backup]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi-a- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi-a- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
Falls die LVM-Metadaten auf der Platte mindestens genauso viel Platz einnehmen, wie das, was diese überschrieben hat, kann dieser Befehl den physischen Datenträger wiederherstellen. Falls das, was die Metadaten überschrieben hat, über den Bereich der Metadaten hinaus ging, sind davon ggf. Daten auf dem Datenträger betroffen. Mithilfe des Befehls
fsck
können Sie diese Daten ggf. wiederherstellen.