创建Cinder数据库
Cinder块存储,为虚拟机实例提供持有化存储。它的存在简化了块存储设备的创建和管理。
混合部署方案下为实现业务架构和存储隔离,采用拆分不同的Availability Zone可用域,包括计算Nova AZ域和存储Cinder AZ域,并期望可以将两个AZ对应起来以便起到隔离的效果。目前多数OpenStack平台大多采用Ceph作为Cinder存储后端(以及Glance、Swift),并在创建虚拟机时选择从镜像创建块存储。混合部署通过创建不同的Cinder AZ配置不同的Ceph pool,以便于达到混合部署场景下不同AZ域创建的虚拟机操作系统磁盘在Ceph集群中是完全隔离的。
在控制节点执行以下操作。
- 以root用户访问数据库。
1
mysql -u root -p
- 创建Cinder数据库,并授予对Cinder数据库的适当访问权限。
1 2 3 4
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用户并设置密码。
1 2
source /etc/keystone/admin-openrc openstack user create --domain default --password-prompt cinder
这里输入的cinder用户密码需要和创建Cinder数据库中Cinder数据库的访问密码一致。
- 将admin角色添加到cinder用户。
1
openstack role add --project service --user cinder admin
- 创建cinderv2和cinderv3服务实体。
1 2
openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2 openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3
Cinder服务需要创建两个服务实体。
- 创建Block Storage服务API端点。
1 2 3
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
1 2 3
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
父主题: 安装配置Cinder并验证