GNU/Linux >> Linux Esercitazione >  >> Linux

Corruzione dei metadati di LVM VG con "Errore di checksum"

Il problema

Gli "errori di checksum" vengono segnalati durante l'esecuzione di comandi LVM sul server CentOS/RHEL.

# 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

Soluzione

Un checksum viene archiviato nei metadati LVM2 in modo che la presenza di danneggiamento possa essere rilevata prima che i dati possano essere effettivamente danneggiati. Questo problema si verifica generalmente quando il checksum non corrisponde a un checksum calcolato dopo l'elaborazione dei metadati.

Potrebbero esserci molte diverse cause dell'errore di checksum, alcune di queste includono le seguenti:

  1. Se 2 host stanno tentando indipendentemente di aggiornare i metadati LVM2 contemporaneamente (ad es. come una situazione di cluster) e LVM in cluster (clvm) non è in uso.
  2. Errori di I/O che si verificano durante l'aggiornamento dei metadati (gli aggiornamenti di LVM2 non vengono registrati nel journal, quindi le interruzioni negli aggiornamenti di I/O possono causare danni).
  3. Si è verificato un problema nell'ambiente SAN nel caso in cui i percorsi sottostanti provengano da SAN.

Per risolvere questo errore, segui i passaggi indicati di seguito:

1. Eseguire il backup di tutti i dati sui volumi logici.

2. Arrestare tutti i servizi che contengono risorse LVM (in modo che i volumi possano essere smontati e i gruppi di volumi disattivati). Il servizio non deve essere in esecuzione su nessun nodo del cluster (se l'errore viene segnalato nel cluster).

3. Ripristina i metadati utilizzando il comando 'vgcfgrestore '. I file di backup dei metadati LVM sono archiviati in /etc/lvm/backup e /etc/lvm/archive. Il comando vgcfgrestore per impostazione predefinita utilizza il file di backup in /etc/lvm/backup. Eseguire vgcfgrestore per ripristinare i metadati LVM. Ad esempio,

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

4. Attiva il gruppo di volumi.

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

5. Esegui il comando "pvscan" per verificare se puoi vedere gli "errori di checksum" ora.

# pvscan

6. Riattiva tutti i servizi che sono stati interrotti prima di vgcfgrestore.

Conclusione

L'uso di vgcfgrestore può ripristinare un backup dei metadati LVM sui volumi fisici LVM da prima che si verificasse il danneggiamento. È possibile utilizzare il file di backup predefinito in /etc/lvm/backup per ripristinare i metadati da un vecchio backup. Se hai un file di backup in un'altra posizione, puoi anche specificare il file di backup con il comando vgcfgrestore come mostrato di seguito.

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


Linux
  1. Il file di metadati non corrisponde al checksum – Errore YUM!

  2. Questo errore su Upstart/systemd con Runit?

  3. Jungledisk non riesce con l'errore Libnotify?

  4. Errore LVM "AVVISO:trovati metadati incoerenti" - Come risolvere in CentOS / RHEL

  5. Il comando lvremove non riesce con l'errore "LVM - Impossibile rimuovere il volume logico aperto"

Installa Linux con LVM

Come gestire lo storage su Linux con LVM

Impara LVM su Linux con strumenti grafici

Come correggere l'errore di conversione con Calibre

Come creare un gruppo di volumi in Linux con LVM

Correzione dell'errore del tubo rotto con la connessione SSH