儲存建立及openstack對接——LVM
說明
- 本方案是在每一個計算節點上安裝cinder-volumes元件來完成對本地儲存的管理。
- 若無特殊說明,以下步驟僅在計算節點執行。
1. 前期準備
- 檢查計算節點是否安裝 lvm ,iscsi
- 磁碟分割槽和格式化,裸盤不能直接使用,如果已完成分割槽和格式化,請跳過此步驟
# fdisk –l
[[email protected] ~]# parted /dev/sdb
GNU Parted 3.1
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel
New disk label type? gpt
Warning: The existing disk label on /dev/sda will be destroyed and all data on this disk will be lost. Do you want to continue?
Yes/No? yes
(parted) mkpart
Partition name? []? 1
--指定分割槽名稱“1”
File system type? [ext2]? ext2
--指定分割槽型別“ext2”
Start? 1
End? 3000G
--指定分割槽大小“3000G”
(parted) q
Information: You may need to update /etc/fstab.
2.建立物理卷(PV)
2.1 將分割槽sdb1建立為PV
# pvcreate /dev/sdb1
注意:需要對磁碟進行分割槽,裸盤不能直接使用。
2.2 驗證PV建立成功
# pvdisplay
3.建立卷組(VG)
3.1 使用物理卷 /dev/sdb1建立卷組
# vgcreate ecloud-node1-sdb /dev/sdb1
注意:標紅欄位建議格式:ecloud-主機名-分割槽名稱
3.2 驗證VG建立成功,vddiaplay能看到名稱為ecloud-node1-sdb的卷組
# vgdisplay
4.修改cinder.conf檔案
注意:只需要修改計算節點的cinder.conf檔案,純管理節點不用做以下配置。雲主機和雲硬碟僅能使用計算節點上本地儲存資源。
4.1 修改enabled_backends
在該節點建立幾個VG卷組,就對應新增幾個標籤,不刪除原有backend標籤
# vi /etc/cinder/cinder.conf
enabled_backends=lvm-1,lvm-2
注意:
- backend標籤名稱lvm-1 與下面新增session的名稱必須一致,且一個backend對應一個session
- 新增backend標籤的個數與VG個數一致,一個backend對應一個VG
4.2 增加backend標籤session
在cinder.conf檔案的最後增加以下內容:
[lvm-1]
iscsi_helper = lioadm
volume_group = ecloud-node1-sdb
iscsi_ip_address = 127.0.0.1
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volumes_dir = /var/lib/cinder/volumes
iscsi_protocol = iscsi
volume_backend_name = lvm
注意:
- session的名稱lvm-1與enabled_backends的值一一對應
- volume_group:卷組名稱為建立的卷組的名稱
- session裡面,volume_backend_name都是一致的lvm
4.3 修改引數storage_availability_zone
在cinder.conf檔案中,修改該引數的值為當前計算節點的主機名
storage_availability_zone=node1
4.4 管理節點建立儲存型別(cinder type)
若安裝管理節點時,install.conf檔案中using_local_storage=y,則忽略該步驟,直接重啟計算節點cinder服務
# source keystonerc_admin
# cinder type-create lvm
設定volume type lvm的backend_name.(將volume_backend_name=lvm的所有VG的type-key設定為lvm)
# cinder type-key lvm set volume_backend_name=lvm
4.5 重啟計算節點cinder服務
# systemctl enable openstack-cinder-volume.service target.service
# systemctl restart openstack-cinder-volume.service target.service