Linux KVM Virtualization Manual Low-Level Guest Export/Import Procedure

From NovaOrdis Knowledge Base
Jump to navigation Jump to search

Internal

Overview

This is the procedure to snapshot a KVM virtual machine. It consists in taking snapshots of its XML definition and performing snapshots of all its storage devices.

Take a Virtual Machine Snapshot


If the virtual machine has more than one storage device attached, they all must be snapshot at the same time to produce a consistent snapshot that can be reverted to.

Shutdown the Target Guest

virsh shutdown <vm-name>

Identify all Storage Devices

virsh dumpxml <vm-name>

Look for <disk> definitions. The disk definition specifies the source and the format of the virtual storage device. Example:

<disk type='file' device='disk'>
    <driver name='qemu' type='qcow2'/>
    <source file='/main-storage-pool/appproxy.qcow2'/>
    ...
</disk>

Snapshot Each Storage Device

qemu-img snapshot -c <snapshot-tag> <volume-name>

For more details about snapshot mechanics, see

qemu-img snapshot -c

Save the XML Definition

Restore from Snapshot

Perform the steps described in the "Take a Virtual Machine Snapshot" section in reverse order:

Restore the Content of Storage Device from Snapshot

qemu-img snapshot -a <snapshot-tag> <volume-name>

For more details about restoration mechanics, see

qemu-img snapshot -a

Alternative

Alternative suing qemu-img create. See

http://dustymabe.com/2015/01/11/qemu-img-backing-files-a-poor-mans-snapshotrollback/