Есть ли способ перезагрузить систему Linux (в частности, Debian) без перезагрузки оборудования?
У меня есть RAID-контроллер, который требует некоторого времени для запуска до запуска ОС, и мне бы хотелось, чтобы был способ быстрой перезагрузки ОС Linux без необходимости проходить весь процесс перезагрузки и перезапускать RAID-контроллер, и т.п.
kexec()
что-то вродеexec()
, но для ядер Unix.Ответы:
Я использую kexec-reboot практически на всех своих производственных системах.
Он работает невероятно хорошо, позволяя мне обойтись без долгого времени POST на серверах HP ProLiant и сократить цикл загрузки с 5 минут до ~ 45 секунд.
Смотрите: https://github.com/error10/kexec-reboot
Единственное предостережение в том, что он не работает на системах RHEL / CentOS 6.x, загружающих UEFI. Но большинство нормальных комбинаций ОС / оборудования работают.
источник
kexec
. Этоkexec-reboot
утилита. Описание Github обрисовывает в общих чертах разницу и что утилита добавляет к процессу.shutdown -r
. Ваши системные скрипты заметят, что kexec был поставлен, и сделают правильную вещь. Как это выглядит? Три, четыре или пятнадцать минут короче. У меня очень ужасное качество видео, которое я снял с консоли iDRAC, но вы действительно не хотите этого терпеть ...kexec-reboot
Сценарий предназначен для автоматизации процесса получения правильных аргументов командной строки в kexec, что может быть сложно ,[ -n "$kexec_command" ] && $kexec_command -e -x >& /dev/null
. Итак, если ядро загружено kexec -l, система перезагрузится в него без полной / sbin / reboot ... kexec запекается! Я этого не знал, спасибо. Я полагаю, что более современные дистрибутивы также охватывают это. Кстати, если kexec ранее не запускался с -l, скрипт перезагрузки скажет: «Ничего не загружено!» именно поэтому выходные данные отправляются в / dev / null, и поэтому я никогда не знал об этой возможности.Да, это возможно. kexec позволит загружать ядро Linux напрямую из Linux, не проходя процесс загрузки BIOS.
источник
Да. Вы должны использовать kexec-tools. Чтобы облегчить жизнь, я использую kexec-reboot .
источник
# The error checking is very basic.