Очень нужная на сервере вещь
кто нибудь делал?
ссылки? грабли?
замена ядра без перезагрузки
Не, вряд ли.
Точнее не на сегодня. Потом что-то точно будет, но не сегодня.
[ Редактирование 19.11.2006 - 18:29:11 ]
А почему вы думаете, что это возможно? Есть kexec -- это просто "быстрая" перезагрузка, без POST. А вообще без перезагрузки сменить невозможно.
НЛО вон летают вопреки всем законам физики, никто не верит, а они летают.. А почему бы ядру не поменяться без прерывания работы системы лет так через 10? Не знаю, я бы не был так категоричен..
Отсыпай.
Сначала хотел было написать, что подобное невозможно даже в теории, т.к. невозможно сменить управляющую часть (ядро) без выгрузки управляемого (модули), но потом подумал, что в теории возможно(!) при наличии более одного работающего ядра, когда управление от предыдущего передается новому в то время, когда первое еще работает, после полного перехода пойдет выгрузка старого. Вполне возможно, что до этого уже кто-то додумался, но почему-то сомневаюсь, что подобные вещи можно проделать с обычным линуксовым ядром.
Гм. Простите за офтоп. Возможно я и не прав. Когда-то давным-давно. Еще когда была у меня 386sx... На сказку прямо похоже... И когда я о линуксе еще не знал... Была у меня дискета с DOS`ом. Так вот, не помню уже точно команд, но толи sys C:\, толи что-то подобное переносило систему с дискеты на винт, потом что-то вроде shell c:\command.com и дискету можно было вынимать. Система работала уже с жесткого. Если я не ошибаюсь, смена ядра происходила без перезагрузки. Стало быть, это возможно. Еще раз дичайшее сорри за офтоп и простите, если ошибся. :-)
комманда sys - копировала системные файлы но не перезапускала операционку с одного ядра на другое
У тебя просто файло переносилось, система же работала благодаря тому, что было подгружено в память. В топике же вроде говорится не только о замене файлов в /boot и перенастройкой загрузчика, но и о переключении на новое ядро (на управление системой новым ядром) без перезагрузки.
На самом деле такое возможно :) В кластерах - одна машина выключается - работает другая. Все давно уже известно :) Думаю не проблема особая запустить два ядра на одной машине, тем более многоядерной. Вопрос, только кому это нужно, если можно поставить две машины, одна страхует другую :)
2Sunder:
бросай курить :)
>Думаю не проблема особая запустить два ядра на одной машине, тем более многоядерной.
Такое уже существует и называется RTLinux (что это такое написано тут: http://ru.wikipedia.org/wiki/RTLinux). Но про замену ядра без перезагрузки на нём ничего не известно.
Суть идеи в принципе сходна с идеей замены центрального процессора "на ходу", в принципе возможно... однако следует согласовать множество состояний, которых в случае с процессором всё же меньше, на порядки, чем в случае с ядром.
2frug:
ну в sunках и проц и оперативку, и еще много чего можно менять на "горячую"
чтобы не отходить от темы: все зависит от архитеркуры ос, в монолитной сильно сомневаюсь в замене ведра без его остановки, выгрузки старого, и загрузки нового, в микроядерной архитетуре - почему бы и нет..
<span class='smallblacktext'>[ Редактирование 12.06.2007 - 13:35:37 ]</span>
А какая разница, микро-ядро или монолитка ? В любом случае будет основной - управляющий компонент, замена которого составит основную проблему. Кроме того, без остановки врядли получится заменить тот же проц или оперативку, даже на тех же "sunках". Замену без остановки произвести в любом случае не получится, но вот "прозрачная" остановка в принципе возможна, однако в таком случае понадобится компонент, который будет держать на себе "потолок" в то время, когда основные "опоры" меняют на другие...
[quote=frug]А какая разница, микро-ядро или монолитка ? В любом случае будет основной - управляющий компонент, замена которого составит основную проблему. [/quote]
разница в том, что в микроведре на порядок меньше системный вызовов, в QNS, если мне память не изменяет, их вообще 14.. чем меньше системных вызовов реализованно в ядре, тем проще произвести его замену.. я не системный програмист, могу ошибаться, но к примеру, замена модуля в монолитных ядрах гораздо труднее и часто требует перезагрузки..
[quote=frug]Кроме того, без остановки врядли получится заменить тот же проц или оперативку, даже на тех же "sunках".[/quote]
чесное комсомольское! (: все серия E4900-E25K позволяет на ходу менять/добавлять/удалять процы, озу, сасы, блоки питания, etc.. это "у них" Uniboard называеца.. пс: меньше месяца назад апгрейдили оперативку в "шетидевятисотый" сан, "на горячую", те еще "приколы" были (:.. ниче, живет железка.. хотя, конечно, бородатые дятьки и рассказывали, что бывали случаи "короткого", при замене блоков питания, с печальными последствиями для серверов.. :(
[quote=frug]Замену без остановки произвести в любом случае не получится, но вот "прозрачная" остановка в принципе возможна, однако в таком случае понадобится компонент, который будет держать на себе "потолок" в то время, когда основные "опоры" меняют на другие...[/quote]
что по-твоему "прозрачная" остановка, "потолок" и "опоры"?
Что-то внутри меня сидит и подсказывает, что процесс замены ядра на ходу возможен, но по времени это не рационально. И аптайма все равно не избежать. Нафига тогда оно надо?
![Комментарии к "замена ядра без перезагрузки" RSS-материал](/misc/feed.png)
Последние комментарии
9 лет 34 недели назад
10 лет 1 неделя назад
10 лет 11 недель назад
10 лет 11 недель назад
11 лет 1 неделя назад
11 лет 1 неделя назад
11 лет 1 неделя назад
11 лет 2 недели назад
11 лет 2 недели назад
11 лет 3 недели назад