URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 44511
[ Назад ]

Исходное сообщение
"OpenNews: Использование kexec для быстрой перезагрузки Linux"

Отправлено opennews , 17-Окт-08 10:47 
"Reboot like a racecar with kexec (http://www.linux.com/feature/150202)" - демонстрация использования kexec для быстрой перезагрузки Linux (загружается новая копия ядра из уже работающего, без фазы с участием BIOS).

Следует заметить, что в состав Linux ядра 2.6.27 были включены дополнительные патчи к kexec, с реализацией режима мгновенного засыпания Linux машины со сбросом дампа состояния на диск, основанной на использовании системного вызова kexec. Метод отличается от текущих подсистем uswsusp и suspend2 минимальным размером сохраняемого образа памяти и возможностью сброса дампа на любой носитель (например USB Flash или NFS раздел).

URL: http://www.linux.com/feature/150202
Новость: http://www.opennet.me/opennews/art.shtml?num=18458


Содержание

Сообщения в этом обсуждении
"Использование kexec для быстрой перезагрузки Linux"
Отправлено bartman , 17-Окт-08 10:47 
Интересно

"Использование kexec для быстрой перезагрузки Linux"
Отправлено Painbringer , 17-Окт-08 11:37 
а типа сервисы глушить уже не надо? эдак после такой лихой перезагрузки ченть не взлетить запросто.

"kexec для быстрой"
Отправлено Andrey Mitrofanov , 17-Окт-08 11:49 
>а типа сервисы глушить уже не надо?

Надо. "А почему Вы спрашиваете?"


"Использование kexec для быстрой перезагрузки Linux"
Отправлено wyldrodney , 17-Окт-08 11:50 
А чего там глушить? На десктопе, ИМО, и так сойдёт: если даже эти сервисы будут перезапускаться, то rm -rf {/,var/}tmp/* && rm -rf /var/run/* при загрузке спасёт... :)

"Использование kexec для быстрой перезагрузки Linux"
Отправлено Painbringer , 17-Окт-08 12:43 
ну как я понимаю автор предлагает это на сервере делать типа шоб быстрее ребутнуть незаметненько допустим после апдейта ядра.

"Использование kexec для быстрой перезагрузки Linux"
Отправлено andr.mobi , 17-Окт-08 12:10 
IMHO
Засыпание с остановкой сервисов - это не засыпание, а "быстрая остановка"
Юзеру после просыпания требуется начать с того же самого места, где уснули.
Надо бы не только ядро на энергонезависимый носитель сбрасывать, но и всё ОЗУ.
Лучше всего надо твердотельный диск, Disk-On-Chip. 2 гигабайта ОЗУ на HDD за секунду-две не отзеркалишь.

"Использование kexec для быстрой перезагрузки Linux"
Отправлено Andrey Mitrofanov , 17-Окт-08 14:38 
>IMHO
>Засыпание с остановкой сервисов - это не засыпание, а "быстрая остановка"

В "лучших" :-( традициях последнего времени на ОпенНЕТ там навирху-^^^^^ свалено в кучу два независимых сообщения: 1/ смотрите, статья про ускорение перезагрузки с помощью kexec; 2/ а ещё (я слышал звон, что) механизмы kexec использовались для реализации нового подхода к suspend-to-disk, включённой http://lwn.net/Articles/242107/ в распоследнее релизное ядро. В 1/ про перезагрузку, в 2/ совсем не про.

Так что "засыпание" и "остановка сервисов [при перезагрузке]" так и не встретились?

Возможно путаница возникла из-за "2. The same code path is used for both kexec a new kernel and jump back to original kernel.". Девелоперы объединили два коуд-паса, используемые при совершенно разных обстоятельствах.

В общем мало кто понимает, о чём разговор, да и мало кому оно надо. %)


"Использование kexec для быстрой перезагрузки Linux"
Отправлено User294 , 17-Окт-08 23:40 
>В общем мало кто понимает, о чём разговор, да и мало кому
>оно надо. %)

Разбираться в том что там Andr пишет влом, т.к. он видимо как всегда снялся с тормоза и видимо обнаружил что то о чем он подумал уже сделано в линуксах оказывается :)

А вот suspend\resume через kexec имхо довольно изящное решение и на мое имхо это несколько более полезное применение функции чем турбо-реактивный ребут с пропуском BIOS-а.Современные BIOS часто имеют режим ускоренного теста когда загрузка системы начинается через несколько секунд после включения (насколько хорошая идея врубить этот режим на сервере тот еще вопрос, но с kexec то BIOS будет вообще оставлен не у дел :D).


"Использование kexec для быстрой перезагрузки Linux"
Отправлено oxyum , 19-Окт-08 11:42 
> Современные BIOS часто имеют режим ускоренного теста
> когда загрузка системы начинается через несколько секунд после включения

Ага, особенно на брэндовых серваках...


"Использование kexec для быстрой перезагрузки Linux"
Отправлено Аноним , 17-Окт-08 13:11 
Даже не читая новости, должно быть понятно, что старый линукс выгружается, завершает сервисы и загружается снова менеджер загрузки ОС.
Просто не переинициализируется оборудование и не проверяется его работоспособность.

Это может быть очень полезным на серверах с кучей различных контроллеров, которые оттягивают загрузку ядра на пару минут с момента включения.
Особенно досадно это на тех серверах, которые загружают не конечный сервис, а виртуальные машины, на которых и будут крутиться конечные сервисы.
Сервис становится недоступным не на 10 минут, а на 5. Примерно так. ;-)


"Использование kexec для быстрой перезагрузки Linux"
Отправлено wyldrodney , 17-Окт-08 14:02 
"kexec -e" останавливает сервисы?
Расскажите, если не сложно, сейчас посмотреть не могу ):

"kexec подробнее"
Отправлено Andrey Mitrofanov , 17-Окт-08 14:54 
>"kexec -e" останавливает сервисы?
>Расскажите, если не сложно, сейчас посмотреть не могу ):

Подробнее - скрипт автор статьи прописал в .../init-чего-то-там, чтобы он вызывался при "штатной" (предположительно - в конце) перезагрузке. Когда все сервисы остановлены, соответственно.

kexec делает перезагрузку не через сброс машины и запуск БИОС-а "как по C-A-D", а просто грузится в память "новое" ядро со всеми параметрами-инит-дисками (кстати, тема костылей с grub-ом/lilo в статье не раскрыта...) и запускает его, "отдавая" ему машину и "освобождая" старое ядро. (Аналогия с директивой exec шела: запускаемая программа занимает место шела в памяти и выполняется, шел выгружается из памяти _до_ запуска программы.) Экономия на POST БИОС-а и устройств (как здесь и написали), риск - новое ядро получает "не совсем" сброшенные устройства (как и написано в статье) = с _кривыми_ драйверами может не "взлететь".


"Использование kexec для быстрой перезагрузки Linux"
Отправлено Аноним , 17-Окт-08 14:25 
kexec -e вызывает панику а а она уже идет как обычная перезагрузка, то есть отключаются инит скрипты и вронце вместо хардварной презагрузки просто прыгает на старт нового ядра.

"Использование kexec для быстрой перезагрузки Linux"
Отправлено Аноним , 17-Окт-08 23:16 
попробовал на десктопе - быстро и сервисы останавливаются (в ответ многим). сделал у себя на домашней файлопомойке :) мало ли...