mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-30 12:31:16 +00:00
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
1.7 KiB
1.7 KiB
Snapshots
Manual storage snapshotting
Certain use cases such as block storage on LVM or disks backed via storage exported through the vhost-user-blk
protocol may require that snapshots are done in conjunction with the storage provider which is not managed by libvirt.
To achieve this such disks can use snapshot
mode manual
. When a snapshot has a disk in manual mode the following happens:
libvirt
takes snapshot of the VM memory if requested
- If a live snapshot is requested (
VIR_DOMAIN_SNAPSHOT_CREATE_LIVE
) the VM runs until the memory snapshot phase completes and is then paused.- Otherwise the VM is paused right away.
- Snapshot of disks which are marked for external snapsot is executed
- The API return success, the VM is paused.
- The user snapshots the externally managed storage
- The user resumes the execution of the VM (
virsh resume $VM
)
Overview of manual snapshots
Manual snapshot of a disk is requested by setting the snapshot
property to manual
in the snapshot XML :
<domainsnapshot>
<memory file='/path/to/memory/img'/>
<disks>
<disk name='vda' snapshot='manual'/>
<disk name='vdb' snapshot='external'/>
<disk name='vdc' snapshot='no'/>
</disks>
</domainsnapshot>
or --diskspec vda,snapshot=manual
when using virsh snapshot-create-as
:
$ virsh snapshot-create-as --diskspec vda,snapshot=manual \
--diskspec vdb,snapshot=external \
--diskspec vdc,snapshot=no $VM \
--memspec file=/path/to/memory/img