Як я можу оновити ядро ​​свого сервера без перезавантаження?


29

Це завантажене питання, тому що я вже знаю про мене і дуже зацікавлений у ksplice . Проблема полягає в тому, що, оскільки їх купив Oracle, вони були змушені витягнути численні дистрибутиви серверів із пропозицій. Відповідь не така проста, як раніше.

Я помітив запитання на Unix.SE, в якому сказано:

Ви можете створити власні патчі ksplice, щоб динамічно завантажуватись у власне ядро

Чудово! Але як?!

Я встановив безкоштовний kspliceпакет у репо на своєму робочому столі (не ksplice-uptrackякий не є безкоштовним) і тепер хочу генерувати та застосовувати оновлення. Який процес? Чи є якісь сценарії там, щоб автоматизувати процес?

Більше того, якщо вся техніка, необхідна для оновлення без перезавантаження, сидить там у ядрі (і kspliceпакеті), чому ж на землі ми не використовуємо це за замовчуванням?


Зовсім недавно було оголошено kGraft . Це здається приблизно однаковим результатом, тому якщо у вас є відповідь, яка це стосується, я би був так само задоволений цим. Наразі минуло кілька місяців від звільнення.


Примітка 1: Я радий за рішення поруч з ksplice, але він повинен доставити те саме: прокатка оновлень до ядра, які можна застосувати без перезавантаження сервера.

Примітка 2: Я скажу це ще раз; основна "служба" ksplice не підтримує сервер Ubuntu. Раніше це було, але вже не. Коли я кажу про те, що хочу використовувати ksplice, я кажу про інструменти з відкритим кодом у kspliceпакеті. Будь-яка відповідь, про яку говорять, ksplice-uptrack- це, мабуть, не те, про що я шукаю, оскільки це частина, яка безпосередньо інтегрується з вищезгаданою "послугою".

Відповіді:



6

Я не знаю багато про ksplice, але думав, що це згадаю - ви чули про це kexec? Це може бути те, що вам потрібно.

Щодо питання, чому ми не прийняли це як механізм за замовчуванням? Добре, перезапис пам'яті поточного ядра, поки воно ще працює, може спричинити потенційні проблеми. Він також очікує, що апаратні пристрої будуть у чітко визначеному стані, що не завжди можливо.

Можна поглянути із статтею про розробник IBM, щоб вирішити, чи відповідає вашим потребам.


5
+1 для kexec, але по суті це гаряча перезавантаження - IE ядро ​​знову завантажується з нуля, тому сценарії init тощо все ще викликаються. Це технічно не є перезавантаженням, але запущені служби припиняться.
jackweirdy

Так, я знаю про це, але я нічого не читав на ksplice, щоб дізнатися, як це відрізняється.
Марцін Камінський

1
За даними en.wikipedia.org/wiki/Ksplice , kspliceзастосовано бінарний диференційний патч до запущеного ядра, поки він залишається в пам'яті
jackweirdy

2
Мені потрібно прочитати трохи більше про це, оскільки це цікаво. Так скільки часу тривалості роботи ви намагаєтеся врятувати від скидання? : D
Марцін Камінський

3

ksplice дозволить поміняти ядро ​​без необхідності перезавантаження. Uptrack працює в ksplice і має редагований файл конфігурації в /etc/uptrack/uptrack.conf


2

Є кілька повністю відкритих джерел для Ksplice, які були представлені для включення в основне ядро ​​Linux. Занадто рано говорити, що виявиться в ядрі, але ви все одно можете спробувати їх, якщо ви досить сміливі:

Більше про обидва ви можете прочитати тут: SUSE Posts kGraft, Red Hat Posts Kpatch Patches


1

Вікі Arch Linux мали інструкції: https://wiki.archlinux.org/index.php/ksplice

Єдина частина, яка здається специфічною для дистрибутиву, - це як встановити сам ksplice. Оскільки ви вже зрозуміли, що це здається, я думаю, що це повинно вас переробити.


1
Хоча це теоретично може відповісти на питання, бажано було б сюди включити істотні частини відповіді та надати посилання для довідки.
Ерік Карвальо

0

З 16 липня 2015 року "Oracle Ksplice пропонується безкоштовно на Fedora та Ubuntu Desktop Editions.", Офіційно.

Просто встановіть завантажений .deb файл, який ви можете отримати тут .

Якщо ви спробуєте sudo dpkg -i ksplice-uptrack.deb, можливо, вам доведеться виправити залежності sudo apt-get install -f.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.