Documentation/CreateSnapshot: Difference between revisions

From QEMU
No edit summary
(qemu-img 7.0.0 does require -F on create)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Create a snapshot ==
== Create a snapshot ==


Snapshots in QEMU are images that refer to an original image using Copy-on-Write to avoid changing the original image.  If you want to create a snapshot of an existing image called ''centos-cleaninstall.img'', create a new QCow2 file using the ''-b'' flag to indicate a backing file.  The new image is now a read/write snapshot of the original image -- any changes to ''snapshot.img'' will not be reflected in ''centos-cleaninstall.img''.
Snapshots in QEMU are images that refer to an original image using Redirect-on-Write [http://www.ibm.com/developerworks/tivoli/library/t-snaptsm1/index.html] to avoid changing the original image.  If you want to create a snapshot of an existing image called ''centos-cleaninstall.img'', create a new QCow2 file using the ''-b'' flag to indicate a backing file.  The new image is now a read/write snapshot of the original image -- any changes to ''snapshot.img'' will not be reflected in ''centos-cleaninstall.img''.


  qemu-img create -f qcow2 -b centos-cleaninstall.img snapshot.img
  qemu-img create -f qcow2 -b centos-cleaninstall.img -F qcow2 snapshot.img


At this point, you would run QEMU against ''snapshot.img''. Making any changes to its backing file (''centos-cleaninstall.img'') will corrupt this snapshot image.
At this point, you would run QEMU against ''snapshot.img''. Making any changes to its backing file (''centos-cleaninstall.img'') will corrupt this snapshot image.
Line 24: Line 24:


  qemu -hda centos-cleaninstall.img -snapshot
  qemu -hda centos-cleaninstall.img -snapshot
[[Category:User documentation]]

Latest revision as of 18:45, 1 April 2023

Create a snapshot

Snapshots in QEMU are images that refer to an original image using Redirect-on-Write [1] to avoid changing the original image. If you want to create a snapshot of an existing image called centos-cleaninstall.img, create a new QCow2 file using the -b flag to indicate a backing file. The new image is now a read/write snapshot of the original image -- any changes to snapshot.img will not be reflected in centos-cleaninstall.img.

qemu-img create -f qcow2 -b centos-cleaninstall.img -F qcow2 snapshot.img

At this point, you would run QEMU against snapshot.img. Making any changes to its backing file (centos-cleaninstall.img) will corrupt this snapshot image.

Returning to a previous version

A snapshot image cannot be returned to its original state once modified. Instead delete the first snapshot image (snapshot.img in our example), create another snapshot image of the base image as above, and start using the new .img file.

Modifying the backing file

Making any changes to a base image (centos-cleaninstall.img in our example) will corrupt its snapshots. Make sure to delete any snapshots before running and modifying the original image. Use the qemu-img info command to determine an image's backing file.

$ qemu-img info snapshot.img
...
backing file: centos-cleaninstall.img (actual path: centos-cleaninstall.img)

Temporary snapshots

QEMU also supports temporary snapshots, where the user does not have to explicitly create a separate .img file. With the -snapshot flag, any changes made to the virtual machine while it is running are written to temporary files and thrown away when the virtual machine is turned off. No changes are saved to the original .img file.

qemu -hda centos-cleaninstall.img -snapshot