Mounten Sie qcow2-Snapshots

9

Ich verwende einige Xen-Server und habe mit der Migration zu KVM begonnen.

Derzeit laufen meine Gäste entweder auf Rohbildern oder LVMs.

Ich fand, dass libvirt einige sehr nette Snapshot-Funktionen bietet (virsh snapshot-create, ...), also entschied ich mich, qcow2 anstelle von raw / lvm zu verwenden.

Und hier ist meine Frage: libvirt erstellt die gleichen Snapshots auf dem qcow2-Image, als ob ich qemu-img verwende - ist es möglich, sie zu mounten? Ich habe etwas über qemu-nbd und die Möglichkeit, qcow zu mounten, gelesen, aber ich konnte kein Wort über Schnappschüsse finden.

Phhe
quelle

Antworten:

5

Sie sollten den Schnappschuss anwenden und das Bild wie immer mounten. Es ist besser, unmittelbar vor dem Anwenden einen Snapshot zu erstellen, wenn Sie vor diesen Vorgängen zum ursprünglichen Festplatteninhalt zurückkehren möchten. Nachdem Sie den Schnappschuss angewendet haben, hängen Sie das Bild qemu-nbdwie immer ein:

# modprobe nbd max_part=8
$ qemu-img snapshot -c backup image.qcow2
$ qemu-img snapshot -a old_snapshot image.qcow2
$ qemu-nbd --connect=/dev/nbd0 image.qcow2
# mount /dev/nbd0p1 /mnt

Möglicherweise möchten Sie den Snapshot separat speichern und als anderes Laufwerk bereitstellen. Verwenden Sie dazu den convertBefehl com qemu-img.

$ qemu-img convert -s old_snapshot image.qcow2 old_snapshot.qcow2
$ qemu-nbd --connect=/dev/nbd0 old_snapshot.qcow2
# mount /dev/nbd0p1 /mnt    

Siehe man qemu-img (1) und qemu-nbd (1) für weitere Details.

Jollyroger
quelle
Zwischen der qemu-nbd-Verbindung und dem Mount kann es sehr hilfreich sein, a auszuführen, partprobe -s /dev/nbd0da die Partitionen sonst nicht immer erkannt werden , insbesondere nicht in schnell laufenden Bash-Skripten.
Hdave
0

Es verwendet qemu-img für die Erstellung von Schnappschüssen. Wenn Sie also einen Snapshot bereitstellen, sollte dieser in der Lage sein, auf den Rest der Bilder weiter unten in der Snapshot-Kette zuzugreifen

dyasny
quelle