1. 程式人生 > >Openstack 安裝部署指南翻譯系列 之 Cinder服務安裝(Block Storage)

Openstack 安裝部署指南翻譯系列 之 Cinder服務安裝(Block Storage)

openstack 翻譯 cinder安裝

1.1.1.1. Cinder服務安裝Block Storage

塊存儲服務(cinder)為訪客實例提供塊存儲設備。存儲設置方法由塊存儲驅動程序確定,或者在多後端配置的情況下確定驅動程序。有各種可用的驅動程序:NAS / SANNFSiSCSICeph等。

塊存儲API和調度器服務通常在控制器節點上運行。根據使用的驅動程序,卷服務可以在控制器節點,計算節點或獨立存儲節點上運行。

本節介紹如何為塊存儲服務安裝和配置存儲節點。為了簡單起見,此配置引用一個具有空的本地塊存儲設備的存儲節點。說明使用/dev/sdb,但您可以替換特定節點的其他值。

該服務使用LVM驅動程序在此設備上提供邏輯卷,並通過iSCSI

傳輸將其提供給實例。您可以按照這些說明進行細微的修改,以使用附加的存儲節點水平擴展環境。

1.1.1.1.1. 安裝和配置存儲節點
1.1.1.1.1.1. 先決條件

在存儲節點上安裝和配置塊存儲服務之前,必須準備存儲設備。

註意:在存儲節點上執行這些步驟。

安裝支持實用程序包:

安裝LVM軟件包:

# yum install lvm2

啟動LVM元數據服務並將其配置為在系統引導時啟動:

# systemctl enable lvm2-lvmetad.service

# systemctl start lvm2-lvmetad.service

註意:一些發行版默認情況下包括LVM

創建LVM物理卷/dev/sdb

# pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created

創建LVM卷組cinder-volumes

# vgcreate cinder-volumes /dev/sdb

Volume group "cinder-volumes" successfully created

塊存儲服務在此卷組中創建邏輯卷。

只有實例可以訪問塊存儲卷。但是,底層操作系統管理與卷關聯的設備。默認情況下,LVM卷掃描工具將掃描/dev包含卷的塊存儲設備的 目錄。如果項目在其卷上使用LVM,則掃描工具會檢測這些卷並嘗試緩存它們,這可能會導致底層操作系統和項目卷的各種問題。您必須重新配置LVM以僅掃描包含

cinder-volumes卷組的設備。編輯 /etc/lvm/lvm.conf文件並完成以下操作:

在本devices節中,添加一個接受/dev/sdb設備並拒絕所有其他設備的過濾器:

devices {

...

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

過濾器陣列中的每個項目以a表示acceptr表示reject開頭,並包含設備名稱的正則表達式。陣列必須結束r/.*/以拒絕任何剩余的設備。您可以使用vgs -vvvv命令來測試過濾器。

警告:如果存儲節點在操作系統磁盤上使用LVM,則還必須將關聯的設備添加到過濾器。例如,如果/dev/sda設備包含操作系統:

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

同樣,如果您的計算節點在操作系統磁盤上使用LVM,則還必須修改/etc/lvm/lvm.conf這些節點上的文件中的過濾器, 以僅包括操作系統磁盤。例如,如果/dev/sda 設備包含操作系統:

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

1.1.1.1.1.2. 安裝和配置組件

安裝軟件包:

# yum install openstack-cinder targetcli python-keystone

編輯/etc/cinder/cinder.conf文件並完成以下操作:

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

[database]

# ...

connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

替換CINDER_DBPASS為塊存儲數據庫選擇的密碼。

在本[DEFAULT]節中,配置RabbitMQ 消息隊列訪問:

[DEFAULT]

# ...

transport_url = rabbit://openstack:RABBIT_PASS@controller

替換RABBIT_PASS為您為該openstack帳戶選擇的密碼RabbitMQ

[DEFAULT][keystone_authtoken]部分中,配置身份服務訪問:

[DEFAULT]

# ...

auth_strategy = keystone

[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 = CINDER_PASS

替換CINDER_PASScinder身份服務中為用戶選擇的密碼 。

註意:註釋或刪除該[keystone_authtoken]部分中的任何其他選項 。

在本[DEFAULT]節中,配置my_ip選項:

[DEFAULT]

# ...

my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

替換MANAGEMENT_INTERFACE_IP_ADDRESS為存儲節點上的管理網絡接口的IP地址,通常為示例體系結構中第一個節點的10.0.0.41

在本[lvm]節中,使用LVM驅動程序,cinder-volumes卷組,iSCSI協議和適當的iSCSI服務配置LVM後端。如果該[lvm]部分不存在,請創建它:

[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

在本[DEFAULT]節中,啟用LVM後端:

[DEFAULT]

# ...

enabled_backends = lvm

註意:後端名稱是任意的。作為示例,本指南使用驅動程序的名稱作為後端的名稱。

在該[DEFAULT]部分中,配置Image Service API的位置:

[DEFAULT]

# ...

glance_api_servers = http://controller:9292

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

[oslo_concurrency]

# ...

lock_path = /var/lib/cinder/tmp

1.1.1.1.1.3. 完成安裝

啟動Block Storage卷服務,包括其依賴關系,並將其配置為在系統引導時啟動:

# systemctl enable openstack-cinder-volume.service target.service

# systemctl start openstack-cinder-volume.service target.service

1.1.1.1.2. 安裝和配置控制器節點

本節介紹如何在控制器節點上安裝和配置塊存儲服務(代號為Cinder)。此服務需要至少一個向實例提供卷的附加存儲節點。

1.1.1.1.2.1. 先決條件

在安裝和配置塊存儲服務之前,必須創建一個數據庫,服務憑證和API端點。

要創建數據庫,請完成以下步驟:

使用數據庫訪問客戶端作為root用戶連接到數據庫服務器:

$ mysql -u root -p

創建cinder數據庫:

MariaDB [(none)]> CREATE DATABASE cinder;

授予對cinder數據庫的正確訪問權限:

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘localhost‘ \

IDENTIFIED BY ‘CINDER_DBPASS‘;

MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO ‘cinder‘@‘%‘ \

IDENTIFIED BY ‘CINDER_DBPASS‘;

更換CINDER_DBPASS一個合適的密碼。

退出數據庫訪問客戶端。

輸入admin憑據以訪問僅管理CLI命令:

$ . admin-openrc

要創建服務憑據,請完成以下步驟:

創建cinder用戶:

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

User Password:

Repeat User Password:

admin角色添加到cinder用戶:

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

創建cinderv2cinderv3服務實體:

$ openstack service create --name cinderv2 \

--description "OpenStack Block Storage" volumev2

$ openstack service create --name cinderv3 \

--description "OpenStack Block Storage" volumev3

註意:塊存儲服務需要兩個服務實體。

創建塊存儲服務API端點:

$ openstack endpoint create --region RegionOne \

volumev2 public http://controller:8776/v2/%\(project_id\)s

$ openstack endpoint create --region RegionOne \

volumev2 internal http://controller:8776/v2/%\(project_id\)s

$ openstack endpoint create --region RegionOne \

volumev2 admin http://controller:8776/v2/%\(project_id\)s

$ openstack endpoint create --region RegionOne \

volumev3 public http://controller:8776/v3/%\(project_id\)s

$ openstack endpoint create --region RegionOne \

volumev3 internal http://controller:8776/v3/%\(project_id\)s

$ openstack endpoint create --region RegionOne \

volumev3 admin http://controller:8776/v3/%\(project_id\)s

註意:塊存儲服務需要每個服務實體的端點。

1.1.1.1.2.2. 安裝和配置組件

安裝軟件包:

# yum install openstack-cinder

編輯/etc/cinder/cinder.conf文件並完成以下操作:

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

[database]

# ...

connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

替換CINDER_DBPASS為塊存儲數據庫選擇的密碼。

在本[DEFAULT]節中,配置RabbitMQ 消息隊列訪問:

[DEFAULT]

# ...

transport_url = rabbit://openstack:RABBIT_PASS@controller

替換RABBIT_PASS為您為該openstack帳戶選擇的密碼 RabbitMQ

[DEFAULT][keystone_authtoken]部分中,配置身份服務訪問:

[DEFAULT]

# ...

auth_strategy = keystone

[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 = CINDER_PASS

替換CINDER_PASScinder身份服務中為用戶選擇的密碼。

註意:註釋或刪除該[keystone_authtoken]部分中的任何其他選項 。

在該[DEFAULT]部分中,配置該my_ip選項以使用控制器節點的管理接口IP地址:

[DEFAULT]

# ...

my_ip = 10.0.0.11

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

[oslo_concurrency]

# ...

lock_path = /var/lib/cinder/tmp

填充Block Storage數據庫:

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

1.1.1.1.2.3. 配置計算以使用塊存儲

編輯/etc/nova/nova.conf文件並添加以下內容:

[cinder]

os_region_name = RegionOne

1.1.1.1.2.4. 完成安裝

重新啟動Compute API服務:

# systemctl restart openstack-nova-api.service

啟動Block Storage服務並將其配置為在系統啟動時啟動:

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

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


本文出自 “yuweibing的技術博客” 博客,請務必保留此出處http://yuweibing.blog.51cto.com/3879355/1981184

Openstack 安裝部署指南翻譯系列 之 Cinder服務安裝(Block Storage)