Как восстановить данные со старого rootvg с несогласованными метаданными LVM в RHEL 9.5?
Я столкнулся с проблемой с виртуальной машиной RHEL 9.5, с которой мне нужно восстановить данные. Вот моя ситуация:
- У меня есть снимок, сделанный после первоначальной установки
- Старые диски подключены как дополнительные диски к текущей виртуальной машине
- При выполнении
pvsя получаю следующие предупреждения:
pvs
WARNING: ignoring metadata seqno 11 on /dev/sda3 for seqno 13 on /dev/sdc4 for VG rootvg.
WARNING: Inconsistent metadata found for VG rootvg.
See vgck --updatemetadata to correct inconsistency.
PV VG Fmt Attr PSize PFree
/dev/sda3 rootvg lvm2 a-- <77.80g 15.56g
/dev/sdc4 rootvg lvm2 a-- <220.00g <220.00g
Моя цель - смонтировать старые диски на достаточно долгое время, чтобы извлечь мои рабочие данные. Какие шаги мне следует предпринять для разрешения несогласованных метаданных и доступа к данным в группе томов rootvg?
При работе с несогласованными метаданными LVM на старом rootvg в RHEL 9.5 вы можете восстановить свои данные с помощью восстановления метаданных или встроенных инструментов коррекции метаданных. В зависимости от вашей ситуации со старыми дисками, смонтированными как дополнительное хранилище, и конкретных предупреждений, которые вы видите, вот рекомендуемые шаги для устранения несогласованности и доступа к вашим данным.
Содержание
- Понимание несогласованности метаданных
- Метод 1: Использование vgck --updatemetadata
- Метод 2: Восстановление из резервных копий метаданных
- Монтирование логических томов
- Профилактические меры для будущего восстановления
- Устранение распространенных проблем
Понимание несогласованности метаданных
Предупреждения, которые вы видите, указывают на то, что ваши метаданные LVM (Logical Volume Manager) несогласованы между физическими томами в группе томов rootvg. Это обычно происходит, когда:
- Физические томы удаляются и повторно добавляются в систему
- Система испытывает сбои питания или крахи во время операций LVM
- Метаданные повреждаются из-за ошибок дисков
Ошибка WARNING: ignoring metadata seqno 11 on /dev/sda3 for seqno 13 on /dev/sdc4 for VG rootvg показывает, что /dev/sda3 содержит более старые метаданные (seqno 11), в то время как /dev/sdc4 содержит более новые метаданные (seqno 13), создавая несогласованность.
Согласно документации Red Hat, эта несогласованность обычно предотвращает правильный доступ LVM к группе томов до ее устранения.
Метод 1: Использование vgck --updatemetadata
Команда vgck --updatemetadata специально разработана для исправления несогласованностей метаданных, как указано в вашем сообщении об ошибке.
Пошаговый процесс:
-
Проверьте текущий статус LVM:
bashpvs vgs lvs
-
Используйте updatemetadata для исправления несогласованности:
bashvgck --updatemetadata rootvg
Эта команда перезапишет метаданные группы томов для исправления проблем. Согласно страницам руководства Linux, vgck --updatemetadata VG перезаписывает метаданные VG для исправления проблем.
- Проверьте исправление:bash
pvs vgs
При успешном выполнении предупреждения о несогласованных метаданных должны исчезнуть.
Метод 2: Восстановление из резервных копий метаданных
Если подход с vgck --updatemetadata не работает, вы можете восстановить метаданные группы томов из резервных копий. LVM автоматически поддерживает файлы резервных копий в /etc/lvm/backup/.
Пошаговый процесс:
-
Перечислите доступные файлы резервных копий:
bashls -la /etc/lvm/backup/ -
Перечислите архивированные версии (если доступны):
bashls -la /etc/lvm/archive/ -
Восстановите из последней резервной копии:
bashvgcfgrestore --test rootvg # Сначала в тестовом режиме vgcfgrestore rootvg # Фактическое восстановление
Как упоминается в The Geek Diary, восстановление старых версий метаданных VG с помощью vgcfgrestore работает в большинстве случаев для ошибок несогласованных метаданных.
- Если вам нужно восстановить из конкретного архивного файла:bash
cd /etc/lvm/archive/ ls -lrt # Перечислить по времени модификации vgcfgrestore --test rootvg -f /etc/lvm/archive/rootvg_00000-1234567890.vg vgcfgrestore rootvg -f /etc/lvm/archive/rootvg_00000-1234567890.vg
Документация Red Hat показывает, что вы можете использовать команду vgcfgrestore для восстановления метаданных группы томов из файлов резервных копий.
Монтирование логических томов
Как только метаданные станут согласованы, вы можете смонтировать логические тома для доступа к вашим данным.
Пошаговый процесс:
-
Перечислите логические тома в rootvg:
bashlvs rootvg
-
Создайте точки монтирования:
bashmkdir /mnt/rootvg_recovery -
Смонтируйте корневой логический том (обычно называется
rootvg/root):bashmount /dev/mapper/rootvg-root /mnt/rootvg_recovery
-
Смонтируйте другие важные тома:
bash# Распространенные логические тома mount /dev/mapper/rootvg-home /mnt/rootvg_recovery/home mount /dev/mapper/rootvg-var /mnt/rootvg_recovery/var mount /dev/mapper/rootvg-opt /mnt/rootvg_recovery/opt -
Проверьте монтирование:
bashdf -h /mnt/rootvg_recovery
Профилактические меры для будущего восстановления
Чтобы сделать будущее восстановление проще, рассмотрите эти профилактические меры:
-
Регулярные резервные копии метаданных LVM:
bashvgcfgbackup
-
Хранение архивных копий:
bash# Архивировать текущее состояние vgcfgbackup --archive rootvg -
Документирование конфигурации LVM:
bashvgs --options=all pvs --options=all lvs --options=all
-
Создание резервных копий на уровне файловой системы критических данных.
Как отмечено в The Geek Diary, всегда создавайте резервную копию каталога /etc/lvm перед выполнением операций восстановления.
Устранение распространенных проблем
Если vgck --updatemetadata не работает:
-
Проверьте активные тома:
bashvgs -o +lv_count,lv_count rootvg
-
Принудительное обновление с осторожностью:
bashvgck --updatemetadata --force rootvg
Если vgcfgrestore сообщает об активных томах:
-
Проверьте смонтированные тома:
bashmount | grep mapper
-
Размонтируйте конфликтующие тома:
bashumount /dev/mapper/rootvg-*
-
Повторите попытку восстановления:
bashvgcfgrestore rootvg
Если ошибки контрольных сумм сохраняются:
Согласно The Geek Diary, ошибки контрольных сумм указывают на более серьезное повреждение метаданных. В таких случаях вам может понадобиться:
- Использовать более старые архивные файлы
- Рассмотреть возможность пересоздания группы томов с нуля, если критические данные уже сохранены
Источники
- Stack Overflow - Linux LVM Rescue data from old rootvg
- The Geek Diary - LVM error “WARNING: Inconsistent metadata found” – How to resolve in CentOS / RHEL
- Linux man pages - vgck(8)
- Arch Linux manual pages - vgck(8)
- The Geek Diary - LVM VG Metadata Corruption with ‘Checksum error’
- Red Hat Customer Portal - How do I resolve inconsistent LVM Volume Group metadata errors in RHEL?
- The Geek Diary - How to rebuild LVM from Archive (metadata backups) in RHEL/CentOS
- Red Hat Documentation - Recovering Physical Volume Metadata
- The Geek Diary - How to recover deleted Logical volume (LV) in LVM using vgcfgrestore
- GoLinuxCloud - 5 easy steps to recover LVM2 partition, PV, VG, LVM metdata in Linux
Заключение
Восстановление данных со старого rootvg с несогласованными метаданными LVM в RHEL 9.5 достижимо через систематическую коррекцию и восстановление метаданных. Два основных подхода:
- Используйте
vgck --updatemetadata rootvgдля простых несогласованностей метаданных - Восстановите из резервной копии с помощью
vgcfgrestoreпри более серьезном повреждении метаданных
Всегда начинайте с тестовых прогонов и сухих режимов перед внесением фактических изменений в систему. Каталоги /etc/lvm/backup/ и /etc/lvm/archive/ содержат вашу сеть безопасности для операций восстановления.
Для будущей профилактики поддерживайте регулярные резервные копии метаданных LVM и документируйте конфигурации ваших групп томов. Это сделает любые будущие операции восстановления гораздо более плавными и менее рискованными.
Помните, что операции восстановления LVM могут быть разрушительными, если выполнены неправильно, поэтому всегда работайте из среды восстановления, когда это возможно, и имейте резервные копии данных перед попыткой внесения значительных изменений в метаданные.