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?

OpenStack-dev mailing list

Reply via email to