История изменений
Исправление firkax, (текущая версия) :
Так, ну эта команда работает значит (и можешь проверить - массив теперь можно монтировать и делать с ним что угодно, больше mdadm запускать не требуется, надпись про read-only исчезнет сама), а её initramfs должен запускать перед тем как сказать про таймаут. Давай узнаем почему он её не делает.
Хотя для начала ещё одна проверка. Ребутнись ещё раз в emergency чтобы массив опять был inactive (думаю достаточно просто reboot сделать) и введи там команду
echo mdadm --run /dev/md?*
а потом
mdadm --run /dev/md?*
-----------------------------------------------------
Запусти нормально систему (с двумя дисками).
Файлы есть такие?
/etc/initramfs-tools/scripts/local-block/mdadm
/usr/share/initramfs-tools/scripts/local-block/mdadm
скорее всего первого нет, а второй есть (если не так - то что дальше написано не делай а найди отличия)
Если первого нет, а второй есть - скопируй второй в первый, пролистай в конец, там будут нужные строки:
mdadm -q --assemble --scan --no-degraded || true
и чуть ниже
mdadm -q --run /dev/md?*
Первая отвечает за первоначальный старт полных массивов (когда все диски на месте), вторая - спустя сколько-то там секунд (вроде не меньше 30, кстати у тебя в начале работы системы, ещё до основного запуска, при вытащеном диске появляется эта задержка?) - стартует оставшиеся с теми дисками что удалось найти.
Допиши туда перед и после каждого отладочные echo и убери -q, как-то так:
echo begin: mdadm --assemble --scan --no-degraded
mdadm --assemble --scan --no-degraded || true
echo end: mdadm --assemble --scan --no-degraded
и чуть ниже
echo begin: mdadm --run /dev/md?*
mdadm --run /dev/md?*
echo end: mdadm --run /dev/md?*
А ещё чуть выше там есть такая строка:
echo $COUNT > /run/count.mdadm.initrd
добавь рядом ещё одну:
echo mdadm count = $COUNT
Напомню - все правки - в копии файла в /etc, а не в оригинале в /usr/share
После чего пересобери initramfs, ребутнись без второго диска и посмотри что он напишет. Надеюсь эти надписи там нормально повисеть успеют перед тем как их затрёт дальнейший процесс.
Исходная версия firkax, :
Так, ну эта команда работает значит (и можешь проверить - массив теперь можно монтировать и делать с ним что угодно, больше mdadm запускать не требуется, надпись про read-only исчезнет сама), а её initramfs должен запускать перед тем как сказать про таймаут. Давай узнаем почему он её не делает.
Хотя для начала ещё одна проверка. Ребутнись ещё раз в emergency чтобы массив опять был inactive (думаю достаточно просто reboot сделать) и введи там команду
echo mdadm --run /dev/md?*
а потом
mdadm --run /dev/md?*
----------------------------------------------------- Запусти нормально систему (с двумя дисками).
Файлы есть такие?
/etc/initramfs-tools/scripts/local-block/mdadm
/usr/share/initramfs-tools/scripts/local-block/mdadm
скорее всего первого нет, а второй есть (если не так - то что дальше написано не делай а найди отличия)
Если первого нет, а второй есть - скопируй второй в первый, пролистай в конец, там будут нужные строки:
mdadm -q --assemble --scan --no-degraded || true
и чуть ниже
mdadm -q --run /dev/md?*
Первая отвечает за первоначальный старт полных массивов (когда все диски на месте), вторая - спустя сколько-то там секунд (вроде не меньше 30, кстати у тебя в начале работы системы, ещё до основного запуска, при вытащеном диске появляется эта задержка?) - стартует оставшиеся с теми дисками что удалось найти.
Допиши туда перед и после каждого отладочные echo и убери -q, как-то так:
echo begin: mdadm --assemble --scan --no-degraded
mdadm --assemble --scan --no-degraded || true
echo end: mdadm --assemble --scan --no-degraded
и чуть ниже
echo begin: mdadm --run /dev/md?*
mdadm --run /dev/md?*
echo end: mdadm --run /dev/md?*
А ещё чуть выше там есть такая строка:
echo $COUNT > /run/count.mdadm.initrd
добавь рядом ещё одну:
echo mdadm count = $COUNT
Напомню - все правки - в копии файла в /etc, а не в оригинале в /usr/share
После чего пересобери initramfs, ребутнись без второго диска и посмотри что он напишет. Надеюсь эти надписи там нормально повисеть успеют перед тем как их затрёт дальнейший процесс.