GNU/Linux >> Znalost Linux >  >> Linux

Poškození metadat LVM VG s „chybou kontrolního součtu“

Problém

Při spouštění příkazů LVM na serveru CentOS/RHEL se hlásí „chyby kontrolního součtu“.

# 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

Řešení

Kontrolní součet je uložen v metadatech LVM2, aby bylo možné zjistit přítomnost poškození dříve, než mohou být data skutečně poškozena. K tomuto problému obvykle dochází, když se tento kontrolní součet neshoduje s kontrolním součtem vypočítaným po zpracování metadat.

Chyba kontrolního součtu může mít mnoho různých příčin, některé z nich zahrnují následující:

  1. Pokud se 2 hostitelé nezávisle pokoušejí aktualizovat metadata LVM2 současně (tj. jako situace s clusterem) a clusterovaný LVM (clvm) se nepoužívá.
  2. Chyby I/O, ke kterým dochází během aktualizace metadat (aktualizace LVM2 nejsou žurnálovány, takže přerušení aktualizací I/O může způsobit poškození).
  3. V prostředí SAN došlo k problému pro případ, že základní cesty pocházejí ze SAN.

Chcete-li tuto chybu vyřešit, postupujte podle následujících kroků:

1. Zálohujte všechna data na logických svazcích.

2. Zastavte všechny služby, které obsahují prostředky LVM (takže lze svazky odpojit a skupiny svazků deaktivovat). Služba by neměla běžet na žádném uzlu v clusteru (pokud je chyba hlášena v clusteru).

3. Obnovte metadata pomocí příkazu ‘vgcfgrestore ‘. Záložní soubory metadat LVM jsou uloženy v /etc/lvm/backup a /etc/lvm/archive. Příkaz vgcfgrestore standardně používá záložní soubor v /etc/lvm/backup. Spusťte vgcfgrestore a obnovte metadata LVM. Například,

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

4. Aktivujte skupinu svazků.

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

5. Spusťte příkaz „pvscan“ a ověřte, zda nyní vidíte „chyby kontrolního součtu“.

# pvscan

6. Znovu povolte všechny služby, které byly zastaveny před vgcfgrestore.

Závěr

Pomocí vgcfgrestore lze obnovit zálohu metadat LVM na fyzické svazky LVM z doby před poškozením. K obnovení metadat ze staré zálohy můžete použít výchozí záložní soubor v /etc/lvm/backup. Pokud máte záložní soubor v jiném umístění, můžete také zadat záložní soubor pomocí příkazu vgcfgrestore, jak je uvedeno níže.

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


Linux
  1. Vytváření logických svazků v Linuxu pomocí LVM

  2. Soubor metadat neodpovídá kontrolnímu součtu – chyba YUM!

  3. Trim s Lvm a Dm-crypt?

  1. CentOS / RHEL LVM:Zálohování metadat skupiny svazků

  2. Chyba LVM „VAROVÁNÍ:Nalezena nekonzistentní metadata“ – Jak vyřešit v CentOS / RHEL

  3. Příkazy LVM selžou s „Nepodařilo se načíst konfigurační soubor /etc/lvm/lvm.conf“

  1. Chyba při použití GRANT s IDENTIFIKOVANÝM heslem v MySQL

  2. Tato chyba o Upstart/systemd With Runit?

  3. Chyba hesla Windows 10 u Samba Share