周翔 发表于 2017-6-27 12:36:15

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,同时完成如下动作:


[*]配置数据库




connection = mysql+pymysql://cinder:cinder@192.168.137.11/cinder


[*]消息队列配置




rpc_backend = rabbit

rabbit_host = 192.168.137.11
rabbit_userid = openstack
rabbit_password = openstack


[*]keystone配置




auth_strategy = keystone

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


[*]配置锁路径




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 并添加如下到其中:




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
页: [1]
查看完整版本: OpenStack 存储服务 Cinder介绍和控制节点部署(十五)