После установки Linux 4.0 исчезнет последняя причина перезагружать твой сервер или ПК. Среди функций, которые внедрили в новое ядро, — процедура «горячей» установки патчей на работающую ОС. Так что сервер может годами поддерживать аптайм.

На самом деле такая технология разработана для Linux ещё в 2009 году компанией Ksplice, которую в 2011 году приобрела Oracle. Функция была в Oracle Linux, а также входила в пакет платной подписки Red Hat Enterprise Linux (RHEL). Разработчикам всех остальных дистрибутивов оставалось только смотреть и завидовать. До настоящего момента.

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

003

Разработчики из Red Hat и SUSE независимо друг от друга работали над созданием свободной реализации такого процесса. В прошлом году они закончили работу, так что у нас появилось две альтернативных технологии. Вариант от Red Hat называется kpatch, а от SUSE — kGraft, причём и работают они по-разному.

Kpatch задействует команду stop_machine(), изучает список процессов с помощью ftrace и, в случае возможности безопасной установки патча, переводит процесс на новый код, затем удаляя старый.

В kGraft тоже используется ftrace, но на уровне тредов, переводя вызов к старой функции на новый код.

Процедура обновления с помощью Kpatch занимает от 1 до 40 миллисекунд, а kGraft может потребоваться несколько минут, но зато она не допускает ни миллисекунды даунтайма.

С октября 2014 года Red Hat и SUSE вместе трудились над интегрированной системой, которая бы сочетала преимущества kpatch и kGraft. Они управились аккурат к первому релиз-кандидату Linux 4.0 несколько дней назад. Исходный код здесь.

17 комментариев

  1. Аватар

    04.03.2015 в 13:22

    за один только опенсолярис оракл фтопку, уродов…

  2. Аватар

    04.03.2015 в 13:52

    > которая бы сочетала преимущества kpatch и kGraft.

    Так как называется их общее детище?

  3. Аватар

    04.03.2015 в 19:24

    Windows sucks, требует перезагрузки даже после апдейта в 1 мегабайт.

  4. Аватар

    04.03.2015 в 19:56

    жаль, что в «железной» отрасли нет архитектурного аналога Линукса… чтобы была открытая платформа, которую бы доводили до ума люди заинтересованные в практичности, надежности и эффективности… с программами ведь получается и без утопий…

    • Аватар

      04.03.2015 в 22:00

      Архитектурных аналогов то как раз тьма. Только думается мне что в массе своей это закрытые проекты.
      Я бы не стал так сравнивать «железки» и «мякиши». Они просто разные. Если у софта какая-либо идея приживается, ой не факт что то же произойдет у «аппаратной» части.

      По теме:
      Наконец-то! Хвала и слава доблестным прогерам и админам, усилиями чьими живет и процветает свободный пингвин!

  5. Аватар

    05.03.2015 в 10:09

    Прекрасно, круто, мозговзрывающе! Люблю работы энтузиастов — людей любящих свою работу.

  6. Аватар

    05.03.2015 в 18:44

    в Win2k3 sp1 Такое было 🙂

  7. Аватар

    06.03.2015 в 01:19

    Ура!
    Кстати, первая крупная приятная новость на ИТ-порталах за этот год

  8. Аватар

    21.03.2015 в 10:46

    «После установки Linux 4.0 исчезнет последняя причина перезагружать твой сервер или ПК»
    При чём здесь ПК? На рабочих станциях стоят только Windows.

    • Аватар

      23.03.2015 в 14:10

      Я вынужден тебя расстроить… Но у кого и на ПК стоит линь.

      • Аватар

        23.03.2015 в 15:13

        Только у системных администраторов. А их 0.1%.

        • Аватар

          02.04.2015 в 12:22

          и у многих программистов-неэнтерпрайзников (из полусотни знакомых программистов почти у половины)
          + немало уже знакомых на linux пересадили своих родителей, чтобы не мучаться с вирями и пр.

    • Аватар

      AndreykaPro

      19.08.2015 в 00:27

      слез с винды еще в 2008)
      и очень этому рад

      ps ПРОСТОЙ ПОЛЬЗОВАТЕЛЬ

Оставить мнение