中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助
鲲鹏小智

创建Cinder数据库

Cinder块存储,为虚拟机实例提供持有化存储。它的存在简化了块存储设备的创建和管理。

混合部署方案下为实现业务架构和存储隔离,采用拆分不同的Availability Zone可用域,包括计算Nova AZ域和存储Cinder AZ域,并期望可以将两个AZ对应起来以便起到隔离的效果。目前多数OpenStack平台大多采用Ceph作为Cinder存储后端(以及Glance、Swift),并在创建虚拟机时选择从镜像创建块存储。混合部署通过创建不同的Cinder AZ配置不同的Ceph pool,以便于达到混合部署场景下不同AZ域创建的虚拟机操作系统磁盘在Ceph集群中是完全隔离的。

在控制节点执行以下操作。

  1. 以root用户访问数据库。
    1
    mysql -u root -p
    
  2. 创建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数据库的密码。

  3. 使用admin用户登录OpenStack命令行,创建服务凭据和cinder用户并设置密码。
    1
    2
    source /etc/keystone/admin-openrc
    openstack user create --domain default --password-prompt cinder
    

    这里输入的cinder用户密码需要和创建Cinder数据库中Cinder数据库的访问密码一致。

  4. 将admin角色添加到cinder用户。
    1
    openstack role add --project service --user cinder admin
    
  5. 创建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服务需要创建两个服务实体。

  6. 创建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