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


Cinder介紹

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

塊存儲服務通常包含下列組件:

  • 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都支持。

 

Cinder控制節點部署

1、數據庫創建

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';

2、創建cinder用戶

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

添加 admin 角色到 cinder 用戶上

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

3、創建 cinder 和 cinderv2 服務實體

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

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

4、創建塊設備存儲服務的 API 入口點

  • volume服務注冊
openstack endpoint create --region RegionOne \
volume public http://192.168.137.11:8776/v1/%\(tenant_id\)s

openstack endpoint create --region RegionOne \
volume internal http://192.168.137.11: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://192.168.137.11:8776/v2/%\(tenant_id\)s

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

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

5、安裝軟件包

yum install openstack-cinder

6、編輯 /etc/cinder/cinder.conf,同時完成如下動作:

  • 配置數據庫
[database]
connection = mysql+pymysql://cinder:cinder@192.168.137.11/cinder
  • 消息隊列配置
[DEFAULT]
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = 192.168.137.11
rabbit_userid = openstack
rabbit_password = openstack
  • keystone配置
[DEFAULT]
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://192.168.137.11:5000
auth_url = http://192.168.137.11:35357
memcached_servers = 192.168.137.11:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder
  • 配置鎖路徑
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp
  • glance地址
glance_host = 192.168.137.11
  • iscsi地址
iscsi_ip_address = 192.168.137.12

7、同步數據庫

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

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

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

[cinder]
os_region_name = RegionOne

9、重啟nova計算API 服務

systemctl restart openstack-nova-api.service

10、啟動cinder塊設備存儲服務,並將其配置為開機自啟

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM