[make-initrd] [degraded md-raid] make-initrd в p9 и в Сизифе
Alexey Gladkov
gladkov.alexey at gmail.com
Sat Feb 29 02:39:54 MSK 2020
On Sat, Feb 29, 2020 at 12:43:37AM +0300, Leonid Krivoshein wrote:
> В корне есть всё, чтобы начать процесс загрузки. ELF, которому ты передаёшь
> управления по выходу из stage1 (ну хорошо, ядро передаёт) -- это пресловутый
> systemd, а о том, что в конфигурации что-то не так, админ узнает только
> когда отъедет рейд. И не факт, что к этому моменту будет сеть или запущен
> ssh. Я это частенько вижу -- есть только локальный рутовый доступ и страшная
> сага о невозможности запуска некоторой службы.
Не нужно ждать пока отъедет рейд. Для этого есть инструменты.
> Это почему же? Так делают многие. Рейд, в отличие от одиночного диска, нужен
> для избыточности, и чтобы в случае выхода одного диска из строя, всё не
> встало колом.
Не нужно реплицировать страницы памяти по дискам. Я убеждён, что тот кто
так делает явно не понимает что такое swap.
> > Рейд как раз и нужен для того чтобы загрузится если диск вылетел.
>
> Так а по факту сейчас получается наоборот. Бери в расчёт не стадию выхода из
> stage1, а хотя бы ту стадию, когда будет доступен вход снаружи по ssh. Это
> ещё не конец загрузки, но при отъезде рейдов, и до неё можно не дотянуть.
Смотри, есть разделение стадий загрузки. Обычно initrd нужен для того
чтобы использовать расширенные схемы загрузки корня. Все же помнят, что он
опционален. Initrd перестаёт существовать перед передачей управления
системному init.
Чтобы было ясно: я не против выполнения дополнительной функциональности в
момент выполнения initrd, но не нужно на этот _хэлпер_ перекладывать
ответственность за остальную систему. Я готов добавить фичи, которые
приведут к тому поведению, которое ты описываешь, но это не будет
поведением по умолчанию.
Ты мне говоришь, что кто-то делает конфигурации, которые не жизнеспособны
без внешней помощи. Я готов допустить, что есть такие сумрачные гении,
которые вынесли важную часть загрузки из рута с полным набором системных
утилит в initrd, где нет всех инструментов. Это ответственность этих
гениев. Я не хочу им мешать.
> > Ты, видимо, никогда не чинил сервера удалённо через суппорт сервис ...
>
> Слава богу! Но в данном случае лучше попробовать починить сборку рейдов в
> stage1, чем застрять в самом начале stage2. Иначе шансы иметь дело с
> удалённым саппортом будут намного выше.
Я не хочу тебе мешать. Я уже сказал, что есть опция для ожидания
нескольких точек монтирования. Возможно нужны будут ещё какие-нибудь
опции.
> Я имел ввиду, что рабочий корень ещё не панацея, с него нельзя починить все
> мыслимые поломки в дисковой подсистеме.
В initrd их ещё меньше.
> Для удалённых ремонтов сейчас есть IPMI, BMC, iLO и прочие приблуды, в
> конце концов.
Я пользовался ими. Больше не хочу испытывать этот чудесный опыт.
Я не хочу спорить о радостях администрирования. Если тебе нравится такие
схемы, то я не планирую мешать.
Ты можешь указать raid-member-delay=0 при загрузке, чтобы выключить
mdadm -IRs (пока я не изучал вопрос с read-auto и не рассматриваю эту
проблему тут). В этом случае ты будешь ждать rootdelay= время пока
появятся все диски и соберутся все рейды из MOUNTPOINTS.
--
Rgrds, legion
More information about the Make-initrd
mailing list