Проблема
«Checksum errors» сообщаются при выполнении команд LVM на сервере 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
Решение
Контрольная сумма хранится в метаданных LVM2, так что наличие повреждения может быть обнаружено до того, как данные могут быть фактически повреждены.
Эта проблема обычно возникает, когда контрольная сумма не совпадает с контрольной суммой, вычисленной после обработки метаданных.
Может быть много разных причин ошибки контрольной суммы, некоторые из которых включают следующее:
- Если 2 хоста независимо пытаются одновременно обновить метаданные LVM2 (например, в случае кластера), а кластерный LVM (clvm) не используется.
- Ошибки ввода-вывода, возникающие во время обновления метаданных (обновления LVM2 не регистрируются, поэтому прерывания в обновлениях ввода-вывода могут привести к повреждению).
- Существует некоторая проблема в среде SAN на случай, если исходящие пути исходят из SA
Чтобы устранить эту ошибку, выполните следующие действия:
1. Сделайте резервную копию всех ваших данных на логических томах.
2. Остановите все службы, в которых есть ресурсы LVM (чтобы тома можно было размонтировать, а группы томов деактивировать).
Служба не должна быть запущена ни на одном узле в кластере (если об ошибке сообщается в кластере).
3. Восстановите метаданные с помощью команды «vgcfgrestore».
Файлы резервных копий метаданных LVM хранятся в /etc/lvm/backup и /etc/lvm/archive.
Команда vgcfgrestore по умолчанию использует файл резервной копии в /etc/lvm/backup.
Запустите vgcfgrestore, чтобы восстановить метаданные LVM. Например,
# vgcfgrestore vg_os /dev/mapper/cx0009_lun45: Checksum error /dev/mapper/cx0009_lun48: Checksum error Restored volume group vg_os
4. Активируйте группу томов.
# vgchange -ay vg_os 1 logical volume(s) in volume group "vg_os" now active
Заключение
# vgcfgrestore -f /path/to/backup/file vgname