LINUX.ORG.RU

В Ubuntu стал доступен механизм обновления ядра «на лету» без перезагрузки

 , , ,


2

1

С сегодняшнего дня в Ubuntu 16.04 x86_64 появился механизм горячего обновления ядра, основанный на технологии livepatches. В будущем планируется внедрить поддержку POWER8 и s390x (мейнфреймы), а также ARM64. 32-разрядные системы, к сожалению, не получат такой возможности.

Функция прежде всего ориентирована на коммерческих пользователей, которым критически важна работа без перезагрузок и сбоев.

В предыдущих релизах Ubuntu новая функция недоступна, так как для её работы требуется ядро версии 4.4 и выше. Релизы без долгосрочной поддержки также не смогут работать с livepatch, так как они являются тестовыми и не ориентированы на бесперебойно работающие системы.

С помощью нового механизма будут распространяться критические обновления безопасности.

Обычные пользователи без платной подписки UA могут получать обновления только на 3 компьютера. Однако стоит учесть, что патчи будут тестироваться в первую очередь на тех, кто получил обновления бесплатно, а предприятия с платной техподдержкой получат обновления только после тщательного тестирования.

Чтобы воспользоваться новой технологией, необходимо:

  • Перейти по ссылке https://ubuntu.com/livepatch и получить свой токен.
  • Установить snap-пакет canonical-livepatch (sudo snap install canonical-livepatch).
  • Включить livepatch командой sudo canonical-livepatch enable токен.

>>> Подробности

★★★

Проверено: Falcon-peregrinus ()
Последнее исправление: cetjs2 (всего исправлений: 9)

Много лет назад читал про эти механизмы обновления на лету, штуки 3 было как минимум известных, в итоге так нигде и не появилось, кроме тестовых дистрибутивов. Ubuntu как всегда впереди!

anonymous
()
Ответ на: комментарий от beastie

Всё это было уже давным-давно, но зато теперь с платной подпиской

Available to Oracle Linux customers with Oracle Linux Premier Support

Oracle Linux Premier Support
Support for your Linux operating system implementations.
US$2,299.00 - US$6,897.00

Deleted
()
Ответ на: комментарий от anonymous

Много лет назад читал про эти механизмы обновления на лету, штуки 3 было как минимум известных, в итоге так нигде и не появилось, кроме тестовых дистрибутивов. Ubuntu как всегда впереди!

это троллинг такой? в SLES (точно) и RHEL (кажется) давно есть.

whereisthelinus
()
Ответ на: комментарий от anonymous

Внезапно на ksplice.oracle.com можно найти следующее: Ksplice provides members of the Linux community free security updates for their desktop Linux installation. Ksplice currently supports Ubuntu and Fedora distributions. No registration is necessary, but providing Ksplice with an email address allows us to communicate with you should any issues arise.

jameel
()
# kexec -l /bzImage --reuse-cmdline
# kexec -e

установил kexec-tools, проверил на своём CRUX, оно работает, но хотелось бы чтобы вы не вводили всех новичков в заблуждение, а подробно объясняли, что данный механизм из себя представляет.

когда вы включаете компьютер, загружается BIOS (UEFI), которое затем передаёт управление ядру на одном из носителей. в случае перезагрузки ядра «на лету» о котором идёт речь, компьютер не будет перезагружен, а просто новое ядро заменит собою старое, со всеми отсюда вытекающими: вы ДОЛЖНЫ будете предварительно остановить все сервисы, все базы данных завершить корректно, а только потом запустить на выполнение новое ядро, и оно заново стартанёт ваш init с pid=1 который, со всеми сервисами заново!

для десктопа этот метод обновления ядра нафиг не нужен вообще. тут инициализация железа занимает три секунды, тут экономить не на чем, не нужно забивать себе голову этими kexec-tools: проще кнопочку power нажать пару раз, честно.

для серверов, которые настоящие, там инициализация самого железа может занимать десятки минут, поэтому там да, может быть перезагружать _ядро со всеми сервисами_ станет на порядок проще, чем перезапускать железо каждый раз при обновлении.

чтобы наглядно продемонстрировать вам, что это такое.

запустите терминал, напишите команду exec top, затем нажмите букву q чтобы выйти из top: вы увидите, что закроется ваш терминал, а не выход из top обратно в консоль.

почему так произошло? потому что команда exec подменяет собой текущий процесс на новый. у вас консоль была bash, выполнили exec, bash завершился и подменил собой top, теперь в терминало только, и только top. вы зыкрываете top — закрывается и терминал, что логично..

всё абсолютно тоже самое делает kexec с ядром.

init процесс завершается, ВСЕ СЕРВИСЫ ДОЛЖНЫ ЗАВЕРШИТЬСЯ КОРРЕКТНО ПРЕЖДЕ ЧЕМ ВЫ ЭТО СДЕЛАЕТЕ, а затем уже старое ядро подменяет себя на новое, и ВСЕ СЕРВИСЫ СТАРТУЮТ ЗАНОВО!!!

такие дела.

Spoofing ★★★★★
()
Ответ на: комментарий от Spoofing

новое ядро заменит собою старое

На опеннете пишут иное.

В livepatch также используется метод замены функций в ядре и перенаправление на новую функцию при помощи штатной подсистемы ftrace. Патч оформляется в виде модуля ядра, осуществляющего необходимую подстановку кода функций.

anonymous
()
Ответ на: комментарий от Spoofing

KSplice обновляет ядро действительно на лету, ничего останавливать не нужно. Единственное неудобство, что если понадобится ребут, то при загрузке того же ядра ksplice будет заново подгружать все в ядро все патчи и это займет дополнительное время.

jameel
()

Чтобы воспользоваться новой технологией, необходимо:

Перейти по ссылке https://ubuntu.com/livepatch и получить свой токен

Чтобы воспользоваться этой технологией, нужно вставить себе какой-то зонд, я правильно понял?

utf8nowhere ★★★
()
Ответ на: комментарий от Spoofing

для серверов, которые настоящие,

в данном случае непонятно, зачем такое делать на настоящих серверах, если все равно предварительно нужно остановить все сервисы
проще ребутнуть

kto_tama ★★★★★
()
Ответ на: комментарий от utf8nowhere

Вся эта ботва она для тех, у кого большой парк машин. Исходники патчей доступны свободно. Не хочешь получать ключ у канониклов - запиливай свою инфраструктуру обновлений. То есть, продумывай, как централизованно на каждую подконтрольную машину доставлять своевременно патчи, компилировать и подгружать модуль ядра.

Каноникл просто сделала уже готовую реализацию, когда патчи грузятся и применяются автоматически.

anonymous
()
Ответ на: комментарий от Spoofing

для серверов, которые настоящие, там инициализация самого железа может занимать десятки минут

Что за предрассудки такие, убери этот хлам под кровать.

в данном случае непонятно, зачем такое делать на настоящих серверах, если все равно предварительно нужно остановить все сервисы

проще ребутнуть Там была описана перезагрузка в обход/без BIOS/UEFI, пару секунд так можно сэкономить.

Теперь почему не ksplice
Пользователь Ubuntu уже доверяет Canonical. К Oracle не все однозначно относятся. Тестировать под один дистрибутив гораздо легче, не думаю что в Oracle тестируют каждый сплоит. Для пользователя Ubuntu livepatch, гораздо удобней, тем более он идет в snap пакете. Livepatch работает с ftrace. Три машины это нормально, и если этого мало и нет денег, то всегда можно зарегистрировать еще несколько пользователей в launchpad.
Оффтоп: Теперь lxd тоже стал поставляться в snap, так что пользователи других дистрибутивов могут тоже иметь последний LXD.

anonymous_sama ★★★★★
()
Ответ на: комментарий от beastie

Всё это было уже давным-давно, но зато теперь с платной подпиской. ;) O tempora o mores!

Там бесплатно только для десктопов. Как раз где оно нафиг не нужно.

anonymous
()

Пакет snap

На всякий случай оставлю это здесь. apt-get install snapd, а то установил я snap не глядя, потом удивлялся кто это..

jeord
()
Ответ на: комментарий от anonymous_sama

Что за предрассудки такие, убери этот хлам под кровать.

О, вот и диванные эксперты по администрированию локалхоста. При старте сервера выполняется проверка и инициализация железа. Для сервера со скромным уже 1 Тб памяти только инициализация памяти занимает минут 5

IBM, HP. Как серверы, так и лезвия

router ★★★★★
()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от whereisthelinus

это троллинг такой? в SLES (точно) и RHEL (кажется) давно есть.

И это домашние дистрибутивы, да? Ну-ну.

anonymous
()
Ответ на: комментарий от jameel

Внезапно на ksplice.oracle.com можно найти следующее: Ksplice provides members of the Linux community free security updates for their desktop Linux installation. Ksplice currently supports Ubuntu and Fedora distributions. No registration is necessary, but providing Ksplice with an email address allows us to communicate with you should any issues arise.

И это домашний дистрибутив? Вы чего школота, включайте котелок хоть.

anonymous
()
Ответ на: комментарий от paran0id

Сильно нужно оно юбунтятам %)

Прикинь? Обновляю ядро раз в месяц, чего мне точно не нужно так это каждый раз перезагружаться по каждой фигне, отвлекаясь от работы. Но ты конечно мне ща навангуешь советов, типа сходи за чаем пока ждешь, и прочее прочее, короче не говори мне что делать, ну а дальше сам знаешь.

anonymous
()
Ответ на: комментарий от jameel

Я вот как раз сидел и вспоминал кто там для десктопа это дело бесплатно дает, помнил что недавно наталкивался. Спасибо. Но одном из домашних десктопов попробую.

ergil ★★★
()
Ответ на: комментарий от Spoofing

инициализация самого железа может занимать десятки минут

Что может так долго включаться? Я только лог загрузки системы на 3 тыщи ядер видел (NUMA чего-то там). Оно минут 30 запускалось.

Для общего развития. :)

Radjah ★★★★★
()
Ответ на: комментарий от Spoofing

CRIU

Можно и рестартовать все сервисы, а можно воспользоваться тем же CRIU, чтоб сервисы запаузить и сохранить в дамп, а после подмены ядра - запустить вновь.

aldaril_kote
()
Ответ на: комментарий от Radjah

Что может так долго включаться?

Память, RAID, сеть.

anonymous
()

В KernelCare это давно есть

и для кучи дистрибутивов...

anonymous
()

Ну теперь-то точно капец?

petrosyan ★★★★★
()

Обычные пользователи без платной подписки UA могут получать обновления только на 3 компьютера.

о, платные подписочки уже в убунте, ну теперь марк заживёт.

conformist ★★★
()
Ответ на: CRIU от aldaril_kote

ты реально пользовался CRIU? не троллинг, реально интересная технология

val-amart ★★★★★
()
Ответ на: комментарий от anonymous

к тому же, у меня, например, комп максимум уходит в спячку, а потом будится с полностью расфасованными по тегам приложениями и можно продолжить работу/отдых/развлечения с того места, на котором закончил.

Конечно, максимум из возможного я вынес в автозагрузку, но появляется во время работы много новых окон, которых туда не пропишешь. Для ЧП взял UPS, но это для ЧП. А обновления требующие перезагрузку - неудобны, создают в потоке разрыв, нужно предварительно сохранять временные документы, а потом заново открывать, передавая нужным тегам.

Однозначно плюс.

Deleted
()

Обычные пользователи без платной подписки UA могут получать обновления только на 3 компьютера. Однако стоит учесть, что патчи будут тестироваться в первую очередь на тех, кто получил обновления бесплатно, а предприятия с платной техподдержкой получат обновления только после тщательного тестирования.

Вот и вся суть бубунты...чертов космонавт...

Odalist ★★★★★
()
Ответ на: комментарий от utf8nowhere

нужно вставить себе какой-то зонд, я правильно понял?

Да, ты все правильно понял, кэп. Нужно вставить пенис космонавта...

Odalist ★★★★★
()

Потрясающая новость. Как я без этого жил?

cadaber ★★
()
Ответ на: комментарий от beastie

зато теперь с платной подпиской

более того, ещё и через проприетарную прокладку

zabbal ★★★★★
()
Ответ на: комментарий от Odalist

Эти негодяи посмели зарабатывать зарабатывать деньги на линуксе!

wingear ★★★★
()
Ответ на: комментарий от Odalist

будут тестироваться в первую очередь на тех, кто получил обновления бесплатно, а предприятия с платной техподдержкой получат обновления только после тщательного тестирования

Так десктопный линукс на твоем компутере по такому же принципу

anonymous
()
Ответ на: комментарий от anonymous

Такой продукт уже давно запустили kernelcare.com Причем с тех.поддержкой.

Kathrin
()

Воротит от гопбунты этой уже непервай год, космоафриканер гейтсом там прикидыватся штоле?, скоро воротить как от шындовс будет, с пробными периодами и сканами сфинктора, но вэй..

anonymous
()
Ответ на: комментарий от Spoofing

для серверов, которые настоящие, там инициализация самого железа может занимать десятки минут, поэтому там да, может быть перезагружать _ядро со всеми сервисами_ станет на порядок проще, чем перезапускать железо каждый раз при обновлении.

Да, но сомневаюсь, что для энтерпрайза годится подход «быстренько перезапустим все сервисы, подменим ядро, никто и не заметит». Энтерпрайз-задачу должно выполнять множество серверов, из которого можно нужный сервер изъять, нормально перезагрузить (хоть за час), и вернуть на место без потерь для SLA.

muon ★★★★
()

livepatch

Сколько их уже было-то? kpatch, ещё какая-то, теперь новый костыль.

inchallah
()
Ответ на: комментарий от anonymous

Так десктопный линукс на твоем компутере по такому же принципу

Неужели? Пользуюсь Дебианом, кеп...

Odalist ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.