Инженеры из компании Google опубликовали для обсуждения разработчиками ядра Linux набор патчей с реализацией подсистемы Live Update Orchestrator (LUO), предназначенной для обновления ядра в Live-режиме. В отличие от таких механизмов, как livepatch, Ksplice, kpatch и kGraft, новая система не ограничивается возможностью применения отдельных исправлений к работающему ядру Linux, а позволяет полноценно перезагрузить и обновить ядро без остановки работы отдельных устройств. Проект базируется на наборе патчей KHO (Kexec HandOver) к механизму kexec, применяемому для загрузки нового ядра из уже запущенного ядра Linux без физической перезагрузки...Подробнее: https://www.opennet.me/opennews/art.shtml?num=62929
Ой а руткиты то как воспрянут духом.
Ну пока до этого дойдут, у них уже будет тотальный контроль
Ну так это основное назначение данной системы, всё для удобства пользователя
> Ой а руткиты то как воспрянут духом.Самый неломаемый компьютер - который не подключен к питанию и интернету. Так что как говорится, анон, "при аварии - выдерни шнур, выдави стекло"
Руткиты больше не нужны. Пользователь андроид отдаёт всё сам
Будут обновлять десктопного Андрея без перезагрузки. Жду Google Pixel Laptop ещё сильнее.
И без вашего ведома.
И это хорошо эти нотификации "обнови меня" утомляют. Хром сам вон обновляется и это с самого начала была его основная фича.
Т.е., пилится для облачных технологий?! Ясно.
Что-то много стало уклона в облако.
Корпорации хотят всех пересадить на сервисы с подпиской? Для... Максимум спектра задач компаний и ФЛ.
Понятно.
Не хочу я чего-то...
Пилится в первую очередь для себя. И с барского плеча так и быть отдаётся сообществу.
Заруби себе на носу.
Корпорации, тем более транснациональные, никому с "барского плеча" ничего не дают. Это бизнес и очень жесткий, возможно даже жестокий. А бизнес всегда преследует выгоду. Всегда. Они прагматики.
И если они скинули опенсорс, то, как вероятность, лишняя поддержка сообщества вне их штата, хотя бы в тестировании.
К тому же, посмотри объемы проектов облачных технологий. Хотелось бы еще объемы инвестиций, их доли посмотреть...
Когда надо, они надавят и на форки, и на разработчиков, и на кого угодно, если будет нужда.
Тебе бы стоило понимать, что выражение "с барского плеча" в современном мире используется в ироничном смысле.
Ясен перец, корпорации не баре и ничего с барского плеча не дают. Я хз, что ты под этим выражением понимал.
Ты какой-то сердитый, аноним.Бизнес, может, и жёсткий, но большие корпорации обычно занимают какие-то ниши, и в них укореняются, из-за этого их оттуда сложно выбить, и поэтому они начинают коррумпироваться и разводить DEI и прочую ESG.
Так что корпорации тоже "с барского плеча" тоже бывает что и дают, из-за всеобщего раздолбства.
Но и бывает так, что компании просто выгоднее "положить продукт на Гитхаб и забить на него". Типа, какие-то баги сообщество само найдёт, для каких-то даже патчи пришлёт. Да и просто выделять инженера на поддержку особенно не придётся.
Пилится в первую очередь для соблюдения их реальной ценности - монополия. А именно монополия на власть.
> Пилится в первую очередь для себя. И с барского плеча так и быть отдаётся сообществу.Скорее, чтобы не взваливать на себя вообще весь майнтенанс единолично. Это так то довольно дорого и непрактично. Поэтому линух и юзают, а не всякие там bsd растащенные по углам.
Облачные сервисы масштабируемы, дело не в хомяках.
Мне уже интересно сколько разных теорий заговора местные не очень здоровые люди родят в комментах к этой новости
Много. Это вообще под вопросом кто тут не очень здоров. Вот смотри в программировании программисты весьма часто обращают внимание на время жизни компонентов для решения задач. Вот и представь что государства это такие же программы которые имеют компоненты с разным временем жизни. И американская программа весьма интересно устроена - для того чтобы добиться разнообразия решений у них президент выбирается раз в 2 года. Казалось бы такое разнообразие приведет к хаосу лебеди, рака и щуки, но нет - есть компании у которых время жизни более сотни лет. Компании которые вкладывают в свое государство (а не в чужые как у некоторых) производят государственную политику, т.е. часть проблем управления им делегируется. И они как-то друг с другом прекрасно взаимодействуют, особенно с товарищем майором, в отличии от некоторых, которые предпочитают францюватого товарища майора в партнёрах чем сотрудничать со своими рассказывая про человека мира (вообще термин интересный если поискать что это). А для решения этой задачи как описали в другом комментарии существуют микроядра и давно и вопрос в том - зачем в открытом ядре взаимодействие с проприетарным облаком? Впрочем это если исходить из новости - патч собственно не разжевывается подробно. Может там все проще.
Увидели барашки в далеке вкусную травку и несутся на всех парах к ней. Один умный баран увидел вдруг обрыв, встал на задние лапы, расставил передние в сторны и орет: "Бараны, стойте, вы все разобьетесь!!!"...> Не хочу я чего-то...
Как думаете, что с тем умным бараном случится ?
Бред, глюкодром. Перезагрузка нужна. "Семь бед - один ресет!"
Вот в этом весь си в отличии от... (не буду называть его вслух)
lisp?
Дело не в Си, а в том, что для реализации этой идеи нужна поддержка на уровне устройств. Если производитель не закладывал в устройство такую возможность и не тестировал это, то горячая перезагрузка ядра может приводить к появлению труднообъяснимых странных глюков, снижению стабильности системы и в итоге компьютер всё-равно придётся перезагружать.
> Дело не в Си, а в том, что для реализации этой идеи нужна поддержка на уровне устройств.Зачем? Устройства в общем случае вывешивают весьма абстрактный интерфейс и понятия не имеют кто, как и почему ими рулит. То что там по пути handover случился девайс вообще знать - не обязан. Будет ему команды новое ядро пулять а не старое - и чего? Устройство вообще не знает кто и почему это делает.
Более того - в драйверах как правило есть процедуры (ре)инициализации с ноля - и шатдауна - устройств. Например чтобы в глубокую спячку типа suspend to ram брякнуться, все вырубив нафиг. Вплоть до powerdown основной части системы. С потерей состояний девайсов, конечно.
Если вон то ядро корректно отдаст новому state - или сделать деинициализацию и реинициализацию, как выход из deep sleep - то какие проблемы?
> Если производитель не закладывал в устройство такую возможность и не тестировал это,
... то оно не сможет и в режимы продвинутого power save, внезапно, и даже так - можно попытаться. Ибо девайс не знает кто и почему его дергает в общем случае - и ему пофиг смена ядра. Можно дать драйверу какой-нибудь флаг что девайс уже инициализирован и с ноля его инитить не надо.
> то горячая перезагрузка ядра может приводить к появлению труднообъяснимых
> странных глюков, снижению стабильности системы и в итоге компьютер всё-равно
> придётся перезагружать....а если ехать со скоростью более 40 км/ч то можно вообще сойти с ума! (c) коннозаводчики при появлении паровозов, в предвкушении неизбежного.
вы ознакомились с бредятиной человека, никогда не написавшего ни одного драйвера.
Похоже, даже мигать светодиодиками предпочитает чужим готовым.знаток эмбедовки как он есть.
P.S. да, в железках есть процедуры полного или частичного шатдауна и иницализации после него. Как, правда, есть и миллион воплей на этом же сайте что "ноут не просыпается!!!!"
Но гуглевые инжинеры, обожравшиеся инжыра, вообще-то врут что "позволяет полноценно перезагрузить и обновить ядро без остановки работы отдельных устройств", а не это вот все.
Не всё так просто. Например, для нормальной работы системы из нескольких устройств иногда требуется синхронная подача на них сигнала reset или включение питания в определённой последовательности со специально рассчитанными задержками.
Тёплая перезагрузка?
Мягкая
Мелкая
Вялая
Гуглярщики в этот раз паразитируют на чужих разработках. Что в тексте описано. Хотя почему в этот раз?
Перейдите по ссылке на патч, автор Kexec HandOver - Changyuan Lyu из Google.
чего только не придумают, лишь бы микроядро не использовать
А если микроядро нужно перезагрузить?
если нужно - перезагружай
Танненбаум: https://youtu.be/MG29rUtvNXg?si=6S86vXq40RzXen5-&t=2378
> А если микроядро нужно перезагрузить?Мимо. Просто глянь что это.
Эта операция нужна дай бог 1 раз в 5 лет.
А ведь это правда - микроядра вполне решают такие задачи, зачем облака я ядре Линукс? Если я конечно правильно понял новость.
> А ведь это правда - микроядра вполне решают такие задачи, зачем облака
> я ядре Линукс? Если я конечно правильно понял новость.Они, к сожалению, создают взамен дофига новых проблем. Не очень то и решаемых. Например проблемы перфоманса. И в таком виде оно никому в облаках и проч не надо - ибо денег очень уж стоит. За что и идет нафиг. И желающие писать дрова в таких парадигмах - где?
Микроядро (как архитектура) - не приговор. Производительность - ОНА И ТАК УПАЛА. Посмотри как работает настоящее железо и сравни с "облачной" VM ровно такой же конфигурации - небо и земля. Микроядро позволяет "жонглировать" системой благодаря слабосвязности. Это куда важнее десятка тактов, которые ты выжмешь на монолите. Оптимизировать надо приложения, а не ОС. Они же должны максимально распараллеливаться. Часть программы, работающая на отдельном ЦПУ стократ быстрее той же программы, просто работающей на монолите. Так что микроядро - будущее, просто x86 - такой тyxляк, что там только покрасить и выбросить.
какие облака в ядре?! ты забыл таблетки принять или просто вообще не понимаешь о чем пишешь?
А как насчёт системы перезагрузки ядра без перезагрузки ядра?
Слабо вообще без ядра запускать систему ? Вот и я думаю слабо , можно сделать и тогда ядро не будет нужно
> Слабо вообще без ядра запускать систему ? Вот и я думаю слабо , можно сделать и тогда ядро не будет нужноКомпьютеры уже были когда-то однозадачными. Это действительно работает, только усилий много нужно. Поэтому эволюция пришла к ядру.
> Компьютеры уже были когда-то однозадачнымиу вас уже 1000500 ядер в цпу для 1000500 задач?
> Поэтому эволюция пришла к ядру.
спекуляция пришла
> Слабо вообще без ядра запускать систему ?Это называется bare metal programming - но тогда вместо обновления ядра вы будете обновлять firmware, или как вы это назвали...
Поскорее бы уже! А то обновляться жалко. Вот сейчас на моём роутере с openwrt 207 дней аптайма. Обновлюсь -- и слетит, цифарки будут маленькие, меряться нечем будет!
> позволяет полноценно перезагрузить и обновить ядро без остановки
> работы отдельных устройствА вот это круто, да. Ну что, дбас, учись как надо было! :)
а реально полноценно? что-то не верю, как писали выше риск глюкодрома присутствует
> а реально полноценно? что-то не верю, как писали выше риск глюкодрома присутствуетА кто б его знает. Вот запилят - и посмотрим.
Так то большая часть железок может быть корректно реинициализирована по многим причинам. Или можно какой-нибудь флаг передать что не надо ее уже инитить. Из глубокой спячки с poweroff основного питания железки и ос же выходят и состояние оси нормально восстанавливается, несмотря на довольно радикальную операкию.
Скажем при STR под питанием остается по сути только оператива. И ничего, после просыпания все выглядит как будто питание и не снимали. Ну вот часы и таймауты порой да, офигевают с того что на паузу их так бесцеремонно поставили.
.само собой, но есть нюанс, все режимы поддерживаются аппаратно и железо тестируется на это, и при все при этом сколько было случаев когда что-то отваливалось после снау меня в линухе доходит до чудесных моментов, когда приходится перезагружаться дважды после обновлений, чтобы все начинало работать правильно, очень редко но случается, и где тогда применять? на критической инфракструктуре?
если получится то я только рад
Полезно для секты свидетелей аптайма)Для всех остальных нормальная перезагрузка надежнее.
А уж в облаке какие проблемы перезагрузить хост не прерывая гостевые машины?!
Это хорошо для коммерческих систем. Или хотите сказать что облако будет у вас в домашней сети на отдельном компьютере?
> Полезно для секты свидетелей аптаймамне кажется, он при этом сбрасывается?
> А уж в облаке какие проблемы перезагрузить хост не прерывая гостевые машины?!
эмюээээ... как бы эта... в общем, если это не никому ненужная васян-виртуалка с нулевым лоадом - проблема некоторым образом имеется. В масштабах гули этой - серьезная.
Только совершенно непонятно как эта поделка ту проблему решает. Память сбрасывается, сетевые соединения рвутся, виртуалки отправляются в "suspend to disk", по сути (они при этом могут думать что это suspend to memory, но кому-то все равно сохранять на диск). Что мало отличается от предыдущего по накладным расходам, особенно если у гугли за последние 15 лет ничего не поменялось в плане того что "диски" в люстре, люстра в облачке, над облачком дух Г-день витает и светится. У них перегрузилась этим обновлениями именно основная сеть, отдельная от кластерной, и настолько что прям нннада ее беречь? (вообще-то удивлюсь если у них есть еще и отдельные сети, а не единственный сетевой адаптер на всю картонку) Или кому-то просто не хватало баллов для performance review?
К тому же из вяликих достижений заявлено "не сбрасываются состояния устройств". Кто видел гуглевые обувные коробки - тот сильно удивлен, чего там за наносекунды экономятся, и, кстати, не следует ли такую поделку сбрасывать раз в каждые 12 часов просто для надежности? Загружаться она должна практически мгновенно, это тебе не делловский рэк.
(который тоже не просто так по 15 минут жвалами печально перебирает, а как раз во избежание ненужных приключений потом)
> Только совершенно непонятно как эта поделка ту проблему решает. Память сбрасывается, сетевые соединения рвутся, виртуалки отправляются в "suspend to disk", по сути (они при этом могут думать что это suspend to memory, но кому-то все равно сохранять на диск).А мало вариантов?
- Перенести (синхронизировать) текущее состояние на другой компьютер в облаке, а текущий обновить. Будет выглядеть как небольшое подвисание на насколько секунд из-за переподключения сетевого соединения.
- Перезагрузить и проверить что обновление прошло нормально и переподключиться. Если что-то пошло не так загрузить образ из бэкапа в облаке. Это кстати полезно пользователям для которых эти новшества будут в ядре. Только далеко не все этому будут рады.
- Запустить новое ядро не выключая старое выделив отдельные ресурсы, синхронизироваться со старым. Если все нормально, старое убираем. Если что-то не так переходим на старое, если что-то совсем не так то грузимся из облака. С чего вы взяли что сетевое соединение порвется? Если что-то не так подымается то что работало. И тем не менее даже одну сетевую карту можно использовать и из разных машин. Т.е. не выключая старое соединение останется
>> Только совершенно непонятно как эта поделка ту проблему решает. Память сбрасывается,
> А мало вариантов?
> - Перенести (синхронизировать) текущее состояние на другой компьютер в облаке, а текущийвот эту проблему они вроде как и хотели решить. Для непонятливых, не видящих дальше локалхоста: это на самом деле проблема - сложно и дорого в масштабах той гули. Вон ВК даже и не стал пытаться - шмяк рубильником. А чотакова, облачка, белогривые лошарики, linear scaling, а юзер нажмет reload, в конце-то концов.
Но совершенно непонятно, чем данное решение лучше. Все равно состояние надо сохранять а потом восстанавливать, нагрузку на это время куда-то девать... т.е. "задача сведена к предыдущей", только еще и добавились дополнительные приседания с "без переинициализации устройств", как будто это чем хорошо.
> обновить. Будет выглядеть как небольшое подвисание на насколько секунд из-за
не, не настолько все плохо. ;-) Но все равно нехорошо.
> облака. С чего вы взяли что сетевое соединение порвется? Если что-то
эммм... как бы тебе...
> не так подымается то что работало. И тем не менее даже
> одну сетевую карту можно использовать и из разных машин. Т.е. не
> выключая старое соединение останетсяэто фантастика
> эммм... как бы тебе...Вот и эмм как бы тебе. Устройство загружается с определенного адреса, но только с определенных ядер процессоров. Доступ у этих ядер до сетевых карт не нужен во время перезагрузки. А даже если и нужен то напоминаю что сетевые карты могут быть разными, в том числе и такие, которые позволяют несколько ЭВМ использовать одну. Ты когда ставишь операционную систему, у тебя доступ к сети есть. А если нужно перепрошить саму сетевую карту, то прерывание доступа будет не значительным и более того сетевых карт можно и две воткнуть и перепрошивать одну. Мало решений что-ли?
> это фантастикаПосмотри реализацию протокола IP. Ты на физическом уровне ничего не меняешь. У тебя как был воткнут кабель или Wi-Fi/Li-Fi работало, так и будет работать. А на логическом все от программиста зависит
Вопрос, а исходный код облака они тоже предоставят? Или на открытости Линукса можно ставить крест?
> Вопрос, а исходный код облака они тоже предоставят? Или на открытости Линукса
> можно ставить крест?Мы вам исходный код люстры уже разок предоставили. Напомнить, что вы с ним сделали?
А люстра это что? LAMP? Разве они имеют отношение к Apache, MySQL, Php?
Горячая перезагрузка?
xkcd 14 -> 15
>систему перезагрузки ядра без остановки работы устройствПерезагрузка для сервера? Да вообще не проблема. Мне как-то давно преподователь хвастался, что такая-то версия вантуз-сервера может работать годами без перезагрузки. Я такой, ого интресесно! А сейчас работая с серверами не вижу ничего предосудительного в перезагрузке ОС, роутера или чего-то там вообще.
Какая то версия Вантуз сервера поддерживает так же горячую замену начинки, например озу, или видеокарты.
Без перехагрузки.
так линух тоже поддерживает. Тебе удев для чего впендюривали-то и почему, по-твоему, без него даже не загрузишься толком?Проблема что железо не поддерживает. Если ты из своего подкроватного сервера на ходу дернешь планку - она сгорит к хренам с высокой вероятностью. А может и соседняя заодно.
А из сановского шкафа - да, можешь. (Правда с каких-то совсем-совсем больших шкафов эта фича начиналась)
Но слишком дорогая игрушка. Проще и дешевле купить вторую стойку дешевейших писюков, а проблему даунтайма при переключении решить как-нибудь по другому (забив на нее вообще, ну, например). Пластмассовый мир опять победил.
А хотплагом наслаждаться в виртуалочках. Там - все работает как положено. Можешь процессоры на ходу добавлять, можешь сетевые платы менять местами.
Well...
Представим себе большую инфраструктуру. В ней есть Х сервисов типа А, Y сервисов типа B и ещё сколько-то сервисов типа С..
Мы не же учёные, знаем профили нагрузки, держим нужные резервы. И вот мы решаем накатить обновления.
Нам нужно разработать оркестрацию как, когда и что мы будем обновлять.
Патч менеджмент, сегол
дня, может быть сложным.И вот мы процесс запустили и он побежал. Сначала мы выжимаем процессы из 10% кластера/пула, ждём когда они мигрируют, обновляется, перезагружается. Потом берём следующие 10% и так далее. Закончили с С, начали с А. Тем же образом. Ну и в конце - В.
Сколько, как вы думаете, это можете продолжаться по времени? А если мы "долетим" до периода пиковой нагрузки, а обновление не закончено и резервы заняты? Держать ещё резервы? Взять из временно, чтоб потом переаллоцировать?Короче, понятно 100% почему регулярно такие инициативы возникают.
Если у Гугла получится, будет реально хорошо.
> учёные, знаем профили нагрузки, держим нужные резервы.и тут приходит к стойке тот самый дол... с неисправным шнуром питания. Искры, дым, вонь, срабатывает защита и отрубается (предположим нам повезло) стойка целиком (бывает хуже). Унося с собой сервисы бе, эе, и даже се. Сразу пачкой.
И вот тут подходит к тебе босс и спрашивает - ну мы же ... далее по тексту, и у тебя был какой-нибудь план Бе?
А ты ему про ручной прдлнг как ты ресурсы перераспределял...
Большая инфраструктура при этом - ну теряет пару кликов, где-то даже оплата не прошла но списалась - дело житейское. Большинство юзверей вообще ничего не заметят, ну подтупило что-то на очередном запросе. На то она и большая, что проектировали как надо. Ее только падение целиком ЦОДа заставит руками шевелиться.
Если ты задумаешься, почему у них так, а у тебя предупреждение от босса о неполном соответствии и минус премия за год - возможно догадаешься, почему гуглевая затея не имеет никакого смысла, даже если бы была сделана не писателями-на-го, у которых виртуалки в "сон" отправляются - т.е. не работают все это время.
А статья была изменена? По моему ранее было написано про сохранение работающего образа в облако, разве нет? Перечитал, хотел найти нужный абзац, но его нет.
Вам показалось, в статье такого небыло. Было и остаётся про область применения в облаках - "В качестве основной области применения LUO называются облачные окружения, в которых появится возможность обновления гипервизора KVM без нарушения работы запущенных виртуальных машин".
В Ubuntu подобная функция существует давно. Ничего нового.
Специально для таких как вы самом начале новости пояснили: "В отличие от таких механизмов, как livepatch, Ksplice, kpatch и kGraft, новая система не ограничивается возможностью применения отдельных исправлений к работающему ядру Linux, а позволяет полноценно перезагрузить и обновить ядро без остановки работы отдельных устройств".
>Управление производится через файлы sysfs "/sys/kernel/liveupdate/{state, prepare, finish}".systemd придумает ещё одно состояние системы.
Поставил такой себе систему реального времени в облаке, а тут раз фриз и все твои тепловые стежни бумбс.