[openstack-dev] [Cinder] About storing volume format info for filesystem-based drivers

Duncan Thomas duncan.thomas at gmail.com
Mon Jun 23 16:08:55 UTC 2014

Write a blueprint and a patch...

On 23 June 2014 16:07, Trump.Zhang <zhangleiqiang at gmail.com> wrote:
> Hi, all:
>     Currently, there are several filesystem-based drivers in Cinder, such as
> nfs, glusterfs, etc. Multiple format of volume other than "raw" can be
> potentially supported in these drivers, such as qcow2, raw, sparse, etc.
>     However, Cinder does not store the actual format of volume and suppose
> all volumes are "raw" format. It will has or already has several problems as
> follows:
>     1. For volume migration, the generic migration implementation in Cinder
> uses the "dd" command to copy "src" volume to "dest" volume. If the src
> volume is "qcow2" format, instance will not get the right data from volume
> after the dest volume attached to instance, because the info returned from
> Cinder states that the volume's format is "raw" other than "qcow2"
>     2. For volume backup, the backup driver also supposes that src volumes
> are "raw" format, other format will not be supported
>     Indeed, glusterfs driver has used "qemu-img info" command to judge the
> format of volume. However, as the comment from Duncan in [1] says, this auto
> detection method has many possible error / exploit vectors. Because if the
> beginning content of a "raw" volume happens to a "qcow2" disk, auto
> detection method will judge this volume to be a "qcow2" volume wrongly.
>     I proposed that the "format" info should be added to "admin_metadata" of
> volumes, and enforce it on all operations, such as create, copy, migrate and
> retype. The "format" will be only set / updated for filesystem-based
> drivers,  other drivers will not contains this metadata and have a default
> "raw" format.
>     Any advice?
> [1] https://review.openstack.org/#/c/100529/
> --
> -------------------
> Best Regards
> Trump.Zhang
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Duncan Thomas

More information about the OpenStack-dev mailing list