[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 741887] Re: virsh snapshot-create too slow (kvm, qcow2

From: Michael Tokarev
Subject: [Qemu-devel] [Bug 741887] Re: virsh snapshot-create too slow (kvm, qcow2, savevm)
Date: Fri, 25 Mar 2011 15:54:20 -0000

savevm _is_ slow, because it's writing to a qcow2 file with full
(meta)data allocation which is terrible slow since 0.13 (and 0.12.5)
unless you use cache=unsafe.  It's the same slowdown as observed with
default cache mode when performing an operating system install into a
freshly created qcow2 - it may take several hours.  To verify, run
`iostat -dkx 5' and see how busy (the last column) your disk is during
the save - I suspect it'll be about 100%.

You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.

  virsh snapshot-create too slow (kvm, qcow2, savevm)

Status in QEMU:
Status in “qemu-kvm” package in Ubuntu:

Bug description:
  # time virsh snapshot-create 1

  * Taking snapshot of a running KVM virtual machine

  Domain snapshot 1300983161 created
  real    4m46.994s
  user    0m0.000s
  sys     0m0.010s

  Expected result
  * 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+noroms-
  0ubuntu3; qemu-kvm 0.14.0+noroms-0ubuntu3).

  * Virtual machine disk format is qcow2 (debian 5 installed)
  image: /storage/debian.qcow2
  file format: qcow2
  virtual size: 10G (10737418240 bytes)
  disk size: 1.2G
  cluster_size: 65536
  Snapshot list:
  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-socket-bridge, udevd, dnsmasq, iotop (python)

  * networking is done by bridging and bonding

  Detail description

  * 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

  * 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

  * This behaviour was observed on lucid, meerkat, natty and even with
  git version of libvirt (f44bfb7fb978c9313ce050a1c4149bf04aa0a670).
  Also slowsave packages from
  https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/524447 gave
  this issue.

  Thank you for helping to solve this issue!

  ProblemType: Bug
  DistroRelease: Ubuntu 11.04
  Package: libvirt-bin 0.8.8-1ubuntu5
  ProcVersionSignature: Ubuntu 2.6.38-7.38-server 2.6.38
  Uname: Linux 2.6.38-7-server x86_64
  Architecture: amd64
  Date: Thu Mar 24 12:19:41 2011
  InstallationMedia: Ubuntu-Server 10.04.2 LTS "Lucid Lynx" - Release amd64 
  SourcePackage: libvirt
  UpgradeStatus: No upgrade log present (probably fresh install)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]