第九步:使用nfs作為cinder-controller後端儲存
阿新 • • 發佈:2020-07-14
簡介
無論是分散式儲存還是商業儲存,都支援nfs協議;
之前是lvm作為cinder-controller後端儲存,現在把cinder-controller後端儲存換成nfs,則也不需要安裝openstack-cinder服務
NFS伺服器
1、yum install nfs-utils -y
2、mkdir /data/cinder -p #用於存放cinder-controller建立的卷
3、vim /etc/exports
/data/cinder *(rw,no_root_squash)
4、systemctl restart nfs
cinder-controller節點
配置cinder-controller節點使用nfs 1、vim /etc/cinder/cinder.conf [DEFAULT] enabled_backends = nfs #告訴cinder-controller,使用nfs作為後端儲存 #state_path = /var/lib/cinder #$state_path 這個變數定義了NFS的掛載路徑 [nfs] #如果想使用nfs作為後端儲存,必須在/usr/lib/python2.7/site-packages/cinder/下,有nfs驅動才可 volume_backend_name = openstack-NFS #指定後端儲存名稱,用以區分不同的後端儲存,如使用lvm或者nfs volume_driver = cinder.volume.drivers.nfs.NfsDriver #指定NFS驅動;通過NFS驅動程式,實現卷的建立、管理、刪除,包括卷的拉伸 nfs_shares_config = /etc/cinder/nfs_shares #定義NFS掛載的配置檔案路徑,cinder服務需要有許可權讀取檔案 nfs_mount_point_base = $state_path/mnt #$state_path為cinder的變數,定義NFS掛載點 2、vim /etc/cinder/nfs_shares #編輯nfs掛載的配置檔案 172.31.7.105:/data/cinder #指定NFS地址及共享目錄 3、chown root.cinder /etc/cinder/nfs_shares #修改檔案的許可權 4、systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service 5、tail -f /var/log/cinder/*.log #日誌不能有報錯 6、systemctl restart openstack-cinder-volume.service #controller節點上必須開啟此服務,將controller也變為一個儲存節點 7、systemctl enable openstack-cinder-volume.service 8、df -TH #檢視是否自動掛載NFS 9、cinder service-list #列出cinder的後端儲存服務
controller-建立型別
當有LVM及NFS兩個後端儲存,建立卷的時候需要通過型別來指定是基於哪個後端儲存建立卷 1、cinder type-create lvm #建立個型別名為lvm 2、cinder type-create nfs #建立個型別名為nfs 3、cinder type-key lvm set volume_backend_name=Openstack-lvm #將lvm型別與lvm後端儲存進行關聯;Openstack-lvm這個後端儲存名稱為cinder儲存節點配置檔案中給lvm模組所設定的名稱 4、cinder type-key lvm set volume_backend_name=openstack-NFS #將nfs型別與NFS後端儲存進行關聯;openstack-NFS這個後端儲存名稱為cinder控制節點配置檔案中給nfs模組所設定的名稱 5、這樣在建立卷的時候,就可以根據型別選擇所關聯的後端儲存服務(46)
6、ll /data/cinder #在nfs伺服器的此目錄下,會有一個以卷的ID為命名的塊裝置(data)檔案 7、剩下的步驟與lvm後端儲存操作一樣,將卷與虛擬機器關聯,然後格式化檔案系統、掛載磁碟就可以使用 8、雖然後端儲存使用的是NFS(基於網路的檔案系統),但cinder使用的是iscsi協議,他會把裝置以塊兒裝置的方式共享給伺服器使用;塊兒裝置需要先格式化檔案系統才可以使用 ## 注意: 1、通過iscsi協議在nfs檔案系統上模擬出塊裝置,所以只要是塊兒裝置都可以進行空間拉伸,塊兒裝置有獨立的儲存,獨立的檔案系統;但是檔案系統不能進行拉伸,共享出來的如果只是個目錄,則無法進行拉伸 2、當有cinder後端儲存後,之後建立的所有虛擬機器的系統盤都會放到cinder的後端儲存上,這樣在虛擬機器遷移的時候,只需要把一個node節點上的計算資源(cpu、記憶體)拷貝到另一個node節點上,系統盤就不需要進行拷貝了,提高了虛擬機器的遷移速度