Die Veröffentlichung des CRIU-Tools 3.16 (Checkpoint and Restore In Userspace) steht zur VerfĂŒgung und dient der Speicherung und Wiederherstellung von Prozessen im Benutzerspeicher. Das Tool ermöglicht es, den Zustand eines oder mehrerer Prozesse zu speichern und dann die Arbeit von diesem gespeicherten Punkt aus fortzusetzen, auch nach einem Neustart des Systems oder auf einem anderen Server, ohne bestehende Netzwerkverbindungen zu unterbrechen. Der Projektcode wird unter der GPLv2-Lizenz vertrieben.
Zu den Anwendungsbereichen der CRIU-Technologie zĂ€hlt die GewĂ€hrleistung eines OS-Neustarts ohne Unterbrechung der AusfĂŒhrung von lang laufenden Prozessen, Live-Migration von isolierten Containern, Beschleunigung des Starts langsamer Prozesse (man kann die Arbeit ab einem nach der Initialisierung gespeicherten Zustand beginnen), DurchfĂŒhrung von Kernel-Updates ohne Dienstneustart, regelmĂ€Ăiges Speichern des Status lang laufender Berechnungsaufgaben zur Wiederaufnahme der Arbeit im Falle eines Absturzes, Lastenverteilung auf Knoten in Clustern, Duplizierung von Prozessen auf ein anderes System (Fork auf ein entferntes System), sowie das Erstellen von Snapshots von Benutzeranwendungen wĂ€hrend ihres Betriebs zur Analyse auf einem anderen System oder fĂŒr den Fall, dass weitere Aktionen im Programm zurĂŒckgenommen werden mĂŒssen. CRIU wird in Containerverwaltungssystemen wie OpenVZ, LXC/LXD und Docker verwendet. Die fĂŒr die Funktion von CRIU erforderlichen Ănderungen sind im Hauptkern des Linux-Kernels enthalten.
In der neuen Version:
- Das Kommando criu-ns wurde hinzugefĂŒgt, das die Wiederherstellung einer gespeicherten Prozessabbildung mit einer neuen PID und in einem separaten Mount-Namespace ermöglicht. Der Start mit einer anderen PID kann erforderlich sein, wenn die alte PID bereits im System verwendet wird.
- Die Möglichkeit zur Speicherung und Wiederherstellung von Snapshots des Zustands von verschachtelten AppArmor-Profilen wurde realisiert.
- Die Sperrung und Entsperrung von Netzwerkressourcen auf Basis von nftables wurde implementiert.
- Die UnterstĂŒtzung fĂŒr die Wiederherstellung zuvor erstellter veth-GerĂ€te wurde hinzugefĂŒgt.
- Die UnterstĂŒtzung fĂŒr die Wiederherstellung von Containern in bestehende Pods wurde verbessert.
- FĂŒr RPC-Kunden wurde die Möglichkeit zur Bestimmung der Wiederverwendung von PIDs hinzugefĂŒgt, die durch das pidfd-Mechanismus implementiert wurde.
- Die Lizenz fĂŒr alle Proto-Dateien im Verzeichnis images/ wurde auf MIT geĂ€ndert.
Quelle: opennet.ru
