OpenStack 存儲服務 Cinder介紹和控制節點部署 (十三)

Cinder介紹

       OpenStack塊存儲服務(cinder)爲虛擬機添加持久的存儲,塊存儲提供一個基礎設施爲了管理卷,以及和OpenStack計算服務交互,爲實例提供卷。此服務也會激活管理卷的快照和卷類型的功能。mysql

塊存儲服務一般包含下列組件:sql

  • cinder-api:接受API請求,並將其路由到cinder-volume執行。
  • cinder-volume:與塊存儲服務和cinder-scheduler的進程進行直接交互。它也能夠與這些進程經過一個消息隊列進行交互。cinder-volume服務響應送到塊存儲服務的讀寫請求來維持狀態。它也能夠和多種存儲提供者在驅動架構下進行交互。
  • cinder-scheduler守護進程:選擇最優存儲提供節點來建立卷。其與nova-scheduler組件相似。
  • cinder-backup守護進程:cinder-backup服務提供任何種類備份捲到一個備份存儲提供者。就像cinder-volume服務,它與多種存儲提供者在驅動架構下進行交互。
  • 消息隊列:在塊存儲的進程之間路由信息。

使用模式三種: 數據庫

  • 本地硬盤,優勢:IOPS性能最好,缺點:容量限制,遷移麻煩
  • 本地硬盤+雲硬盤,系統使用本地硬盤,數據目錄使用雲硬盤
  • 雲硬盤

後端存儲:NFS、ISCSI、Glusterfs、ceph都支持後端

一)建立數據庫api

一、數據庫建立並建立實體服務bash

mysql -u root -p
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用戶架構

source /root/admin-openstack.sh
openstack user create --domain default --password-prompt cinder

添加 admin 角色到 cinder 用戶上dom

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

  

三、建立 cinder 和 cinderv2 服務實體memcached

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

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

四、建立塊設備存儲服務的 API 入口點性能

  • volume服務
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: //192 .168.137.11:8776 /v1/ %\(tenant_id\)s

  • volumev2服務註冊
openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(tenant_id\)s

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

  

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

 

 

二)安裝配置cinder

2.1 安裝軟件包

# yum install openstack-cinder -y

2.2 編輯配置文件 /etc/cinder/cinder.conf

  • 配置數據庫
[database]
connection = mysql+pymysql://cinder:redhat@controller/cinder
[[DEFAULT]]
transport_url = rabbit://openstack:redhat@controller   #消息隊列配置
auth_strategy = keystone
my_ip = 10.0.0.101
[keystone_authtoken]                       #keystone配置
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 = redhat

 

[oslo_concurrency]            #配置鎖路徑
lock_path = /var/lib/cinder/tmp 

2.3 同步數據庫 

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

2.4  配置nova計算服務使用塊設備存儲

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

[cinder]
os_region_name = RegionOne

2.5 重啓nova計算API 服務

# systemctl restart openstack-nova-api.service

2.6 啓動cinder塊設備存儲服務,並將其配置爲開機自啓

#systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
 #systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service
相關文章
相關標籤/搜索