Im Linux-Kernel wurde der Live Update Orchestrator für Live-Updates hinzugefügt.

In den Code-Basis des Linux-Kernels, auf dessen Grundlage Anfang Februar die Version 6.19 veröffentlicht wird, wurde der Code des LUO (Live Update Orchestrator)-Subsystems übernommen, das von Google entwickelt wurde, um das Kernel-Update im Live-Betrieb ohne physikalischen Neustart durchzuführen. Das Subsystem basiert auf dem KHO (Kexec HandOver)-Mechanismus, der zuvor in den Kernel 6.16 eingeführt wurde und die Möglichkeit bietet, einen neuen Kernel aus einem alten heraus zu starten, ohne den Zustand des Systems zu verlieren.

Der Live Update Orchestrator ermöglicht es, das Kernel vollständig neu zu starten und zu aktualisieren, ohne den Betrieb zu unterbrechen und ohne den Zustand des Systems, der Geräte und Prozesse zu verlieren. Neben der Funktionalität des KHO speichert das LUO-Subsystem den Zustand der Geräte und des RAM und gewährleistet eine ununterbrochene Ausführung von Operationen, die mit DMA und der Interrupt-Verarbeitung verbunden sind. Der Zustand wird bis zum Wechsel zu dem neuen Kernel gespeichert und nach der Aktivierung des neuen Kernels wiederhergestellt, ohne die kontinuierlichen Operationen mit Geräten, die vom System und den Anwendungen im Benutzerspeicher durchgeführt werden, zu unterbrechen.

Ein besonderes Merkmal der neuen Patch-Serie ist die Möglichkeit, die Dateideskriptoren memfd zu speichern, um den Zustand wichtiger Daten im Speicher zwischen den Neustarts zu erhalten, wie den Inhalt des RAM. virtuelle Maschinen. Als Hauptanwendungsgebiet des Subsystems wird das schnelle Update erwähnt Server mit Virtualisierungssystemen auf Basis des KVM-Hypervisors, um Sicherheits- und Stabilitätsprobleme mit minimaler Ausfallzeit virtueller Maschinen zu beheben. Google nutzt diese Technologie bereits in seinen Arbeitsumgebungen.

Im Gegensatz zu Livepatch, Ksplice, kpatch, kGraft und anderen Mechanismen zum Hot-Patching ist das neue Subsystem nicht auf die Anwendung einzelner Korrekturen auf einem aktiven Kernel beschränkt und ermöglicht es, den Kernel vollständig zu ersetzen. Im Gegensatz zum Kexec-Aufruf speichert das LUO-Subsystem den Zustand der Geräte und der Kernel-Subsysteme zwischen Neustarts, während der Kexec-Aufruf lediglich als Bootloader fungiert, der einen neuen Kernel mit einer vollständigen Reinitialisierung des Systems startet (äquivalent zu einem Neustart, jedoch ohne Kontrolle an die Firmware zu übergeben).

Quelle: opennet.ru

60GB SSD 8Gb DDR4