При обновлении пакета ядра в CentOS или RHEL 6 можно ли загрузить новое ядро без перезагрузка?
Моя интуиция подсказывает мне, что это не так, но если бы это было так, это было бы удобно - особенно при компиляции приложений, требующих модулей ядра (например, VirtualBox), которые жалуются, когда доступен «неправильный» исходный код ядра (например, работающее ядро 2.6.2-100, а обновленная - 2.6.2-152).
Нет.
kexec позволит вам пропустить этапы прошивки (BIOS / EFI) и загрузчика при стандартном перезапуске, но это не одно и то же (хотя полезно, если у вас медленно загружается карта RAID).
Самое близкое, что вы можете сделать, это загрузка и выгрузка модулей ядра.
Да для RHEL. (С 22 февраля 2012 г.)
Чтобы продолжить после 30-дневной пробной версии, вам необходимо приобрести Пакет поддержки Oracle Linux Premier.
Цены начинаются с 1400 долларов для систем с двумя физическими процессорами и 2300 долларов для систем с более чем двумя физическими процессорами. Вы можете настроить свои системы на автоматическую установку обновлений по мере их появления.
Он предлагался как для RHEL, так и для CentOS (а также для других операционных систем) до июля 2011 года, когда Oracle приобрела Ksplice. Поддерживаются предыдущие клиенты.
Oracle покупает Ksplice
Код Ksplice был создан и распространен под GPL v2 и другими лицензиями с открытым исходным кодом. После того, как Oracle приобрела Ksplice и ограничила доступность для Oracle Linux, Ubuntu Desktop и Fedora, возникла дискуссия о поддержке CentOS-форка Ksplice:
Ksplice и CentOS
Также утверждалось, что Ксплице нарушает GPL:
Ksplice в настоящее время нарушает GPL
Oracle Enterprise Linux может сделать это с помощью KSplice, но для этого у вас должен быть контракт с Oracle ULN (поддержка). Я считаю, что они стоят около 120 долларов. http://www.ksplice.com/pricing
На kpatch никто не указал. Это не перезагрузка живого ядра, а нацелена на ту же проблему.
kpatch Технология Red Hat для применения исправлений к живому ядру.
Что касается детализации, kpatch работает на уровне функций; Проще говоря, старые функции заменяются новыми. Он состоит из четырех основных компонентов:
- kpatch-build: набор инструментов, которые преобразуют исходный патч различий в модуль горячего патча. Они работают путем компиляции ядра как с исходным патчем, так и без него, сравнения двоичных файлов и создания модуля горячего исправления, который включает новые двоичные версии функций, подлежащих замене.
- модуль горячего исправления: модуль ядра (файл .ko), который включает функции замены и метаданные об исходных функциях.
- основной модуль kpatch: модуль ядра (файл .ko), который предоставляет интерфейс для модулей оперативных исправлений для регистрации новых функций для замены. Он использует подсистему ядра ftrace для подключения к инструкции вызова mcount исходной функции, так что вызов исходной функции перенаправляется на функцию замены.
- утилита kpatch: инструмент командной строки, который позволяет пользователю управлять набором модулей горячих исправлений. Один или несколько модулей горячих исправлений могут быть настроены для загрузки во время загрузки, чтобы система могла оставаться исправленной даже после перезагрузки с той же версией ядра.
KExec утверждает, что вы можете это сделать.
На самом деле, я просто перечитал этот пост в блоге Oracle:
https://blogs.oracle.com/wim/entry/fast_reboots_for_oracle_linux
Итак, пока вы используете ядро UEK, вы можете выполнить быструю перезагрузку kexec на OEL5 и OEL6. Это не связано с ksplice (который, в первую очередь, не имеет отношения к перезагрузке!) И не требует лицензии или чего-либо для использования.