В предыдущих версиях Ubuntu, добавляя BOOT_DEGRADED=true
к /etc/initramfs-tools/conf.d/mdadm
позволяет системе автоматически загружался при корневая файловая система находится на деградированных массиве. Это больше не работает в 16.04 LTS.
Документация ( https://help.ubuntu.com/lts/serverguide/advanced-installation.html ) выглядит устаревшей; sudo dpkg-reconfigure mdadm
больше не просит разрешить ухудшенную загрузку, и bootdegraded=true
аргумент ядра также больше не работает. Система всегда загружается в initramfs при ухудшении массива корневой файловой системы. Оттуда mdadm -IRs
позволяет системе загружаться.
Как включить автоматическую загрузку, когда корневая файловая система находится на поврежденном массиве RAID1 в 16.04LTS?
Ответы:
Указанная ошибка появляется в mdadm 3.3-2ubuntu7 и исправлена в 3.4-2.
Последний выпуск mdadm для yakkety (16.10) 3.4-4 уже содержит исправление и доступен для 16.10, но не (пока?) Для 16.04LTS.
Таким образом, я обновил mdadm моего 16.04LTS вручную:
Чтобы проверить я
Наблюдение за консолью: загрузка с деградированного рейд-массива работает !
Ошибка: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=784070
источник
Кажется, что основной причиной является
/usr/share/initramfs-tools/scripts/local-top/mdadm
отсутствие скрипта - на Debian-8 он включен вmdadm
пакет, но был потерян в том же пакете для Ubuntu-16.04 ;-(Итак, после того, как я создал его грязную версию и заново создал
initramfs
- мой тестовый сервер Ubuntu-16.04 LTS смог полностью загрузиться, используя единственный второй жесткий диск из массива RAID1.источник
/usr/share/initramfs-tools/scripts/local-top/mdadm
а затем устанавливаете сupdate-initramfs -k all -u
. Однако это вызовет предупреждение. отключить предупреждение, поставленноеcase ${1:-} in prereqs) echo "multipath"; exit 0;; esac
перед. /scripts/functions
строкой.functions
не является хорошей идеей из-за возможных побочных эффектов. Поэтому я просто игнорирую это предупреждение.У меня была такая же проблема с 16.04, массив raid просто отказывался активироваться в своем деградированном режиме.
вот простой обходной путь:
добавлять
спать 20 (или любые другие секунды, которые вы предпочитаете)
добавить следующее (принудительно запускать массив, если у вас есть / dev / md0, / dev / md1 и / dev / md2)
mdadm - запуск / dev / md0
mdadm - запуск / dev / md1
mdadm --run / dev / md2
тогда
update-initramfs -k all -u , тогда все готово.
Обратите внимание, что для 14.04 требуется только 1), но это не помешает сделать и то, и другое. кроме вы можете увидеть некоторые предупреждающие сообщения, такие как:
mdadm: не удалось запустить массив / dev / md0: устройство или ресурс заняты
что безвредно, так как он говорит только о том, что, поскольку / dev / md0 активен, вы можете написать более умный сценарий, только выполняя --run, когда это необходимо.
источник
Другие ответы здесь имеют обходные пути для решения проблемы, но это ошибка в Ubuntu и должна быть исправлена. Вот ошибка: https://bugs.launchpad.net/ubuntu/+source/mdadm/+bug/1635049
Это было исправлено ранее: https://wiki.ubuntu.com/ReliableRaid
источник