Cinder块存储,为虚拟机实例提供持有化存储。它的存在简化了块存储设备的创建和管理。
混合部署方案下为实现业务架构和存储隔离,采用拆分不同的Availability Zone可用域,包括计算Nova AZ域和存储Cinder AZ域,并期望可以将两个AZ对应起来以便起到隔离的效果。目前多数OpenStack平台大多采用Ceph作为Cinder存储后端(以及Glance、Swift),并在创建虚拟机时选择从镜像创建块存储。混合部署通过创建不同的Cinder AZ配置不同的Ceph pool,以便于达到混合部署场景下不同AZ域创建的虚拟机操作系统磁盘在Ceph集群中是完全隔离的。
在控制节点执行以下操作。
- 以root用户访问数据库。
- 创建Cinder数据库,并授予对Cinder数据库的适当访问权限。
|
CREATE DATABASE cinder;
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '<PASSWORD>';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '<PASSWORD>';
exit
|
为方便理解,本文将涉及到的密码全部以“PASSWORD”代替,请用户根据实际情况进行修改。此处将PASSWORD修改为cinder数据库的密码。

- 使用admin用户登录OpenStack命令行,创建服务凭据和cinder用户并设置密码。
|
source /etc/keystone/admin-openrc
openstack user create --domain default --password-prompt cinder
|
- 将admin角色添加到cinder用户。
|
openstack role add --project service --user cinder admin
|
- 创建cinderv2和cinderv3服务实体。
|
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
|
- 创建Block Storage服务API端点。
|
openstack endpoint create --region RegionOne volumev2 public http://controller:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 internal http://controller:8776/v2/%\(project_id\)s
openstack endpoint create --region RegionOne volumev2 admin http://controller:8776/v2/%\(project_id\)s
|

|
openstack endpoint create --region RegionOne volumev3 public http://controller:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 internal http://controller:8776/v3/%\(project_id\)s
openstack endpoint create --region RegionOne volumev3 admin http://controller:8776/v3/%\(project_id\)s
|
