Это Fedora 22, недавно обновленная с Fedora 21. Оставшееся ядро Fedora 21 загружается. Два ядра, установленные после обновления, не загружаются.
Система представляет собой Intel S-5000 PAL с 5 дисками SATA, сконфигурированными в массиве raid 5. Он без проблем работает почти 2 года. И, как упоминалось выше, продолжает работать без проблем с ядром Fedora 21.
Проблема в том, что с обновленными ядрами процесс загрузки зависает и через 3 минуты переходит в аварийную оболочку. В выходных данных journelctl отображаются следующие сообщения об ошибках:
systemctl: Запуск хука перед спусковым крючком dracut ..
lldpad: не удалось загрузить файл конфигурации,
lldpad: создать новый файл
lldpad: привязать ctrl iface к / com / intel / lldpad
dracut-pre-trigger: dracut-pre-trigger: rd.md = 0 удаление активации рейда md
В конце процесса появляется сообщение об ошибке:
raidboot / корневое устройство не найдено
Ядра Fedora 21 загружаются и работают нормально. Было испробовано следующее:
В качестве дальнейшего фона этот сервер является частью сети подобных серверов. Обновление других серверов прошло успешно. Сравнение вывода lsinit для двух файлов initramfs.img показывает аналогичный результат. Единственные различия заключаются в области предварительного запуска и lldpad.
Является ли причиной этого предварительная настройка? Какой шаг отсутствует, чтобы вызвать сбой dracut-pre-trigger при создании initramfs? Какие пакеты необходимы для поддержки предварительного запуска? Какая конфигурация используется для предварительного запуска? повторный запуск предварительного триггера для поддержки создания initramfs?
В итоге получился долгий путь с простым ответом. Системы используют mdadm для создания рейдового персонажа 5 уровня. Dracut был обновлен в рамках обновления с fc21 до fc22 вместе с ядром. В исходной командной строке загрузки в grub.cfg была опция rd.lvm.lv. Это привело к тому, что fc22 dracut прекратил поиск массивов dm на ранних этапах процесса загрузки. Удаление параметра rd.lvm.lv из параметров команды vmlinuz в grub.cfg вместе с добавлением параметра rd.auto устранило проблему. Ключевым моментом было чтение документации Dracut, в которой опция rd.lvm.lv упоминалась как эксклюзивная. Эксклюзивный вариант мог быть поэтапным, что привело к задержке введения ограничения.