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 的各種操作。