CRIU, ein System zum Speichern und Wiederherstellen des Status von Prozessen unter Linux

CRIU (Checkpoint und Wiederherstellung im Userspace) ist ein Tool, mit dem Sie den Status eines oder mehrerer Prozesse speichern können und setzen Sie dann die Arbeit von der gespeicherten Position aus fort, auch nach dem Neustart des Systems oder auf einem anderen Server, ohne bereits bestehende Netzwerkverbindungen zu unterbrechen.

Mit diesem Tool Es ist möglich, eine laufende Anwendung einzufrieren (oder ein Teil davon) und als Sammlung von Dateien dauerhaft speichern. Die Dateien können dann verwendet werden, um die Anwendung dort wiederherzustellen und auszuführen, wo sie eingefroren wurde.

Die Besonderheit des CRIU-Projekts ist das Es wird hauptsächlich im Benutzerbereich und nicht im Kernel implementiert.

Über CRIU

Das CRIU-Tool wird im Rahmen des OpenVZ-Projekts entwickelt, mit dem Ziel, den Checkpoint / Restore im Kernel zu ersetzen.

Obwohl Der Hauptfokus liegt auf der Unterstützung der ContainermigrationDadurch können Benutzer den aktuellen Status laufender Prozesse und Prozessgruppen überprüfen und wiederherstellen.

Derzeit Das Tool kann auf x86-64- und ARM-Systemen verwendet werden y unterstützt folgende Funktionen:

  • Prozesse: Hierarchie, PIDs, Benutzer- und Gruppenauthentifizierer (UID, GID, SID usw.), Systemfunktionen, Threads sowie laufende und gestoppte Zustände
  • Anwendungsspeicher: Speicherzugeordnete Dateien und gemeinsam genutzter Speicher
  • Dateien öffnen
  • Rohre und FIFOs
  • Unix-Domain-Sockets
  • Netzwerk-Sockets, einschließlich TCP-Sockets im Status ESTABLISHED
  • System V-IPC
  • Timer
  • Signale
  • Terminals
  • Kernel ruft das spezifische System auf: inotify, signalfd, eventfdyepoll

Zwischen Anwendungsbereichen der CRIU-Technologie wird beobachtet, dass Das Betriebssystem wird neu gestartet, ohne die Kontinuität der Prozesse zu unterbrechen Lang laufende, isolierte Container-Live-Migration, Beschleunigung des Starts langsamer Prozesse (kann nach der Initialisierung vom gespeicherten Zustand ausgehen), Durchführung von Kernel-Updates ohne Neustart der Dienste, regelmäßige Speicherung des lang laufenden Status von Aufgaben, um die Arbeit im Falle eines Absturzes wieder aufzunehmen , Lastverteilung über Clusterknoten, Duplizieren von Prozessen auf einem anderen Computer (Verzweigen zu einem Remote-System), Erstellen von Snapshots von Benutzeranwendungen während des Betriebs zur Analyse auf einem anderen System oder für den Fall, dass Sie weitere Aktionen im Programm abbrechen müssen. CRIU wird in Containerverwaltungssystemen wie OpenVZ, LXC / LXD und Docker verwendet.

Informationen zur neuen Version von CRIU 3.15

Derzeit ist das Tool in der Version 3.15, das kürzlich gestartet wurde und den Criu-Image-Streamer-Dienst einführt, der die Übertragung von Prozessabbildern direkt von / zu CRIUs während Einfrier- / Wiederherstellungsvorgängen ermöglicht.

  • Bilder können vom externen Speicher (S3, GCS usw.) ohne Pufferung im lokalen Dateisystem übertragen werden.
  • Unterstützung für MIPS-Architektur wurde hinzugefügt.
  • Erlaubt das Einfrieren von Prozessen, die nicht zum vorhandenen PID-Namespace gehören, gefolgt von der Wiederherstellung des vorhandenen PID-Namespace.
  • Zusätzliche Mechanismen wurden hinzugefügt, um Dateien zu überprüfen.
  • Unterstützung für das Einfrieren und Wiederherstellen von BPF-Strukturen BPF_HASH_OF_MAPS und BPF_ARRAY_OF_MAPS hinzugefügt.
  • Erste Unterstützung für die zweite Version von cgroup hinzugefügt.

Wie installiere ich CRIU unter Linux?

Wenn Sie dieses Tool installieren möchten, sollten Sie wissen, dass es in den offiziellen Kanälen der meisten Linux-Distributionen verfügbar ist.

Also, um das Tool zu installieren Öffnen Sie einfach ein Terminal und suchen Sie mit Hilfe Ihres Paketmanagers nach dem Tool oder verwenden Sie einen der folgenden Befehle, die wir gemeinsam nutzen.

Für den Fall derer, die es sind Debian-, Ubuntu-Benutzer und Derivate dieser beiden:

sudo apt install criu

Während für diejenigen, die Benutzer von sind Arch Linux und alle Derivate davon:

sudo pacman -S criu

Im Fall von denen, die Benutzer von sind Openuse:

sudo zypper install criu

Schließlich für diejenigen, die das Tool kompilieren möchten Sie können dies tun, indem Sie Folgendes eingeben:

git clone https://github.com/checkpoint-restore/criu.git
cd criu
make clean
make
make install
sudo criu check
sudo criu check --all

Wenn Sie mehr darüber wissen wollen Über dieses Tool können Sie die Details überprüfen im folgenden Link.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.