2020-11-16 17:47:36 +03:00
|
|
|
.. _disk images:
|
2020-02-28 18:36:05 +03:00
|
|
|
|
|
|
|
Disk Images
|
|
|
|
-----------
|
|
|
|
|
|
|
|
QEMU supports many disk image formats, including growable disk images
|
|
|
|
(their size increase as non empty sectors are written), compressed and
|
|
|
|
encrypted disk images.
|
|
|
|
|
|
|
|
.. _disk_005fimages_005fquickstart:
|
|
|
|
|
|
|
|
Quick start for disk image creation
|
|
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
You can create a disk image with the command::
|
|
|
|
|
|
|
|
qemu-img create myimage.img mysize
|
|
|
|
|
|
|
|
where myimage.img is the disk image filename and mysize is its size in
|
|
|
|
kilobytes. You can add an ``M`` suffix to give the size in megabytes and
|
|
|
|
a ``G`` suffix for gigabytes.
|
|
|
|
|
|
|
|
See the qemu-img invocation documentation for more information.
|
|
|
|
|
|
|
|
.. _disk_005fimages_005fsnapshot_005fmode:
|
|
|
|
|
|
|
|
Snapshot mode
|
|
|
|
~~~~~~~~~~~~~
|
|
|
|
|
|
|
|
If you use the option ``-snapshot``, all disk images are considered as
|
|
|
|
read only. When sectors in written, they are written in a temporary file
|
|
|
|
created in ``/tmp``. You can however force the write back to the raw
|
|
|
|
disk images by using the ``commit`` monitor command (or C-a s in the
|
|
|
|
serial console).
|
|
|
|
|
|
|
|
.. _vm_005fsnapshots:
|
|
|
|
|
|
|
|
VM snapshots
|
|
|
|
~~~~~~~~~~~~
|
|
|
|
|
|
|
|
VM snapshots are snapshots of the complete virtual machine including CPU
|
|
|
|
state, RAM, device state and the content of all the writable disks. In
|
|
|
|
order to use VM snapshots, you must have at least one non removable and
|
|
|
|
writable block device using the ``qcow2`` disk image format. Normally
|
|
|
|
this device is the first virtual hard drive.
|
|
|
|
|
|
|
|
Use the monitor command ``savevm`` to create a new VM snapshot or
|
|
|
|
replace an existing one. A human readable name can be assigned to each
|
|
|
|
snapshot in addition to its numerical ID.
|
|
|
|
|
|
|
|
Use ``loadvm`` to restore a VM snapshot and ``delvm`` to remove a VM
|
|
|
|
snapshot. ``info snapshots`` lists the available snapshots with their
|
|
|
|
associated information::
|
|
|
|
|
|
|
|
(qemu) info snapshots
|
|
|
|
Snapshot devices: hda
|
|
|
|
Snapshot list (from hda):
|
|
|
|
ID TAG VM SIZE DATE VM CLOCK
|
|
|
|
1 start 41M 2006-08-06 12:38:02 00:00:14.954
|
|
|
|
2 40M 2006-08-06 12:43:29 00:00:18.633
|
|
|
|
3 msys 40M 2006-08-06 12:44:04 00:00:23.514
|
|
|
|
|
|
|
|
A VM snapshot is made of a VM state info (its size is shown in
|
|
|
|
``info snapshots``) and a snapshot of every writable disk image. The VM
|
|
|
|
state info is stored in the first ``qcow2`` non removable and writable
|
|
|
|
block device. The disk image snapshots are stored in every disk image.
|
|
|
|
The size of a snapshot in a disk image is difficult to evaluate and is
|
|
|
|
not shown by ``info snapshots`` because the associated disk sectors are
|
|
|
|
shared among all the snapshots to save disk space (otherwise each
|
|
|
|
snapshot would need a full copy of all the disk images).
|
|
|
|
|
|
|
|
When using the (unrelated) ``-snapshot`` option
|
|
|
|
(:ref:`disk_005fimages_005fsnapshot_005fmode`),
|
|
|
|
you can always make VM snapshots, but they are deleted as soon as you
|
|
|
|
exit QEMU.
|
|
|
|
|
|
|
|
VM snapshots currently have the following known limitations:
|
|
|
|
|
|
|
|
- They cannot cope with removable devices if they are removed or
|
|
|
|
inserted after a snapshot is done.
|
|
|
|
|
|
|
|
- A few device drivers still have incomplete snapshot support so their
|
|
|
|
state is not saved or restored properly (in particular USB).
|
|
|
|
|
|
|
|
.. include:: qemu-block-drivers.rst.inc
|