cinder提供持久的塊儲存,目前僅供給虛擬機器掛載使用。它並沒有實現對塊裝置的管理和實際服務,而是為後端不同的儲存結構提供了統一的介面,不同的塊裝置服務廠商在 cinder 中實現其驅動,以與 openstack 進行整合。它通過整合後端多種儲存,用api介面為外界提供儲存服務。
在cinder配置檔案中,預設的backend lvmdriver是通過lvm來使用某個cinder volume服務所在的伺服器的本地儲存空間:
cinder-volume服務所在的節點,cinder.conf配置檔案內容樣式如下:
[lvmdriver-1]
volume_group = stack-volumes-lvmdriver-1
volume_driver = cinder.volume.drivers.lvm.lvmiscsidriver
volume_backend_name = lvmdriver-1
引數詳解:
volume_group 指定cinder使用的 volume group即儲存節點上的vg。在devstack預設安裝時其名稱是stack-volumes-lvmdriver-1;在實際部署cinder的時候其預設名稱是cinder-volumes。
volume_driver 指定driver型別. lvm支援兩種傳輸協議: iscsi and iser。
iscsi的話,將其值設為 cinder.volume.drivers.lvm.lvmiscsidriver;
iser的話,將其值設為 cinder.volume.drivers.lvm.lvmiserdriver
volume_backend_name 指定backend name。當有多個 volume backend 時,需要建立 volume type,它會繫結乙個或者多個backend。使用者在建立 volume 時需要選擇某個 volume type,間接相當於選擇了某個 volume backend。
注意事項:
1)除了在啟動的時候讀取該配置檔案以外,cinder-volume服務不實時監控該檔案。因此在修改該檔案後你需要重啟cinder-volume 服務。
也就是說cinder-volume服務只是在啟動的時候,讀取一次該配置檔案,剩下的就不在讀取了,因此在修改完配置檔案後,需要在重啟啟動一下cinder-volume服務
2)只有乙個backend的時候,除了配置volume group外,不需要新增別的配置資訊,建立volume的時候也不需要選擇volume type。當有多個backend的時候,你需要使用volume-type來將volume建立到指定的backend中。乙個volume-type可以有幾個backend,這時候 the capacity scheduler 會自動選擇合適的backend來建立volume。如果定義了volume type,但是cinder.conf中沒有定義volume backend,那麼cinder scheduler將找不到有效的host來建立volume了。
3)乙個儲存節點上可以提供多種型別的儲存服務,例如,本地儲存、ceph儲存等,對於本地儲存型別來說,乙個vg就是乙個儲存後端backend,乙個儲存型別type,可以對應多個backend,建立卷時,指定儲存型別,系統會自動選擇乙個有效backend後端進行真實卷的建立。部署的時候,可以這樣劃分,相同型別的儲存後端,歸類為乙個儲存型別,這樣可以通過卷型別來區分不同的儲存型別。也可以乙個儲存型別type對應乙個儲存後端
cinder儲存節點部署,部署在a主機
1)安裝lvm2軟體包
yum install lvm2 -y
2)啟動lvm的metadata服務並且設定該服務隨系統啟動
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
3)建立lvm 物理卷 /dev/sdb
pvcreate /dev/sdb
4)建立 lvm 捲組 cinder-volumes
vgcreate cinder-volumes /dev/sdb
6)安裝cinder元件軟體包
yum install openstack-cinder targetcli python-keystone -y
7)在cinder-volume服務所在的節點修改cinder.conf 檔案
在[lvm]部分,配置lvm後端以lvm驅動結束,捲組cinder-volumes,iscsi協議和正確的iscsi服務
[lvm]
volume_driver = cinder.volume.drivers.lvm.lvmvolumedriver # 驅動
volume_group = cinder-volumes # vg組名稱
iscsi_protocol = iscsi # iscsi協議
iscsi_helper = lioadm # iscsi管理工具
volume_backend_name=iscsi-storage # 名稱在 [default] 區域,配置映象服務 api 的位置
在[default]部分,啟用 lvm 後端
[default]
enabled_backends = lvm
在[default]區域,配置映象服務 api 的位置
[default]
glance_api_servers =
8)啟動塊儲存卷服務及其依賴的服務,並將其配置為隨系統啟動
systemctl enable openstack-cinder-volume.service target.service
systemctl restart openstack-cinder-volume.service target.service
9)使用cinder create 命令建立卷,再通過nova volume-attach 命令把卷改在到虛機上
10)在儲存節點上執行lvdisplay命令,檢視剛才掛載的資料卷
LVM的簡單介紹與使用
lvm,邏輯盤卷管理 logical volume manager 他是建立在硬碟與分割槽之上的乙個邏 輯層,提高磁碟分割槽的靈活性。lvm 預設使用 4mb的 pe區塊,而 lvm的 lv最多僅能含有 65534 個pe lvm1 的格式 因此預設的 lvm的 lv最大容量為 4m 65534 1...
lvm邏輯卷建立及使用
建立邏輯卷 pvcreate dev md0 pvs 檢視建立的pv組 pvdisplay dev md0 檢視磁碟詳細資訊 新增vg組 建立vg組 vgcreate vg1 dev md0 擴充套件vg組 vgextend vg1 dev md1 vgextend vg1 dev md5 vgs ...
lvm邏輯卷建立及使用
建立邏輯卷 pvcreate dev md0 pvs 檢視建立的pv組 pvdisplay dev md0 檢視磁碟詳細資訊 新增vg組 建立vg組 vgcreate vg1 dev md0 擴充套件vg組 vgextend vg1 dev md1 vgextend vg1 dev md5 vgs ...