[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: три диска в зеркале - как отсоединить один диск, чтобы файловые системы на нем были в консистентном состоянии без выключения компьютера?



28.11.2013 09:13, Alexander пишет:

28.11.2013, 08:55, "Vladimir Skubriev" <vladimir@skubriev.ru>:
27.11.2013 10:47, Mike Mironov пишет:

  27.11.2013 09:48, Vladimir Skubriev пишет:
  ... Если конечно такое возможно.

  Три диска в зеркале - как отсоединить один диск, чтобы файловые системы
  на нем были в консистентном состоянии ?

  На рабочей системе с тремя дисками в raid1:

  sda1,sdb1,sdc1 = md0, /boot
  sda2,sdb2,sdc2 = md1, lvm pv с именем - sysraid with rootfs, home,
  var/log, var/lib/lxc and etc logical volumes of server

  делаю:
  grub-install /dev/sdc
  mdadm /dev/md0 --fail /dev/sdc1
  mdadm /dev/md0 --remove /dev/sdc1
  mdadm /dev/md1 --fail /dev/sdc2
  mdadm /dev/md1 --remove /dev/sdc2

  sdc - диск подключенный через usb 3.0 dock станцию.

  выключаю компьютер,
  вынимаю sda,sdb оставляю только sdc, который выкинул из массива

  grub грузиться и даже с меню.

  Но после нажатия Enter на строке обычной загрузки системы или строке
  восстановления системы - компьютер почти сразу уходит в ребут.

  Если загрузится с CD диска, то вижу следующее:

  cat /proc/mdstat

  md126    inactive    sda2[2](S)
  md127    inactive    sda1[3](S)
  Ваша проблема почти наверняка связана с конфигурацией mdadm. На что
  стоит посмотреть:
  1. Соответствию файла конфигурации в initrd и в /etc/mdadm. Если вы не
  выполняли принудительного обновления initrd после перестройки массива,
  то в initrd будет старая конфигурация, которая может не позволить
  собраться новому массиву. Рекомендуется после обновления массива
  делать update-initramfs -u. Это вроде должно решить и проблему 2
это ясно, что система может не грузиться т.к конфигурация в целом не
соотвествует тому что в ramfs, но

мне кажется проблема зарыта глубже.

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

С двух дисков на которые ставилась система система нормально грузится.

А с третьего добавленного после установки - нет.

Т.е. с третьим диском получается следующее:

Обычная загрузка системы - стала зависать на черном экране после выбора
ядра и Enter в grub. При этом Ctrl+Alt+Del работают

Частично заработала загрузка в ramfs (Ранее было чистая перезагрузка
из-за не возможности монтирования битого корня). Частично - потому, что
загружается ядро, которое естественно читается с файловой системы для
/boot, т.е. /dev/md0

И все далее сообщение примерно такое:

The system may have suffered a hardware fault such as a disk drive
failure.  The root device may depend on the RAID devices being online. One
or more of the following RAID devices are degraded:
Personalities: ...

md1. active raid1 sda2[0]
243577664 blocks super 1.2 [3/1] [U__]

md0. active raid1 sda2[0]
487104 blocks super 1.2 [3/1] [U__]

Attempting to start the RAID in degraded mode...
mdadm: CREATE user root not found
mdadm: CREATE group disk not found
Started the RAID in degraded mode.

Это сообщение выводится бесконечно (примерно в 10 секунд) и до шелла
busybox дело не доходит.

Возможно разница в том, как устанавливается загрузчик на третий диск.

Возможно есть разница между тем:
1. как его ставить на винт debian-installer
и
2. ручным запуском из работающей системы на трех дисках в raid1 командой
grub-install /dev/третий_диск.

Просто возникает закономерный вопрос:
Почему с двух дисков система из raid1 с тремя дисками грузится.
А с третьего добавленного вручную в процессе эксплуатации сервера к
зеркалу из двух винтов - НЕТ.

Так как я эксперементирую и пятаюсь понять логику работы mdadm я решил
попробовать загрузить систему с одного из дисков при условии что
подключены остальные.

При этом я сломал загрузку со тех двух дисков, с которых все грузилось
по отдельности, на которые система ставилась изначально.

Т.е. ядро при загрузке что то изменило на всех дисках, и теперь, чтобы
загрузить старую систему мне нужно будет скорее всего создавать новый
массив, затирая суперблоки mdadm )))

Ну раз уж я все уже сломал, то решил попробовать поставить на эти диски
систему с нуля - т.е. сразу сделать зеркало из 3 дисков в инсталлере.

Вставил флэшку с установщиком и вуаля черный экран.

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

Вот это уже интересней.

Отчистил mbr-ы заново поставил систему по старой схеме mdadm+lvm.

Попробовал загрузится та же песня с двух перезагрузка, с одного черный
экран с работающим Ctrl+Alt+Del.

Несмотря на bootdegraded=true система отказывается запускатся в связи с
чем возникает закономерный вопрос: "К чему она предлагала мне на выбор(в
конце установки) два варианта грузиться и не грузиться если массив будет
degraded?"

Какова логика разработчиков. Кто знает ? Подскажите пожалуйста.

  2. Соответствие конфигурации mdadm и реальных массивов. Возможны
  ситуации, когда вы перестроили массивы, а в файле конфигурации
  остались старые данные
не проблема делать обновление ramfs.

  23. Содержимое файла mdadm.conf - для ваших массивов не должно быть
  указано имя хоста - это может создавать проблемы
С этим я разобрался вчера - теперь загвоздок нет.

Да это все я понимаю, но все равно спасибо за подтверждение.

Проблема как раз в том, как отсоединить диск и при этом чтобы там все
было ОК с файлвыми системами.

Надеялся кто нибудь подскажет что нибудь дельное, до чего сам пока не
додумался.

--
--
Best regards,

Vladimir Skubriev

у вас же вроде третьим идет винт через usb3-докстанцию насколько я помню - не было мыслей, что в этом все дело? не в md и т.п., а тупо из-за того что в таком варианте что-то ломается в процессе старта/инициализации


забыл сказать, что я уже отбросил её

т.е. систему поставил на мои 3 саташных диск без юсб, подключенных напрямую к контроллеру на материнской плате и все равно не грузиться линукс по отдельности с разных винтов )



--
--
Best regards,

Vladimir Skubriev


Reply to: