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

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



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


Reply to: