LVM ошибочно сообщила о пропаже после отключения электроэнергии.

Вопрос или проблема

У нас произошел серьезный сбой электропитания в дата-центре. Мы используем набор серверов для наших нужд хранения. Основной сервер имеет несколько пар дисков, зеркалированных с помощью mdadm. Полученные /dev/mdX являются физическими томами LVM и принадлежат большой группе томов со всеми нашими данными.

После отключения электроэнергии у нас возникла проблема: одно из устройств mdadm не было автоматически обнаружено из-за отсутствия записи в mdadm.conf. В результате, в группе томов были неактивные логические тома из-за отсутствующего PV.

Нам удалось исправить конфигурацию mdadm и перезагрузиться. pvscan показывает все ожидаемые PV, но один из LV все равно не запускается. vgdisplay показывает:

[...]
Cur PV:  3
Act PV:  2
[...]

Ни vgscan, ни pvscan не показывают никаких отсутствующих устройств.

Что пошло не так? Как мы можем заставить LVM активировать все PV?

Решением, к которому мы пришли в спешке, было сделать следующее:

vgcfgbackup -f backup.vg

Затем отредактировать файл, заменив

flags = ["MISSING"]

на

flags = []

в проблемном PV и использовать

vgcfgrestore -f backup_edited.vg

чтобы загрузить измененную конфигурацию. После этого vgchange -a y name_of_the_vg сработал как ожидалось.

Ответ от mensi работает, но будет безопаснее сделать это с помощью этой команды:

vgextend --restoremissing <volume_group> <physical_volume>

Эта команда удаляет флаг “missing” с PV и восстанавливает все GV и LV, зависящие от этого PV, в рабочее состояние, при условии, что данные на отсутствующем PV не были изменены.

Ответ или решение

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

Что произошло?

  1. Сбой автоопределения mdadm: Из-за сбоя питания один из устройств mdadm не был автоматически обнаружен, так как отсутствовала соответствующая запись в mdadm.conf. Это привело к тому, что группа томов LVM потеряла один из своих физических томов (PV), а логические тома (LV) внутри этой группы стали неактивными.

  2. Несоответствие в количестве PV: Как сообщается в выводе команды vgdisplay, у вас должно быть 3 физических тома (Cur PV), но только 2 из них активны (Act PV).

Как это исправить?

Ваше временное решение с помощью vgcfgbackup и ручного редактирования конфигурации было успешным, однако, есть более безопасный и автоматизированный метод.

Решение:

  1. Использование vgextend для восстановления: Команда vgextend --restoremissing <volume_group> <physical_volume> может быть более безопасным методом исправления этой ситуации. Она убирает флаг "MISSING" на физическом томе и восстанавливает работу всех зависимых логических томов, при условии, что данные на отсутствующем PV не были изменены.

  2. Обновление mdadm.conf: Убедитесь, что после внесения исправлений, добавили все устройства mdadm в конфигурационный файл mdadm.conf, чтобы предотвратить повторение подобной проблемы. Это обеспечит автоматическое монтирование и обнаружение всех массивов mdadm при перезагрузке.

  3. Резервное копирование конфигурации: Регулярно выполняйте резервное копирование конфигурационных файлов (например, vgcfgbackup). Это позволит более быстро и безопасно восстановить систему в случае возникновения сбоев.

Предотвращение будущих сбоев:

  • Установка источников бесперебойного питания (UPS): Это минимизирует риск потери питания, что является основной причиной сбоя.

  • Мониторинг системы: Внедряйте системы мониторинга, которые будут следить за работой дисковых массивов и оперативно уведомлять о проблемах с устройствами хранения.

Применяя эти рекомендации, вы сможете более надежно управлять своей инфраструктурой хранения и минимизировать риск потерь данных из-за сбоев питания.

Оцените материал
Добавить комментарий

Капча загружается...