openstack(queens)多節點手動安裝(五):控制節點和存儲節點cinder組件的安裝

cinder組件概述

cinder組件,負責openstack中的塊存儲(cinder本身並不是一種存儲技術,只是提供一箇中間的抽象層,然後通過調用不同存儲後端類型的驅動接口來管理對應的後端存儲)。cinder提供的塊存儲服務,可以爲虛擬機提供持久化存儲,除此之外,我們也可以單獨創建塊存儲設備,在虛擬機單獨創建完成之後,手動將此塊設備掛載到虛擬機上。從功能上講,cinder組件可以分爲如下幾個部分
1.cinder-api:功能與nova-api類似,是一個WSGI應用,它可以將外部的請求路由到cinder相關服務中,然後將服務的返回值返回給客戶端;
2.cinder-scheduler:cinder中實現資源調度的一個服務。當有外部請求通過cinder-api到達時,cinder-scheduler負責篩選出合適的cinder-volume進行塊存儲設備創建;
3.cinder-volume:管理cinder中的後端塊存儲設備;
這些服務當中,cinder-api和cinder-scheduler部署在控制節點,cinder-volume部署在存儲節點(存儲節點的配置見openstack(queens)多節點手動安裝(一))

控制節點cinder組件安裝配置

數據庫的配置和用戶角色以及endpoint的創建

創建數據庫並授權

mysql -u root -pwwwwww
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'cinder';

創建cinder用戶並賦權

openstack user create --domain default --password-prompt cinder
openstack role add --project service --user cinder admin

創建cinder v2和v3服務實體

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

創建塊存儲服務的API endpoints

openstack endpoint create --region RegionOne volumev2 public http://控制節點主機名:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://控制節點主機名:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://控制節點主機名:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 public http://控制節點主機名:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 internal http://控制節點主機名:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 admin http://控制節點主機名:8776/v3/%\(project_id\)s

安裝並配置組件

安裝組件

yum install openstack-cinder

修改配置文件/etc/cinder/cinder.conf

[DEFAULT]

transport_url = rabbit://openstack:wwwwww@控制節點主機名
auth_strategy = keystone
my_ip = 控制節點ip

[database]

connection = mysql+pymysql://cinder:cinder@控制節點主機名/cinder

[keystone_authtoken]

auth_uri = http://控制節點主機名:5000
auth_url = http://控制節點主機名:35357
memcached_servers = 控制節點主機名:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = cinder

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

同步數據庫

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

修改nova配置文件/etc/nova/nova.conf來使用塊存儲服務

[cinder]
os_region_name = RegionOne

啓動服務

systemctl restart openstack-nova-api.service
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl status openstack-cinder-api.service openstack-cinder-scheduler.service

存儲節點安裝配置

安裝前的準備

安裝lvm package 並啓動lvm相關的服務

yum install lvm2 device-mapper-persistent-data -y
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service

將第二塊磁盤創建爲lvm物理卷並創建卷組cinder-volumes

pvcreate /dev/sdb
vgcreate cinder-volumes /dev/sdb

修改/etc/lvm/lvm.conf使得只有掛載在塊存儲捲上的虛擬機實例纔可以訪問塊存儲卷(即把LVM重新配置爲僅掃描包含cinder-volumes卷組的設備例如/dev/sdb),在lvm.conf的device部分設置如下過濾規則:

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

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

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

同樣,如果使用塊存儲設備的虛擬機所在的計算節點上的操作系統所在的磁盤上使用LVM,則必須在這些節點上的/etc/lvm/lvm.conf文件中修改過濾器,使其僅包括操作系統磁盤。 例如,如果/ dev / sda設備包含操作系統,則進行如下修改:

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

安裝和配置cinder組件

安裝組件

yum install openstack-cinder targetcli python-keystone

修改/etc/cinder/cinder.conf如下所示:

[DEFAULT]

transport_url = rabbit://openstack:wwwwww@控制節點主機名
auth_strategy = keystone
my_ip = 控制節點管理網口IP地址
enabled_backends = lvm
glance_api_servers = http://控制節點主機名:9292

[database]

connection = mysql+pymysql://cinder:cinder@控制節點主機名/cinder

[keystone_authtoken]

auth_uri = http://控制節點主機名:5000
auth_url = http://控制節點主機名:35357
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = cinder

[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

啓動服務

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

官方安裝文檔:https://docs.openstack.org/cinder/queens/install/index.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章