GNU/Linux >> LINUX-Kenntnisse >  >> Linux

LVM VG-Metadatenbeschädigung mit „Prüfsummenfehler“

Das Problem

Beim Ausführen von LVM-Befehlen auf dem CentOS/RHEL-Server werden „Prüfsummenfehler“ gemeldet.

# vgs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 VG #PV #LV #SN Attr VSize VFree 
 vg00 1 7 0 wz--n- 279.12G 159.12G
 vgcommrmandb 1 6 0 wz--n- 20.00G 44.00M
 vgcotsoracle 1 1 0 wz--n- 20.00G 4.00M
 vgcotsorapit 1 1 0 wz--n- 50.00G 4.00M
...
# lvs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 LV VG Attr LSize Origin Snap% Move Log Copy% Convert
 crashvol vg00 -wi-ao 64.00G 
 homevol vg00 -wi-ao 4.00G 
 oemagentvol vg00 -wi-ao 10.00G 
 rootvol vg00 -wi-ao 10.00G 
 swapvol vg00 -wi-ao 16.00G 
 tmpvol vg00 -wi-ao 8.00G 
...
# pvs
 /dev/mapper/cx0009_lun45: Checksum error
 /dev/mapper/cx0009_lun48: Checksum error
 PV VG Fmt Attr PSize PFree 
 /dev/cciss/c0d0p2 vg00 lvm2 a-- 279.12G 159.12G
 /dev/mapper/cx0008_lun37 vgeflxwmq lvm2 a-- 5.00G 1.00G
 /dev/mapper/cx0009_lun30 vgeflxjvastb lvm2 a-- 40.00G 8.04G
 /dev/mapper/cx0009_lun31 vgeflxhdb1arch lvm2 a-- 60.00G 20.00M

Lösung

In den LVM2-Metadaten wird eine Prüfsumme gespeichert, sodass das Vorhandensein einer Beschädigung erkannt werden kann, bevor Daten tatsächlich beschädigt werden können. Dieses Problem tritt im Allgemeinen auf, wenn diese Prüfsumme nicht mit einer Prüfsumme übereinstimmt, die nach der Verarbeitung der Metadaten berechnet wurde.

Es kann viele verschiedene Ursachen für den Prüfsummenfehler geben, darunter einige:

  1. Wenn 2 Hosts unabhängig voneinander versuchen, die LVM2-Metadaten gleichzeitig zu aktualisieren (z. B. wie in einer Cluster-Situation) und kein geclusterter LVM (clvm) verwendet wird.
  2. E/A-Fehler, die auftreten, während die Metadaten aktualisiert werden (LVM2-Aktualisierungen werden nicht aufgezeichnet, sodass Unterbrechungen bei E/A-Aktualisierungen zu Beschädigungen führen können).
  3. Es gibt ein Problem in der SAN-Umgebung, falls die zugrunde liegenden Pfade aus dem SAN kommen.

Führen Sie die folgenden Schritte aus, um diesen Fehler zu beheben:

1. Sichern Sie alle Ihre Daten auf den logischen Volumes.

2. Stoppen Sie alle Dienste, die LVM-Ressourcen enthalten (damit die Datenträger ausgehängt und die Datenträgergruppen deaktiviert werden können). Der Dienst sollte auf keinem Knoten im Cluster ausgeführt werden (wenn der Fehler im Cluster gemeldet wird).

3. Stellen Sie die Metadaten mit dem Befehl „vgcfgrestore wieder her ‘. LVM-Metadaten-Sicherungsdateien werden in /etc/lvm/backup und /etc/lvm/archive gespeichert. Der Befehl vgcfgrestore verwendet standardmäßig die Sicherungsdatei in /etc/lvm/backup. Führen Sie vgcfgrestore aus, um die LVM-Metadaten wiederherzustellen. Zum Beispiel

# vgcfgrestore vg_os
/dev/mapper/cx0009_lun45: Checksum error
/dev/mapper/cx0009_lun48: Checksum error
Restored volume group vg_os

4. Aktivieren Sie die Volume-Gruppe.

# vgchange -ay vg_os
1 logical volume(s) in volume group "vg_os" now active

5. Führen Sie den Befehl „pvscan“ aus, um zu überprüfen, ob Sie die „Prüfsummenfehler“ jetzt sehen können.

# pvscan

6. Reaktivieren Sie alle Dienste, die vor dem vgcfgrestore gestoppt wurden.

Schlussfolgerung

Die Verwendung von vgcfgrestore kann eine Sicherung der LVM-Metadaten auf den physischen LVM-Volumes wiederherstellen, bevor die Beschädigung auftrat. Sie können die Standardsicherungsdatei in /etc/lvm/backup verwenden, um die Metadaten aus einer alten Sicherung wiederherzustellen. Wenn Sie eine Sicherungsdatei an einem anderen Speicherort haben, können Sie die Sicherungsdatei auch mit dem Befehl vgcfgrestore angeben, wie unten gezeigt.

# vgcfgrestore -f /path/to/backup/file vgname


Linux
  1. Logische Volumes unter Linux mit LVM erstellen

  2. Trimmen mit Lvm und Dm-Crypt?

  3. Jungledisk schlägt mit Libnotify-Fehler fehl?

  4. LVM-Fehler „WARNUNG:Inkonsistente Metadaten gefunden“ – Lösung in CentOS / RHEL

  5. LVM-Befehle schlagen fehl mit „Failed to load config file /etc/lvm/lvm.conf“

Installieren Sie Linux mit LVM

So verwalten Sie Speicher unter Linux mit LVM

Lernen Sie LVM unter Linux mit grafischen Tools

So beheben Sie Konvertierungsfehler mit Calibre

So erstellen Sie eine Volumengruppe in Linux mit LVM

Beheben des Fehlers „Broken Pipe“ mit SSH-Verbindung