GNU/Linux >> Belajar Linux >  >> Linux

Korupsi Metadata LVM VG dengan 'Checksum error'

Masalahnya

“Kesalahan checksum” dilaporkan saat menjalankan perintah LVM di 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

Solusi

Checksum disimpan dalam metadata LVM2 sehingga keberadaan korupsi dapat dideteksi sebelum data benar-benar rusak. Masalah ini biasanya akan terjadi ketika checksum tersebut tidak cocok dengan checksum yang dihitung setelah metadata diproses.

Mungkin ada banyak penyebab error checksum yang berbeda, beberapa di antaranya adalah sebagai berikut:

  1. Jika 2 host secara independen mencoba memperbarui metadata LVM2 pada saat yang sama (mis. seperti situasi cluster) dan LVM cluster (clvm) tidak digunakan.
  2. Kesalahan I/O yang terjadi saat metadata sedang diperbarui (pembaruan LVM2 tidak dijurnal sehingga gangguan dalam pembaruan I/O dapat menyebabkan kerusakan).
  3. Ada beberapa masalah di lingkungan SAN jika jalur yang mendasarinya berasal dari SAN.

Untuk mengatasi kesalahan ini, ikuti langkah-langkah yang diberikan di bawah ini:

1. Cadangkan semua data Anda pada volume logis.

2. Hentikan semua layanan yang memiliki sumber daya LVM di dalamnya (sehingga volume dapat dilepas dan grup volume dinonaktifkan). Layanan tidak boleh berjalan di node mana pun di cluster (jika kesalahan dilaporkan di cluster).

3. Pulihkan metadata menggunakan perintah ‘vgcfgrestore '. File cadangan data meta LVM disimpan di /etc/lvm/backup dan /etc/lvm/archive. Perintah vgcfgrestore secara default menggunakan file cadangan di /etc/lvm/backup. Jalankan vgcfgrestore untuk memulihkan data meta LVM. Misalnya,

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

4. Aktifkan grup volume.

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

5. Jalankan perintah “pvscan” untuk memverifikasi apakah Anda dapat melihat “checksum error” sekarang.

# pvscan

6. Aktifkan kembali semua layanan yang dihentikan sebelum vgcfgrestore.

Kesimpulan

Menggunakan vgcfgrestore dapat memulihkan cadangan metadata LVM ke volume fisik LVM sebelum kerusakan terjadi. Anda dapat menggunakan file cadangan default di /etc/lvm/backup untuk memulihkan data meta dari cadangan lama. Jika Anda memiliki file cadangan di lokasi lain, Anda juga dapat menentukan file cadangan dengan perintah vgcfgrestore seperti yang ditunjukkan di bawah ini.

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


Linux
  1. Membuat volume logis di Linux dengan LVM

  2. Pangkas Dengan Lvm Dan Dm-crypt?

  3. Jungledisk Gagal Dengan Kesalahan Libnotify?

  1. CentOS / RHEL LVM :Mencadangkan Metadata Grup Volume

  2. Kesalahan LVM "PERINGATAN:Metadata tidak konsisten ditemukan" - Cara mengatasi di CentOS / RHEL

  3. Perintah LVM Gagal Dengan "Gagal memuat file konfigurasi /etc/lvm/lvm.conf"

  1. File metadata tidak cocok dengan checksum – kesalahan YUM!

  2. Kesalahan menggunakan GRANT dengan IDENTIFIED dengan kata sandi di MySQL

  3. mount error(13):Izin ditolak dengan windows share