Удаление групп томов после некорректного удаления физических томов LVM

Содержание

Введение

Однажды понадобилось извлечь из работающего сервера диски на другие нужды. Размонтировал раздел и подумал, что этого будет достаточно для того, чтобы корректно извлечь диски из системы. Однако, диски были объединены в RAID 0, а на массиве была создана группа томов с логическим томом, так что после извлечения дисков из сервера на нём остались деградировавший RAID-массив и группа томов без физического тома.

Удаление группы томов

Для начала нужно удалить группу томов. Для этого добавим в неё новый физический том, который создадим во временном файле:

Создаём пустой файл размером 100 мегабайт:

# dd if=/dev/zero of=/tmp/tmp.raw bs=1M count=100

Сделаем из файла блочное устройство. Для этого сначала узнаем имя следующего свободного петлевого блочного устройства:

# losetup -f
/dev/loop0

Сопоставим этому петлевому блочному устройству пустой временный файл:

# losetup /dev/loop0 /tmp/tmp.raw 

Добавим новый физический том в группу томов:

# vgextend vg2 /dev/loop0 

Удалим группу томов:

# vgremove --force vg2

Удалим физический том, оставшийся от удалённой группы томов:

# pvremove /dev/loop0

Открепим временный файл от петлевого блочного устройства:

# losetup -d /dev/loop0 

Удалим временный файл:

# rm /tmp/tmp.raw

Удаление RAID-массива

Теперь, когда группа томов больше не существует и RAID-массив не используется, можно удалить из системы сам RAID-массив:

# mdadm --manage --stop /dev/md2

Обновим информацию об имеющихся программных RAID-массивах:

# mdadm --examine --scan > /etc/mdadm/mdadm.conf

В начало сгенерированного файла можно добавить текст, который бывает в этом файле по умолчанию:

# mdadm.conf
#
# !NB! Run update-initramfs -u after updating this file.
# !NB! This will ensure that initramfs has an uptodate copy.
#
# Please refer to mdadm.conf(5) for information about this file.
#

# by default (built-in), scan all partitions (/proc/partitions) and all
# containers for MD superblocks. alternatively, specify devices to scan, using
# wildcards if desired.
#DEVICE partitions containers

# automatically tag new arrays as belonging to the local system
HOMEHOST <system>

# instruct the monitoring daemon where to send mail alerts
MAILADDR root

# definitions of existing MD arrays

Наконец, нужно собрать образ загрузочной файловой системы для ядра с новым файлом, чтобы ядро корректно определило программные RAID-массивы:

# udpate-initramfs -u -k all

Удаление физического тома

После проделанных операций любая команда для работы с логическими и физическими томами или группами томов будет выводить предупреждение следующего вида об отсутствующем физическом томе:

WARNING: Device for PV NFwK98-81XP-xcD6-keZ4-k8IF-CeSs-yCwKur not found or rejected by a filter.

Для исправления ситуации нужно просканировать физические тома и обновить кэш в соответствии с результатами сканирования:

# pvscan --cache

Использованные материалы