Cinder 真正负责 Volume 管理的组件是 volume provider。
Cinder 支持多种 volume provider,LVM 是默认的 volume provider。
Devstack 安装之后,/etc/cinder/cinder 已经配置好了 LVM,如下图所示:
上面的配置定义了名为“lvmdriver-1”的 volume provider,也称作 back-end。其 driver 是 LVM,LVM 的 volume group 名为“stack-volumes-lvmdriver-1”。
Devstack 安装时并没有自动创建 volume group,所以需要我们手工创建。
如下步骤演示了在 /dev/sdb 上创建 VG “stack-volumes-lvmdriver-1”:
首先创建 physical volume /dev/sdb
Linux 的 lvm 默认配置不允许在 /dev/sdb 上创建 PV,需要将 sdb 添加到 /etc/lvm.conf 的 filter 中。然后创建 VG stack-volumes-lvmdriver-1
打开 Web GUI,可以看到 OpenStack 已经创建了 Volume Type “lvmdriver-1”
其 Extra Specs volume_backend_name 为 lvmdriver-1
后面各小节都将以 LVM 为 volume provider 详细讨论 volume 的各种操作。