Если вы случайно удалили логический том (LV) или метаданные LVM были повреждены каким-либо образом, их можно легко восстановить без потери данных с помощью команды ‘vgcfgrestore’.
В этом руководстве мы покажем вам, как восстановить случайно удаленный логический том в Linux.
По умолчанию LVM автоматически создает резервные копии своих метаданных при каждом изменении конфигурации на всех устройствах LVM с помощью команды ‘vgcfgbackup’.
- /etc/lvm/backup : содержит резервную копию метаданных, созданную после выполнения команды.
- /etc/lvm/archive : Содержит архивы метаданных, которые были сделаны до выполнения команды.
Если вы хотите узнать больше о LVM, ознакомьтесь с приведенными ниже статьями:
- 🐧 Как активировать физический том «SUSPENDED» LVM
- 🔕 Как добавить физический диск в группу томов для расширения логического тома с помощью lvm
- LVM VG с ошибкой контрольной суммы
- Как сжать раздел Linux, используемый LVM
Что такое vgcfgbackup?
Команда vgcfgbackup берет метаданные конфигурации из заголовка LVM диска и сохраняет их в местоположение файла по умолчанию.
Что такое vgcfgrestore?
Команда vgcfgrestore восстанавливает метаданные группы томов (VG) из последней архивной резервной копии.
Синтаксис:
vgcfgrestore [-f] [backup_file] vg_name
Проверка существующих LVM
Существующие логические тома (LV) можно перечислить с помощью команды blow:
Чтобы перечислить доступные логические тома, выполните:
# lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert home rhel -wi-ao---- 12.95g root rhel -wi-ao---- 50.05g swap rhel -wi-ao---- 7.96g lv001 vg01 -wi-ao---- 10.00g lv002 vg01 -wi-ao---- 10.00g
Пример вывода:
Удаление логического тома (LV)
В демонстрационных целях мы удалим логический том ‘lv001’, который является активным логическим томом, указанным в приведенном выше выводе.
# lvremove /dev/mapper/vg01-lv001 Do you really want to remove active logical volume "lv001"? [y/n]: y Logical volume "lv001" successfully removed
Восстановление логического тома (LV)
Прежде чем восстанавливать удаленный LVM, давайте определим последний архив, содержащий метаданные удаленного LVM.
Для этого выполните следующую команду.
Она выведет список всех резервных копий и архивов метаданных VG.
# vgcfgrestore ---list vg01 File: /etc/lvm/archive/vg01_00000-381245830.vg VG name: vg01 Description: Created before executing 'vgcreate vg01 /dev/sdb /dev/sdc /dev/sdd' Backup Time: Sun Jul 19 04:01:03 2021 File: /etc/lvm/archive/vg01_00001-459034274.vg VG name: vg01 Description: Created before executing 'lvcreate -L 10G -n lv001 vg01' Backup Time: Sun Jul 19 04:03:15 2021 File: /etc/lvm/archive/vg01_00002-1063902356.vg VG name: vg01 Description: Created before executing 'lvcreate -L 10G -n lv002 vg01' Backup Time: Sun Jul 19 04:04:45 2021 File: /etc/lvm/archive/vg01_00003-586203914.vg VG name: vg01 Description: Created before executing 'lvremove /dev/mapper/vg01-lv001' Backup Time: Sun Jul 19 04:25:52 2021 File: /etc/lvm/backup/vg01 VG name: vg01 Description: Created after executing 'lvremove /dev/mapper/vg01-lv001' Backup Time: Sun Jul 19 04:25:52 2021
Вы можете проверить, не нарушится ли резервное копирование архива перед выполнением фактического восстановления, используя опцию ‘-test’, как показано ниже:
# vgcfgrestore vg01 --test -f /etc/lvm/archive/vg_data_00003-586203914.vg TEST MODE: Metadata will NOT be updated and volumes will not be (de)activated. Volume group vg01 has active volume: lv001. WARNING: Found 1 active volume(s) in volume group "vg01". Restoring VG with active LVs, may cause mismatch with its metadata. Do you really want to proceed with restore of volume group "vg01", while 1 volume(s) are active? [y/n]: y Restored volume group vg01.
Если пробный запуск прошел успешно, выполните фактическое восстановление.
При этом восстановится удаленный логический том.
# vgcfgrestore vg01 -f /etc/lvm/archive/vg_data_00003-586203914.vg Volume group vg01 has active volume: lv001. WARNING: Found 1 active volume(s) in volume group "vg01". Restoring VG with active LVs, may cause mismatch with its metadata. Do you really want to proceed with restore of volume group "vg01", while 1 volume(s) are active? [y/n]: y Restored volume group vg01.
Проверьте, успешно ли восстановлен удаленный том с помощью команды ‘lvscan’.
Да, он был восстановлен, но находится в неактивном состоянии.
Чтобы активировать логический том, выполните команду:
# lvchange -a y /dev/vg01/lv001
Наконец, смонтируйте логический том и проверьте данные:
# mount /dev/mapper/vg01-lv001 /lvmtest
Да, я могу увидеть все наши данные:
# ls -lh /lvmtest
Заключение
В этом руководстве мы показали вам, как восстановить случайно удаленный логический том в Linux с помощью команды vgcfgrestore.
Если у вас возникли вопросы или пожелания, не стесняйтесь оставлять комментарии.