Восстановление LVM при физическом сбое диска на удаленной системе

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

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

У меня есть сервер с Linux Debian 10 с двумя физическими томами: HDD на 4 ТБ и SSD на 750 ГБ. SSD содержит загрузочный том. HDD настроен как группа томов LVM с единственным физическим томом (/dev/sda, HDD на 4 ТБ) и несколькими логическими томами.

HDD, похоже, вышел из строя. Невозможно провести диагностику, так как /dev/sda просто больше не существует, и любая попытка прочитать с диска приводит к ошибке ввода-вывода.

Данные на диске не критичны, и у меня есть резервная копия системы. Проблема в том, что система — это безголовая машина на Linux, сидящая в подвале моего дома в Швейцарии, который находится за полмира от меня. Я переживаю, что если я перезагружу её, она может не загрузиться и перейти в режим диагностики, и у меня не будет к ней сетевого доступа. В этом случае мне придется попросить друга забрать её и отправить мне – что я действительно пытаюсь избежать, так как она будет простаивать месяцами. Я могу обойтись без /dev/sda до следующего визита в дом, чтобы заменить его.

Вывод, который я получаю от LVM, следующий:

sudo /sbin/pvdisplay -vd /dev/sda
  Ошибка чтения устройства /dev/Webcams/Birch-Snapshot на длину 512.
  Ошибка чтения устройства /dev/Webcams/Birch-Snapshot на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Birch-Video на длину 512.
  Ошибка чтения устройства /dev/Webcams/Birch-Video на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Roof-Snapshot на длину 512.
  Ошибка чтения устройства /dev/Webcams/Roof-Snapshot на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Roof-Video на длину 512.
  Ошибка чтения устройства /dev/Webcams/Roof-Video на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Tree-Snapshot на длину 512.
  Ошибка чтения устройства /dev/Webcams/Tree-Snapshot на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Tree-Video на длину 512.
  Ошибка чтения устройства /dev/Webcams/Tree-Video на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Archive на длину 512.
  Ошибка чтения устройства /dev/Webcams/Archive на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Video2 на длину 512.
  Ошибка чтения устройства /dev/Webcams/Video2 на длину 4096.
  Ошибка чтения устройства /dev/Webcams/Backup на длину 512.
  Ошибка чтения устройства /dev/Webcams/Backup на длину 4096.
  Не удалось найти устройство для физического тома "/dev/sda".

vgs -vd и lvs -vd оба выполняются и выводят всего одну строку:

sudo /sbin/vgs -vd
    Группы томов не найдены.

/etc/fstab монтирует отдельные логические тома следующим образом:

# <файловая система>             <точка монтирования>  <тип>  <опции>  <дамп>  <проход>
/dev/Webcams/Archive            /mnt/Webcams/Archive        ext4    defaults,nofail         1 2

/dev/Webcams выглядит так:

ls -l /dev/Webcams
total 0
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Archive -> ../dm-6
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Backup -> ../dm-8
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Birch-Snapshot -> ../dm-0
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Birch-Video -> ../dm-1
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Roof-Snapshot -> ../dm-2
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Roof-Video -> ../dm-3
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Tree-Snapshot -> ../dm-4
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Tree-Video -> ../dm-5
lrwxrwxrwx 1 root root 7 Aug 25 08:05 Video2 -> ../dm-7

Также есть директория /dev/mapper:

ls -l /dev/mapper
total 0
crw------- 1 root root 10, 236 Aug  3 10:44 control
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Archive -> ../dm-6
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Backup -> ../dm-8
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Birch--Snapshot -> ../dm-0
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Birch--Video -> ../dm-1
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Roof--Snapshot -> ../dm-2
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Roof--Video -> ../dm-3
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Tree--Snapshot -> ../dm-4
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Tree--Video -> ../dm-5
lrwxrwxrwx 1 root root       7 Aug 25 08:05 Webcams-Video2 -> ../dm-7

Таким образом, и /dev/Webcams, и /dev/mapper имеют символьные ссылки, указывающие на файлы в /dev:

ls -l /dev/*dm-*
brw-rw---- 1 root disk 253, 0 Aug 25 08:05 /dev/dm-0
brw-rw---- 1 root disk 253, 1 Aug 25 08:05 /dev/dm-1
brw-rw---- 1 root disk 253, 2 Aug 25 08:05 /dev/dm-2
brw-rw---- 1 root disk 253, 3 Aug 25 08:05 /dev/dm-3
brw-rw---- 1 root disk 253, 4 Aug 25 08:05 /dev/dm-4
brw-rw---- 1 root disk 253, 5 Aug 25 08:05 /dev/dm-5
brw-rw---- 1 root disk 253, 6 Aug 25 08:05 /dev/dm-6
brw-rw---- 1 root disk 253, 7 Aug 25 08:05 /dev/dm-7
brw-rw---- 1 root disk 253, 8 Aug 25 08:05 /dev/dm-8

Мой вопрос: Какие шаги мне нужно предпринять, чтобы обеспечить то, что система не войдет в режим диагностики при перезагрузке? Достаточно ли просто закомментировать соответствующие строки в /etc/fstab, или мне нужно сделать что-то еще?

Я беспокоюсь, что сам lvm может проводить проверки во время загрузки и вызывать ошибки, которые остановят завершение загрузки. Я не использую lvm для других томов, так что теоретически, предположим, я мог бы удалить пакет, хотя, учитывая состояние системы, не уверена, что это будет разумно.

Любая помощь очень ценна.

Закомментируйте каждую строку в /etc/fstab, которая упоминает /dev/Webcams. Этого должно быть достаточно, если только у системы нет других дисков, которые являются частью той же группы томов.

Linux LVM (как он существует в версиях ядра 2.6 и новее) обычно не хранит никакую конфигурацию VG в /etc. Вся конфигурационная информация хранится в заголовках LVM соответствующих PV. Если корневая файловая система находится на LVM, initramfs обычно пытается активировать конкретные LV, содержащие корневую файловую систему (и, возможно, область подкачки, ссылка на которую находится в /etc/initramfs-tools/conf.d/resume в Debian).

Если диск sda является единственным диском в Webcams VG и теперь он вышел из строя, после перезагрузки LVM даже не будет знать о существовании VG. А после того как вы закомментируете строки, относящиеся к нему в /etc/fstab, не должно быть никаких неудачных попыток монтирования, которые прервут процесс загрузки.

Однако, если VG Webcams также включает какой-либо другой диск, который все еще присутствует и работает, LVM обнаружит частичную VG и может перейти в аварийный режим во время загрузки из-за этого. Вы можете предотвратить это, выполнив vgreduce --removemissing --force перед загрузкой. Это эффективно обновит конфигурацию VG на оставшихся дисках этой VG, чтобы забыть отсутствующий диск; параметр --force заставит его также забыть/уничтожить любые LV, у которых отсутствуют части в результате этого.

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

Чтобы восстановить работоспособность вашего сервера с отказавшим диском, который использовался в LVM, и избежать попадания в диагностический режим при перезагрузке, выполните следующие шаги:

  1. Комментирование строк в /etc/fstab:
    Откройте файл /etc/fstab и закомментируйте все строки, которые упоминают /dev/Webcams. Это необходимо, чтобы избежать ненужных попыток монтирования недоступных логических томов во время загрузки.

    Например, строки будут выглядеть примерно так:

    # /dev/Webcams/Archive    /mnt/Webcams/Archive    ext4    defaults,nofail  1 2
    # /dev/Webcams/Backup     /mnt/Webcams/Backup     ext4    defaults,nofail  1 2
  2. Проверка наличия других физических томов:
    Убедитесь, что в Volume Group (VG) под названием "Webcams" нет других физических томов, которые все еще доступны. Если таковые имеются и если они важны, воздержитесь от выполнения последующих шагов до замены диска.

  3. Команда vgreduce:
    Если диск /dev/sda является единственным физическим томом в группе "Webcams", то после перезагрузки LVM вообще не распознает VG из-за отсутствия физического тома, и это предотвратит любые сбои на этапе загрузки.

    Однако, если VG включает в себя другие диски, выполните команду vgreduce --removemissing --force перед перезагрузкой. Эта команда обновит конфигурацию VG так, чтобы она забыла о недоступном диске. Будьте осторожны, так как использование --force также приведет к удалению любых логических томов, которые зависели от отсутствующих физических томов.

  4. Резервное копирование конфигурационных файлов LVM:
    Важно перед выполнением любых операций на LVM сделать резервную копию конфигурационных файлов системы, включая /etc/lvm и /etc/fstab. Это позволит вам восстановить их в случае ошибок.

  5. Перезагрузка системы:
    После выполнения всех вышеперечисленных шагов перезагрузите систему с помощью команды sudo reboot. Система должна успешно загрузиться без попытки монтирования недоступных томов.

  6. План замены неисправного диска:
    Когда у вас появится физический доступ к серверу, замените неисправный диск на новый и восстановите тома из резервной копии, если это необходимо.

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

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

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