CRIU bietet die Möglichkeit, die Sicherung eines Prozess vorzubereiten und dabei zu beschleunigen. Dazu dient der CRIU-Parameter
»pre-dump
«
:
criu pre-dump -t 2369 -D ~/checkpoint/pre
Der Prozess läuft danach normal weiter. Ein erneuter Aufruf des Befehls aktualisiert die Vorsicherung jederzeit (
Abbildung 7
). Bei der eigentlichen Sicherung verweist man dann mit dem Parameter
»--prev-images-dir
«
aufs Pre-Dump:
criu dump -t 2369 -D ~/checkpoint/dump --prev-images-dir ../pre
Der Parameter
»--prev-images-dir
«
erwartet einen Verzeichnispfad relativ zum mit
»-D
«
angegebenen Speicherort. Im obigen Beispiel landet die Vorsicherung unter
»~/checkpoint/pre
«
, die eigentliche Sicherung unter
»~/checkpoint/dump
«
. Die Wiederherstellung funktioniert wie bei jedem Dump:
criu restore -D ~/checkpoint/dump--restore-detached
Wer von einem Prozess mehrfach einen Schnappschuss anlegen möchte, spart Zeit und Speicherplatz mit einer inkrementellen Sicherung. Dazu erstellt man einen ersten Dump wie gehabt, lässt den Prozess aber mit dem Parameter
»--leave-running
«
weiterlaufen:
criu dump -t 2334 -D ~/checkpoint/1/--leave-running --track-mem
Die erste Sicherung wandert hier ins Verzeichnis
»~/checkpoint/1/
«
. Mit dem Parameter
»--track-mem
«
lässt CRIU den Kernel den Hauptspeicherbereich des Prozesses beobachten. Dessen Informationen beschleunigen eine zweite Sicherung:
criu dump -t 2334 -D ~/checkpoint/2/--leave-running --track-mem --prev-images-dir ../1/
Hier verrät
»--prev-images-dir
«
den Speicherort der ersten Sicherung, wobei man das Verzeichnis wieder relativ zu dem hinter
»-D
«
definierten Ort angibt. Nach dem gleichen Prinzip erstellt man weitere Sicherungen. Beim letzten Dump lässt man die Parameter
»--leave-running
«
und
»--track-mem
«
weg und beendet damit den Prozess. Die anschließende Wiederherstellung erfolgt wie zuvor:
criu restore -D ~/checkpoint/2/ --restore-detached
Ein Verzeichnis enthält im Normalfall eine komplette Sicherung. Auf Wunsch spart CRIU Platz, indem es nur die seit dem letzten Dump geschehenen Änderungen speichert. Dazu dient das Deduplikationsfeature mit dem Parameter
»--auto-dedup
«
:
criu dump -t 2334 -D ~/checkpoint/2/--leave-running --track-mem --prev-images-dir ../1/ --auto-dedup
CRIU löscht jetzt alle überflüssigen Daten in der vorherigen Sicherung, nicht aber in der neuen! Unter
»~/checkpoint/2
«
landet folglich ein kompletter Dump, unter
»~/checkpoint/1
«
verbleiben nur die Unterschiede zur zweiten Sicherung. Liegen bereits inkrementelle Sicherungen vor, reduziert die Aktion
»dedup
«
diese nachträglich auf die Unterschiede:
criu dedup -D ~/checkpoint/2/