virsh snapshot-create too slow (kvm, qcow2, savevm)
# time virsh snapshot-create 1
* Taking snapshot of a running KVM virtual machine
Domain snapshot 1300983161 created
* Snapshot taken after few seconds instead of minutes.
* Ubuntu Natty Narwhal upgraded from Lucid and Meerkat, fully updated.
* Stock natty packages of libvirt and qemu installed (libvirt-bin 0.8.8-1ubuntu5; libvirt0 0.8.8-1ubuntu5; qemu-common 0.14.0+
* Virtual machine disk format is qcow2 (debian 5 installed)
file format: qcow2
virtual size: 10G (10737418240 bytes)
disk size: 1.2G
ID TAG VM SIZE DATE VM CLOCK
1 snap01 48M 2011-03-24 09:46:33 00:00:58.899
2 1300979368 58M 2011-03-24 11:09:28 00:01:03.589
3 1300983161 57M 2011-03-24 12:12:41 00:00:51.905
* qcow2 disk is stored on ext4 filesystem, without RAID or LVM or any special setup.
* running guest VM takes about 40M RAM from inside, from outside 576M are given to that machine
* host has fast dual-core pentium cpu with virtualization support, around 8G of RAM and 7200rpm harddrive (dd from urandom to file gives about 20M/s)
* running processes: sshd, atd (empty), crond (empty), libvirtd, tmux, bash, rsyslogd, upstart-
* networking is done by bridging and bonding
* Under root, command 'virsh create-snapshot 1' is issued on booted and running KVM machine with debian inside.
* After about four minutes, the process is done.
* 'iotop' shows two 'kvm' processes reading/writing to disk. First one has IO around 1500 K/s, second one has around 400 K/s. That takes about three minutes. Then first process grabs about 3 M/s of IO and suddenly dissapears (1-2 sec). Then second process does about 7.5 M/s of IO for around a 1-2 minutes.
* Snapshot is successfuly created and is usable for reverting or extracting.
* Pretty much the same behaviour occurs when command 'savevm' is issued directly from qemu monitor, without using libvirt at all (actually, virsh snapshot-create just calls 'savevm' to the monitor socket).
* This behaviour was observed on lucid, meerkat, natty and even with git version of libvirt (f44bfb7fb978c9
Thank you for helping to solve this issue!
DistroRelease: Ubuntu 11.04
Package: libvirt-bin 0.8.8-1ubuntu5
Uname: Linux 2.6.38-7-server x86_64
Date: Thu Mar 24 12:19:41 2011
InstallationMedia: Ubuntu-Server 10.04.2 LTS "Lucid Lynx" - Release amd64 (20110211.1)
UpgradeStatus: No upgrade log present (probably fresh install)
added: kvm libvirt qcow2 qemu savevm snapshot virsh
|Changed in libvirt (Ubuntu):|
|status:||New → Confirmed|
|importance:||Undecided → Medium|
|affects:||libvirt (Ubuntu) → qemu-kvm (Ubuntu)|