一、存储服务概念
OpenStack块存储服务(Cinder)将持久性存储添加到一个虚拟机。块存储提供了管理卷的基础设施,并与OpenStack计算交互,为实例提供卷。该服务还支持卷快照和卷类型的管理。
块存储服务由以下组件组成:
cinder-api
接收API请求,并将其路由到cinders -volume以进行操作。
cinder-volume
直接与块存储服务和进程(如cinders -scheduler)交互。它还可以通过消息队列与这些进程进行交互。cinders -volume服务响应发送到块存储服务的读写请求,以维护状态。它可以通过驱动程序体系结构与各种存储提供者交互。
cinder-scheduler daemon
选择要在其上创建卷的最佳存储提供程序节点。与nova-scheduler类似的组件。
cinder-backup daemon
Cinder-backup服务向备份存储提供程序提供任何类型的备份卷。与cinders -volume服务一样,它可以通过驱动程序体系结构与各种存储提供者交互。
Messaging queue
在块存储进程之间路由信息。
本节描述如何在Controller节点上安装和配置代码为cinder的块存储服务。此服务至少需要一个额外的存储节点,该节点为实例提供卷。
二、Controller—基础配置
在安装和配置块存储服务之前,必须创建数据库、服务凭据和API端点。
1.创建数据库,为cinder数据库授权
# mysql -uroot -p123456
MariaDB [(none)]> create database cinder;
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'localhost' identified by '123456';
MariaDB [(none)]> grant all privileges on cinder.* to 'cinder'@'%' identified by '123456';
2.创建服务凭据
1)生成管理凭证,以获得访问只有管理CLI命令:
# . admin-openrc
2)创建cinder用户:
# openstack user create --domain default --password-prompt cinder
3)添加admin角色到cinder用户中: (无返回值)
# openstack role add --project service --user cinder admin
4)创建cinder2和cinderv3服务实体:
注:块存储服务需要两个服务实体。
# openstack service creat