天天看點

openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作

塊存儲服務概述

OpenStack塊存儲服務(cinder)給虛拟機添加持久存儲。塊存儲給管理卷提供一個基礎設施,并與OpenStac計算服務進行互動進而給雲主機執行個體提供卷。該服務也啟用了卷快照和卷類型的管理。

塊存儲服務由下面元件構成:

cinder-api

接受API請求,并将它們路由到cinder-volume的ation。

cinder-volume

直接和存儲服務互動,并處理如cinder-scheduler等。它也這些程序通過消息隊列進行互動。Cinder-volume服務回報讀和寫請求到塊存儲服務以維持狀态。通過驅動結構它能與各種存儲提供商進行互動。

cinder-scheduler daemon

選擇最佳的存儲供應節點然後在其上建立卷。和nova-scheduler類似。

cinder-backup daemon

cinder-backup服務為備份存儲供應程式提供任何類型的卷備份。如cinder-volume服務,它能通過驅動結構與各種存儲供應程式互動。

Messaging queue

在各個存儲程序之間進行資訊轉發。

安裝和配置控制節點

這部分描述如何在控制節點安裝塊存儲服務。此服務要求至少一個額外存儲節點來給雲主機執行個體提供卷。

先決條件

1.以下幾步完成資料庫建立:

l用root賬号登陸資料庫

mysql -u root -p      

l建立cinder資料庫

CREATE DATABASE cinder;      

l給cinder資料庫授權

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';      
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY 'cinder';      

l退出資料庫

2.加載admin憑證

. admin-openrc      

3.建立服務憑證

l建立cinder使用者

openstack user create --domain default --password-prompt cinder      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作

l将admin角色添加給cinder使用者

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

l建立cinder和cinderv2服務entities

openstack service create --name cinder --description "OpenStack Block Storage" volume      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作

備注:塊存儲服務要求兩個服務

4.建立塊存儲服務 API endpoints

openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作
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-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作
openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作
openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(tenant_id\)s      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作
openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(tenant_id\)s      
openstack-mitaka安裝文檔-塊存儲服務塊存儲服務概述安裝和配置控制節點安裝和配置存儲節點驗證操作

備注:塊存儲要求為兩個服務實體每個都要建立對應的endpoint。

安裝和配置元件

1.安裝軟體包

yum install openstack-cinder      

2.編輯/etc/cinder/cinder.conf檔案,并修改操作:

l在[database]部分,配置資料庫通路

[database]      
...      
connection = mysql+pymysql://cinder:[email protected]/cinder      

将CINDER_DBPASS替換成正确的密碼

l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息隊列通路

[DEFAULT]      
...      
rpc_backend = rabbit      
[oslo_messaging_rabbit]      
...      
rabbit_host = controller      
rabbit_userid = openstack      
rabbit_password = RABBIT_PASS      

将RABBIT_PASS替換成正确的密碼

l在[DEFAULT] and [keystone_authtoken]部分,配置Identity服務通路

[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_PASS替換成正确的密碼

l在[default]部分,my_ip為控制節點的管理網絡IP位址

[DEFAULT]      
...      
my_ip = 192.168.213.81      

l在[oslo_concurrency]部分,配置lock path

[oslo_concurrency]      
...      
lock_path = /var/lib/cinder/tmp      

3.同步資料庫

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

配置計算服務使用塊存儲

1.編輯/etc/nova/nova.conf檔案并添加下面内容

[cinder]      
os_region_name = RegionOne      

完成安裝

1.重新開機計算API服務

systemctl restart openstack-nova-api.service      

2.啟動塊存儲服務并配置開機啟動

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

安裝和配置存儲節點

這部分描述如何在存儲節點安裝塊存儲服務。為簡單起見,這個配置将引用一個帶有一個空的本地儲存設備的存儲節點。此操作指南使用/dev/sdb,但你可以替換成你特定節點不同的值。

該服務在此裝置上使用LVM驅動提供邏輯卷,并通過iSCSI端口将它們提供給雲主機執行個體。你可以按照這些指引進行較小的修改,以水準擴充你的環境與額外的存儲節點。

先決條件

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

1.安裝支援工具包

l安裝LVM包

yum install lvm2      

l啟動LVM中繼資料服務并配置開機自啟動

systemctl enable lvm2-lvmetad.service      
systemctl start lvm2-lvmetad.service      

2.建立LVM實體卷/dev/sdb

pvcreate /dev/sdb      

3.建立LVM卷組cinder-volumes

vgcreate cinder-volumes /dev/sdb      

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

4.隻有雲主機執行個體能通路塊存儲卷。然而,底層作業系統管理與卷相關的裝置。預設情況下,LVM卷掃描工具會為包含卷的塊儲存設備掃描/dev目錄。如果項目在他們的卷上使用LVM,掃描工具檢測到這些卷,并試圖對其進行緩存,緩存這些可導緻一系列與底層作業系統和工程量都相關的問題。你必須重新配置LVM來隻掃描包含cinder-volume卷組的裝置。編輯/etc/lvm/lvm.conf檔案并完成下面步驟。

l在devices部分,添加一個filter來接受/dev/sdb裝置并拒絕所有的其它裝置

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

在filter數組裡的每一項,以a開頭表示接受,以r開頭表示拒收,并且包含一個正規表達式裝置名。數組必須以r/.*/結尾來拒收任何剩下的裝置。你可以用vgs –vvvv指令來測試filters。

警告:如果你的存儲節點在作業系統盤使用LVM,你必須也添加相關的裝置到filter。例如,如果/dev/sda裝置包含作業系統:filter = [ "a/sda/", "a/sdb/", "r/.*/"]。

類似的,如果你的計算節點在作業系統盤使用LVM,你必須也要修改這些節點的/etc/lvm/lvm.conf檔案裡的filter,将作業系統盤包括進去。例如,如果/dev/sda裝置包含作業系統:filter = [ "a/sda/", "r/.*/"]

安裝和配置元件

1.安裝軟體包

yum install openstack-cinder targetcli      

2.編輯/etc/cinder/cinder.conf檔案

l在[database]部分,配置資料庫通路

[database]      
...      
connection = mysql+pymysql://cinder:[email protected]/cinder      

将CINDER_DBPASS正确的密碼

l在[DEFAULT] 和 [oslo_messaging_rabbit]部分,RabbitMQ消息隊列

[DEFAULT]      
...      
rpc_backend = rabbit      
[oslo_messaging_rabbit]      
...      
rabbit_host = controller      
rabbit_userid = openstack      
rabbit_password = RABBIT_PASS      

         将RABBIT_PASS正确的密碼

l在[DEFAULT] 和 [keystone_authtoken]部分,配置Identity服務通路

[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_PASS正确的密碼

l在[default]部分,配置my_ip

[DEFAULT]      
...      
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS      

         将MANAGEMENT_INTERFACE_IP_ADDRESS替換成存儲節點管理網絡接口IP位址。

l在[lvm]部分,配置

[lvm]      
...      
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver      
volume_group = cinder-volumes      
iscsi_protocol = iscsi      
iscsi_helper = lioadm      

l在[default]部分,配置

[DEFAULT]      
...      
enabled_backends = lvm      

l在[default]部分,配置

[DEFAULT]      
...      
glance_api_servers = http://controller:9292      

l在[oslo_concurrency]部分,配置

[oslo_concurrency]      
...      
lock_path = /var/lib/cinder/tmp      

完成安裝

啟動塊存儲卷服務包括它的依賴,并配置開機啟動

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

驗證操作

下列操作在控制節點進行

1.加載admin憑證

. admin-openrc      

2.列出服務元件來驗證每個程序成功啟動

cinder service-list      

版權聲明:本文為CSDN部落客「weixin_34133829」的原創文章,遵循CC 4.0 BY-SA版權協定,轉載請附上原文出處連結及本聲明。

原文連結:https://blog.csdn.net/weixin_34133829/article/details/91949399