У меня серьезная проблема на домашнем сервере: у меня LVM на массиве RAID5. Когда памяти не хватило, я решил увеличить массив RAID (а позже и PV+VG+LV). Все идет нормально.

Я остановил систему и установил дополнительный жесткий диск физически. Он был обнаружен, и я закрыл серверную коробку и ушел (я не нахожусь в том месте, где расположен сервер; это расстояние около 200 км). Теперь я зарегистрировался (издалека) через SSH на сервере и сделал следующее: я создал метку раздела и соответствующий раздел на новом устройстве и добавил раздел с помощью mdadm /dev/md1 --add /dev/sde1 к массив md1 в качестве горячего резерва. На втором этапе я хотел увеличить массив с помощью mdadm --grow /dev/md1 -n 4 (с 3 до 4 устройств). Массив начал перестраиваться.

Через довольно короткое время у меня возникла проблема: массив вышел из строя. Фактически, я вижу в выводе dmesg несколько строк, в которых упоминается, что процесс синхронизации был остановлен и что устройство (/dev/md1) не отвечало и блокировалось в течение> 120 секунд. С тех пор каждый доступ к массиву (через смонтированные LV) просто блокируется. После некоторых исследований в сети я обнаружил, что это может произойти из-за слишком малого stripe_cache_size при перестроении (фактическое значение - 256).

Основная проблема теперь в том, что PV содержит LV, который является моей корневой файловой системой! Таким образом, я не могу ничего сделать, как только блоки RAID. Я даже не могу открыть какой-либо редактор или использовать cat /proc/mdstat поскольку эти команды нуждаются в доступе к корневой файловой системе, где находятся программы. Сейчас я ищу возможность починить систему. Я вижу только два решения:

  • Я лично захожу туда снова и перезагружаюсь со стартового компакт-диска, обеспечиваю большой кэш и позволяю процессу перестройки работать до конца. Затем я перезагружаю исходную систему, которая должна запускаться как обычно. Недостатком является то, что я должен оставаться рядом с машиной до тех пор, пока восстановление не будет завершено полностью.
  • Я перезагружаю систему напрямую и не запускаю процесс повторной синхронизации (1). Затем я изменяю размер кеша и позволяю системе на самом деле выполнять восстановление. Это могло бы быть возможно без необходимости проезжать 400 км для простого перезапуска, поскольку я мог бы сказать кому-то там, что делать.

Теперь вопрос (1): можно ли как-то избежать / предотвратить автоматическое перестроение массива?

Я думал об отключении только что добавленного устройства (sde1), но это (я думаю) не предотвратило бы изменение формы с 3 на 4 диска с одним отсутствующим диском.

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

Большое спасибо!

1 ответ1

0

Для тех, кто сталкивается с подобными проблемами:

Я закончил тем, что загрузил спасательную систему и перестроил массив в автономном режиме (в спасательной системе).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .