Zum Hauptinhalt springen

Checkpointing

Checkpoints funktionieren derzeit nur mit Root-Containern. Daher müssen Sie den Beispiel-Container als Root ausführen. Anstatt jeden Befehl mit sudo zu prefixen, können Sie auch vorher mit sudo -i zum Root-Benutzer wechseln.

sudo podman run -dt -p 8080:80/tcp docker.io/library/httpd
sudo podman ps

Container checkpointen

Das Checkpointing eines Containers stoppt den Container und schreibt dabei den Zustand aller Prozesse im Container auf die Festplatte. Damit kann ein Container später wiederhergestellt werden und genau zum selben Zeitpunkt wie beim Checkpoint weiterlaufen. Diese Funktion erfordert CRIU 3.11 oder neuer, das auf dem System installiert ist.

Um den Container zu checkpointen verwenden Sie:

sudo podman container checkpoint <container_id>

Container wiederherstellen

Die Wiederherstellung eines Containers ist nur von einem zuvor gecheckpointeten Container möglich. Der wiederhergestellte Container wird genau zum selben Zeitpunkt weiterlaufen, zu dem er gecheckpointet wurde.

Um den Container wiederherzustellen verwenden Sie:

sudo podman container restore <container_id>

Nach der Wiederherstellung wird der Container wieder auf Anfragen antworten, wie er es vor dem Checkpointing getan hat.

curl http://<IP_address>:8080

Container migrieren

Um einen Container live von einem Host zu einem anderen zu migrieren, wird der Container auf dem Quellsystem der Migration gecheckpointet, zum Zielsystem übertragen und dann auf dem Zielsystem wiederhergestellt. Bei der Übertragung des Checkpoints ist es möglich, eine Ausgabedatei anzugeben.

Auf dem Quellsystem:

sudo podman container checkpoint <container_id> -e /tmp/checkpoint.tar.zst
scp /tmp/checkpoint.tar.zst <destination_system>:/tmp

Auf dem Zielsystem:

sudo podman container restore -i /tmp/checkpoint.tar.zst

Nach der Wiederherstellung wird der Container wieder auf Anfragen antworten, wie er es vor dem Checkpointing getan hat. Dieses Mal wird der Container auf dem Zielsystem weiterlaufen.

curl http://<IP_address>:8080