[openstack-dev] [nova] Feature about QEMU Assisted online-extend volume

Trump.Zhang zhangleiqiang at gmail.com
Thu Mar 27 16:15:54 UTC 2014

Online-extend volume feature aims to extend a cinder volume which is
in-use, and make the corresponding disk in instance extend without stop the

The background is that, John Griffith has proposed a BP ([1]) aimed to
provide an cinder extension to enable extend of in-use/attached volumes.
After discussing with Paul Marshall, the assignee of this BP, he only focus
on OpenVZ driver currently, so I want to take the work of libvirt/qemu
based on his current work.

A volume can be extended or not is determined by Cinder. However, if we
want the capacity of corresponding disk in instance extends, Nova must be

Libvirt provides "block_resize" interface for this situation. For QEMU, the
internal workflow for block_resize as follows:

1) Drain all IO of this disk from instance
2) If the backend of disk is a normal file, such as raw, qcow2, etc, qemu
will do the *extend* work
3) If the backend of disk is block device, qemu will first judge if there
is enough free space on the device, if only so, it will do the *extend*

So I think the "online-extend" volume will need QEMU Assisted, which is
simlar to BP [2].

Do you think we should introduce this feature?

[2] https://blueprints.launchpad.net/nova/+spec/qemu-assisted-snapshots
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140328/d9e35485/attachment.html>

More information about the OpenStack-dev mailing list