Механизмът Kexec HandOver за рестартиране на ядрото на Linux без загуба на състояние

В списъка на Linux kernel mail е представена шеста версия на патчовете с реализиран механизъм Kexec HandOver (KHO), развиван от инженери на компаниите Amazon, Microsoft и Google. Патчовете вече са приети в клон mm-everything, в който се събират промени за бъдещата версия на ядрото 6.16, свързани с управлението на паметта. На базата на Kexec HandOver компанията Google разработва подсистема Live Update Orchestrator (LUO), която позволява перезареждане на ядрото без спиране на работата на устройствата.

Kexec HandOver предоставя възможности за стартиране на ново ядро от старо без загуба на състоянието на системата. В момента извикването на kexec() функционира само като зареждач, който просто стартира новото ядро, което след това напълно реинициализира системата, което е еквивалентно на перезареждане, само без участие на фърмуера. Предлаганата серия патчи реализира друг подход. Преди предаването на управлението на новата версия на ядрото, състоянието на основните подсистеми на ядрото се сериализира в регион памет, който няма да бъде засегнат от последващи операции. Новото ядро, получаващо управление, възстановява сериализираното състояние обратно. От гледна точка на останалите програми операцията по замяна на ядрото е незабележима.

Kexec HandOver може да се окаже полезен в ситуации, когато спирането е недопустимо и е необходимо да се осигури непрекъснат цикъл на работа на отделни устройства. Например, на сървъри за виртуализация Kexec HandOver може да се прилага за обновяване на ядрото (и хипервизора), KVM), без да засяга паметта, заета от виртуалните машини и запазвайки състоянието на тяхното изпълнение.

Източник: opennet.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster