塊存儲服務
-
- 簡介
- 部署環境
- 在控制節點上安裝和配置塊裝置存儲服務(cinder)
- 安裝并配置一個存儲節點
- 圖形化界面通路
簡介
OpenStack塊存儲服務(cinder)為虛拟機添加持久的存儲,塊存儲提供一個基礎設施為了管理卷,以及和OpenStack計算服務互動,為執行個體提供卷。此服務也會激活管理卷的快照和卷類型的功能。
塊存儲服務(cinder)為執行個體提供塊存儲。存儲的配置設定和消耗是由塊存儲驅動器,或者多後端配置的驅動器決定的。還有很多驅動程式可用:NAS/SAN,NFS,ISCSI,Ceph等。
典型情況下,塊服務API和排程器服務運作在控制節點上。取決于使用的驅動,卷伺服器可以運作在控制節點、計算節點或單獨的存儲節點。
更多内容參考官網:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder.html
部署環境
我已經部署好了OpenStack平台并且裝了可視化工具。可參照我之前的文章
OpenStack平台的搭建:https://blog.csdn.net/m0_55005311/article/details/119750200?spm=1001.2014.3001.5501
OpenStack可視化:https://blog.csdn.net/m0_55005311/article/details/119773544?spm=1001.2014.3001.5501
三台虛拟機:
controller控制節點 192.168.122.11
compute1計算節點 192.168.122.12
block1塊節點 192.168.122.13 本次部署建立的虛拟機,需要兩塊硬碟,openstack源已配好,已時間同步,已更新軟體包
!!!三台主機的域名解析都已做好
在控制節點上安裝和配置塊裝置存儲服務(cinder)
配置步驟參考官網:https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-controller-install.html
安裝和配置塊存儲服務之前,必須建立資料庫、建立服務證書和API端點
建立 cinder 資料庫:
CREATE DATABASE cinder;
允許 cinder 資料庫合适的通路權限:
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
IDENTIFIED BY 'cinder';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
IDENTIFIED BY 'cinder';
要建立服務證書,完成這些步驟
[[email protected] ~]# openstack user create --domain default --password cinder cinder
[[email protected] ~]# openstack role add --project service --user cinder admin
建立 cinder 和 cinderv2 服務實體
[[email protected] ~]# openstack service create --name cinder \
> --description "OpenStack Block Storage" volume
[[email protected] ~]# openstack service create --name cinderv2 \
> --description "OpenStack Block Storage" volumev2
建立塊裝置存儲服務的 API 入口點
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volume public http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volume internal http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volume admin http://controller:8776/v1/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volumev2 public http://controller:8776/v2/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volumev2 internal http://controller:8776/v2/%\(tenant_id\)s
[[email protected] ~]# openstack endpoint create --region RegionOne \
> volumev2 admin http://controller:8776/v2/%\(tenant_id\)s
安裝軟體包并修改配置檔案
[[email protected] ~]# yum install openstack-cinder -y
[[email protected] ~]# vim /etc/cinder/cinder.conf
#按照連結進行修改https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-controller-install.html
#密碼要記得修改
初始化塊裝置服務的資料庫
配置計算節點以使用塊裝置存儲
重新開機計算API 服務
啟動塊裝置存儲服務,并将其配置為開機自啟
安裝并配置一個存儲節點
安裝 LVM 包,啟動LVM的metadata服務并且設定該服務随系統啟動(系統一般預設包含)
[[email protected] ~]# yum install lvm2 -y
[[email protected] ~]# systemctl enable --now lvm2-lvmetad.service
建立LVM 實體卷,建立 LVM 卷組 cinder-volumes
[[email protected] ~]# pvcreate /dev/vdb #要檢視自己的磁盤是不是vdb
[[email protected] ~]# vgcreate cinder-volumes /dev/vdb
隻有執行個體可以通路塊存儲卷組。不過,底層的作業系統管理這些裝置并将其與卷關聯。預設情況下,LVM卷掃描工具會掃描目錄,查找包含卷的塊儲存設備。如果項目在他們的卷上使用LVM,掃描工具檢測到這些卷時會嘗試緩存它們,可能會在底層作業系統和項目卷上産生各種問題。必須重新配置LVM,讓它隻掃描包含
/dev
卷組的裝置。
cinder-volume
如果存儲節點在作業系統磁盤上使用了 LVM,還必需添加相關的裝置到過濾器中。
[[email protected] ~]# vim /etc/lvm/lvm.conf
[[email protected] ~]# vim /etc/lvm/lvm.conf
filter = [ "a/vda/", "a/vdb/", "r/.*/"]
安裝軟體包
[[email protected] ~]# yum install openstack-cinder targetcli python-keystone -y
[[email protected] ~]# vim /etc/cinder/cinder.conf
#參考連結修改https://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-storage-install.html
#注意修改密碼
lvm子產品沒有,在最後加上。用iscsi協定把lvm從本地的邏輯卷組裡分出去
啟動塊存儲卷服務及其依賴的服務,并将其配置為随系統啟動。因為用到了iscsi協定,是以要啟動target
在控制節點列出服務元件以驗證是否每個程序都成功啟動
圖形化界面通路
在dashborad用demo使用者身份登入,可以看到多了一個功能是卷
建立一個雲硬碟
有很多功能,可以擴充雲硬碟,建立快照等
選擇管理連接配接加到之前建立的雲主機裡,這時進入雲主機
fdisk -l
就可以看到這個1G的硬碟,
mkfs.xfs /dev/vdb
就可以格式化硬碟挂載使用了
這個硬碟其實是在block1節點上的,是使用iscsi協定連接配接到雲主機上
注意如果對雲盤進行擴容,隻是邏輯方面進行了擴容,檔案系統已經格式化過了,是以實體空間還是原來的大小。這個時候想變大就對檔案系統進行拉伸
xfs_growfs /dev/vdb
。