Openstack Mitaka安裝手順(7)塊存儲服務

七、塊存儲服務python

7.一、安裝並配置控制節點mysql

7.1.一、建立數據庫、服務證書和API端點。正則表達式

7.1.1.一、完成下面的步驟以建立數據庫:sql

用數據庫鏈接客戶端以 root 用戶鏈接到數據庫服務器:數據庫

$ mysql -u root -p後端


建立 cinder 數據庫:api

CREATE DATABASE cinder;緩存

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'P@ssw0rd';安全

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'P@ssw0rd';服務器


7.1.1.二、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . admin-openrc


7.1.1.三、要建立服務證書,完成這些步驟:

建立一個 cinder 用戶:

$ openstack user create --domain default --password-prompt cinder

設置密碼:P@ssw0rd

image.png


添加 admin 角色到 cinder 用戶上。

$ openstack role add --project service --user cinder admin


建立 cinder 和 cinderv2 服務實體:

$ openstack service create --name cinder --description "OpenStack Block Storage" volume

$ openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2

註解:塊設備存儲服務要求兩個服務實體。

image.png


7.1.1.四、建立塊設備存儲服務的 API 入口點:

$ openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s


$ openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s


$ openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s


$ openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s


$ openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(tenant_id\)s


$ openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(tenant_id\)s


註解:塊設備存儲服務每一個服務實體都須要端點。


控制節點防火牆開放端口:8776

# firewall-cmd --permanent --add-port=8776/tcp

# firewall-cmd --reload


確認端口開放成功

# firewall-cmd --list-all


7.1.二、安全並配置組件

7.1.2.一、安裝軟件包:

# yum install -y openstack-cinder


7.1.2.二、編輯vi /etc/cinder/cinder.conf 同時完成以下動做:

在 [database] 部分,配置數據庫訪問:

connection = mysql+pymysql://cinder:P@ssw0rd@controller/cinder


在 「[DEFAULT]」 部分,配置 「RabbitMQ」 消息隊列訪問:

rpc_backend = rabbit

auth_strategy = keystone

my_ip = 111.111.111.201


在  「[oslo_messaging_rabbit]」部分,配置 「RabbitMQ」 消息隊列訪問:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在 「[keystone_authtoken]」 部分,配置認證服務訪問:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = cinder

password = P@ssw0rd


註解:在 [keystone_authtoken] 中註釋或者刪除其餘選項。


在 [oslo_concurrency] 部分,配置鎖路徑:

lock_path = /var/lib/cinder/tmp


7.1.2.三、初始化塊設備服務的數據庫:

# su -s /bin/sh -c "cinder-manage db sync" cinder

image.png

註解:忽略輸出中任何不推薦使用的信息,不報錯就能夠了。


7.1.三、配置計算節點以使用塊設備存儲

編輯文件vi /etc/nova/nova.conf並添加以下到其中:

[cinder]

os_region_name = RegionOne


7.1.四、完成安裝

7.1.4.一、重啓計算API 服務:

# systemctl restart openstack-nova-api


7.1.4.二、啓動塊設備存儲服務,並將其配置爲開機自啓:

# systemctl enable openstack-cinder-api openstack-cinder-scheduler

# systemctl start openstack-cinder-api openstack-cinder-scheduler

# systemctl status openstack-cinder-api openstack-cinder-scheduler


7.二、安裝並配置一個存儲節點(存儲節點和計算節點配置在一塊兒)

這個部分描述怎樣爲塊存儲服務安裝並配置存儲節點。爲簡單起見,這裏配置一個有一個空的本地塊存儲設備的存儲節點。這個嚮導用的是 /dev/sdb,可是你能夠爲你特定的節點中替換成不一樣的值。本次測試已經提早添加了/dev/sdb


該服務在這個設備上使用:term:LVM <Logical Volume Manager (LVM)> 提供邏輯卷,並經過:term:`iSCSI`協議提供給實例使用。您能夠根據這些小的修改指導,添加額外的存儲節點來增長您的環境規模。


7.2.一、先決條件

在你安裝和配置塊存儲服務以前,你必須準備好存儲設備。

7.2.1.一、安裝支持的工具包:

安裝 LVM 包:

# yum install -y lvm2


啓動LVM的metadata服務而且設置該服務隨系統啓動:

# systemctl enable lvm2-lvmetad

# systemctl start lvm2-lvmetad

# systemctl status lvm2-lvmetad

註解:一些發行版默認包含了LVM。


7.2.1.二、建立LVM 物理卷 /dev/sdb:

# pvcreate /dev/sdb


7.2.1.三、建立 LVM 卷組 cinder-volumes:

# vgcreate cinder-volumes /dev/sdb


塊存儲服務會在這個卷組中建立邏輯卷。


7.2.1.四、只有實例能夠訪問塊存儲卷組。不過,底層的操做系統管理這些設備並將其與卷關聯。默認狀況下,LVM卷掃描工具會掃描``/dev`` 目錄,查找包含卷的塊存儲設備。若是項目在他們的捲上使用LVM,掃描工具檢測到這些卷時會嘗試緩存它們,可能會在底層操做系統和項目捲上產生各類問題。您必須從新配置LVM,讓它只掃描包含``cinder-volume``卷組的設備。

編輯vi /etc/lvm/lvm.conf文件並完成下面的操做:

在``devices``部分,添加一個過濾器,只接受``/dev/sdb``設備,拒絕其餘全部設備:

devices {

...

filter = [ "a/sdb/", "r/.*/"]


每一個過濾器組中的元素都以``a``開頭,即爲 accept,或以 r 開頭,即爲**reject**,而且包括一個設備名稱的正則表達式規則。過濾器組必須以``r/.*/``結束,過濾全部保留設備。您能夠使用 :命令:`vgs -vvvv` 來測試過濾器。


7.2.二、安全並配置組件

7.2.2.一、安裝軟件包:

# yum install -y openstack-cinder targetcli python-keystone


7.2.2.二、編輯vi /etc/cinder/cinder.conf,同時完成以下動做:

在 [database] 部分,配置數據庫訪問:

connection = mysql+pymysql://cinder:P@ssw0rd@controller/cinder


在 「[DEFAULT]」部分,配置 「RabbitMQ」 消息隊列訪問:

rpc_backend = rabbit

auth_strategy = keystone

my_ip = 111.111.111.202

enabled_backends = lvm

glance_api_servers = http://controller:9292


在「[oslo_messaging_rabbit]」部分,配置 「RabbitMQ」 消息隊列訪問:

rabbit_host = controller

rabbit_userid = openstack

rabbit_password = P@ssw0rd


在「[keystone_authtoken]」 部分,配置認證服務訪問:

auth_uri = http://controller:5000

auth_url = http://controller:35357

memcached_servers = controller:11211

auth_type = password

project_domain_name = default

user_domain_name = default

project_name = service

username = cinder

password = P@ssw0rd

註解:在 [keystone_authtoken] 中註釋或者刪除其餘選項。


在``[lvm]``部分,配置LVM後端以LVM驅動結束,卷組``cinder-volumes`` ,iSCSI 協議和正確的 iSCSI服務:

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

注意:上面配置在本次配置中爲新增部分。


在 [oslo_concurrency] 部分,配置鎖路徑:

lock_path = /var/lib/cinder/tmp


7.2.三、完成安裝,啓動塊存儲卷服務及其依賴的服務,並將其配置爲隨系統啓動:

# systemctl enable openstack-cinder-volume target

# systemctl start openstack-cinder-volume target

# systemctl status openstack-cinder-volume target


存儲節點防火牆開放端口:877六、3260

# firewall-cmd --permanent --add-port=8776/tcp

# firewall-cmd --permanent --add-port=3260/tcp

# firewall-cmd --reload

# firewall-cmd --list-all


7.三、驗證操做

驗證塊設備存儲服務的操做,在控制節點上執行這些命令。

7.3.一、得到 admin 憑證來獲取只有管理員能執行的命令的訪問權限:

$ . admin-openrc


7.3.二、列出服務組件以驗證是否每一個進程都成功啓動:

$ cinder service-list

image.png

相關文章
相關標籤/搜索