1、在安装和配置Block Storage 服务之前,必须创建数据库,服务凭证,和API节点并授予合适的权限:
|
# mysql -u root -p |
|
# CREATE DATABASE cinder; |
|
# GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '密码'; |
|
# GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '密码'; |
2、引入admin凭证以获得仅admin可使用的的CLI命令
3、创建服务凭证,完成以下步骤:
① 创建cinder用户:
# 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
4、创建块存储服务API节点:
# openstack endpoint create --region RegionOne volumev2 public http://controller-ZJB:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne volumev2 internal http://controller-ZJB:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne volumev2 admin http://controller-ZJB:8776/v2/%\(project_id\)s
# openstack endpoint create --region RegionOne volumev3 public http://controller-ZJB:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne volumev3 internal http://controller-ZJB:8776/v3/%\(project_id\)s
# openstack endpoint create --region RegionOne volumev3 admin http://controller-ZJB:8776/v3/%\(project_id\)s
1、安装软件包
# yum -y install openstack-cinder
2、编辑配置文件/etc/cinder/cinder.conf完成以下部分
① 在database部分,配置数据库连接:
③ 在DEFAULT和keystone_authtoken部分,配置身份服务连接:
④ 在DEFAULT部分,配置my_ip选项以使用controller节点管理接口IP地址:
3、在 [oslo_concurrency] 部分,配置lock path:
4、填充数据库:( 忽略这个命令产生的弃用消息,如下)
# su -s /bin/sh -c "cinder-manage db sync" cinder
1、编辑/etc/nova/nova.conf文件,完成以下部分
1、重启Compute API服务
# systemctl restart openstack-nova-api
2、启动块存储服务并设置为开机自启动
1、安装支持的实用安装包:
① 安装LVM安装包
# yum install lvm2 device-mapper-persistent-data
② 启动LVM元数据服务并配置为开机启动
|
# systemctl enable lvm2-lvmetad.service |
|
# systemctl start lvm2-lvmetad.service |
2、创建LVM物理卷/dev/sdb:
① 关机并在虚拟机上添加磁盘
② 列出分区表
# fdisk -l
③ 创建LVM物理卷/dev/sdb:
# pvcreate /dev/sdb
④ 创建LVM卷组cinder-volumes:
# vgcreate cinder-volumes /dev/sdb
块存储服务在这个卷组中创建逻辑卷。
3、只有实例可以访问块存储卷。 但是,底层操作系统管理与卷关联的设备。 默认情况下,LVM卷扫描工具会在/ dev目录中扫描包含卷的块存储设备。 如果项目在其卷上使用LVM,则扫描工具会检测到这些卷并尝试对其进行缓存,这可能导致基础操作系统卷和项目卷出现各种问题。 您必须重新配置LVM以仅扫描包含cinder-volumes卷组的设备。 编辑/etc/lvm/lvm.conf文件并完成以下操作:
① 在设备部分中,添加一个接受/dev/sdb设备并拒绝所有其他设备的过滤器:
filter = [ "a/sdb/", "r/.*/"]
过滤器数组中的每个项目均以for接受或r for拒绝开头,并包括设备名称的正则表达式。 数组必须以r /.*/结尾,以拒绝任何剩余的设备。 您可以使用vgs -vvvv命令测试过滤器。
4、安装软件包:
# yum install openstack-cinder targetcli python-keystone
5、编辑/etc/cinder/cinder.conf配置文件,完成以下部分
① database部分,配置数据库access
② 在DEFAULT部分,配置消息队列access
③ 在DEFAULT和keystone_authtoken部分,配置身份认证服务:
④ 在DEFAULT部分,配置my_ip选项:
⑤ 在[lvm]部分中,为LVM后端配置LVM驱动程序,cinder-volumes卷组,iSCSI协议和适当的iSCSI服务。 如果[lvm]节不存在,请创建它:(在文件末尾创建)
⑥ 在[DEFAULT]部分中,启用LVM后端:
⑦ 在[DEFAULT]部分中,配置镜像服务API的位置:
⑧ 在[oslo_concurrency]部分,配置锁路径:
最终确定安装
# systemctl enable openstack-cinder-volume.service target.service |
|
# systemctl start openstack-cinder-volume.service target.service |
检测:
dashboard创建卷:
可用命令查看卷状态: