Ingenieure von Google haben ein Set von Patches fĂŒr die Diskussion unter den Entwicklern des Linux-Kernels veröffentlicht, das die Implementierung des Live Update Orchestrator (LUO) umfasst, der fĂŒr die Aktualisierung des Kernels im Live-Modus bestimmt ist. Im Gegensatz zu Mechanismen wie livepatch, Ksplice, kpatch und kGraft beschrĂ€nkt sich das neue System nicht auf die Möglichkeit, einzelne Korrekturen auf einen laufenden Linux-Kernel anzuwenden, sondern ermöglicht es, den Kernel vollstĂ€ndig neu zu starten und zu aktualisieren, ohne den Betrieb einzelner GerĂ€te zu unterbrechen. Das Projekt basiert auf einem Set von KHO-Patches (Kexec HandOver) fĂŒr den Kexec-Mechanismus, der verwendet wird, um einen neuen Kernel aus einem bereits laufenden Linux-Kernel ohne physische NeubegrĂŒndung zu laden.
Als Hauptanwendungsbereich von LUO wird Cloud-Umgebungen angegeben, in denen die Möglichkeit bestehen wird, den KVM-Hypervisor ohne BeeintrÀchtigung der laufenden Prozesse zu aktualisieren. virtuelle MaschinenInsbesondere wird es möglich sein, wÀhrend des Neustarts des Kernels mit dem Hypervisor anzuhalten, virtuelle Maschinen wÀhrend alle an den virtuellen Maschinen angehÀngten GerÀte in einem funktionsfÀhigen Zustand bleiben.
Um diese Möglichkeit zu realisieren, bietet LUO die FunktionalitĂ€t zur Speicherung des Status der GerĂ€te vor dem Wechsel zu dem neuen Kernel und zur Wiederherstellung des Status sofort nach Aktivierung des neuen Kernels, sodass die fortlaufenden Operationen des Systems und der Anwendungen im Benutzerbereich mit den GerĂ€ten nicht gestört werden. WĂ€hrend des Kernel-Neustarts wird auch die Ununterbrochenheit der durch DMA ausgefĂŒhrten Operationen und die AktivitĂ€t, die mit der Interruptverarbeitung verbunden ist, sichergestellt.
Zur Koordination der Statusspeicherung und dem Wechsel zu dem neuen Kernel stellt LUO eine API bereit, die es anderen Kernel-Subsystemen ermöglicht, Handler fĂŒr die Ăberwachung und Teilnahme am Live-Neustartprozess anzuschlieĂen. Unter den Subsystemen, die sich in LUO integrieren können, sind der KVM-Hypervisor, iommu, das Interruptsystem und Treiber vermerkt. FĂŒr die Ăbertragung des Speicherstatus vom alten zum neuen Kernel wird KHO (Kexec HandOver) verwendet. Die Verwaltung erfolgt ĂŒber sysfs-Dateien "/sys/kernel/liveupdate/{state, prepare, finish}".
Quelle: opennet.ru
