Openstack学习笔记七(cinder)

Openstack学习笔记七(cinder)

Scroll Down

以下部分在controller节点进行配置

一、前提准备

    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 '密码';

image.png

    2、引入admin凭证以获得仅admin可使用的的CLI命令

image.png

    3、创建服务凭证,完成以下步骤:

     ① 创建cinder用户:

# openstack user create --domain default --password-prompt cinder

image.png

     ② 添加admin角色到cinder用户:

# openstack role add --project service --user cinder admin

image.png

     ③ 创建cinderv2和cinderv3服务实体:

# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2

image.png

# openstack service create --name cinderv3 --description "OpenStack Block Storage" volumev3

image.png

    4、创建块存储服务API节点:

# openstack endpoint create --region RegionOne volumev2 public http://controller-ZJB:8776/v2/%\(project_id\)s

image.png

# openstack endpoint create --region RegionOne volumev2 internal http://controller-ZJB:8776/v2/%\(project_id\)s

image.png

# openstack endpoint create --region RegionOne volumev2 admin http://controller-ZJB:8776/v2/%\(project_id\)s

image.png

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

image.png

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

image.png

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

image.png

二、安装并配置组件

    1、安装软件包

# yum -y install openstack-cinder

    2、编辑配置文件/etc/cinder/cinder.conf完成以下部分

     ① 在database部分,配置数据库连接:

image.png

     ② 在DEFAULT部分,配置消息队列连接:
image.png

     ③ 在DEFAULT和keystone_authtoken部分,配置身份服务连接:
image.png

image.png

     ④ 在DEFAULT部分,配置my_ip选项以使用controller节点管理接口IP地址:
image.png

    3、在 [oslo_concurrency] 部分,配置lock path:

image.png

    4、填充数据库:( 忽略这个命令产生的弃用消息,如下)

# su -s /bin/sh -c "cinder-manage db sync" cinder

image.png

三、配置Compute以使用块存储服务

    1、编辑/etc/nova/nova.conf文件,完成以下部分

image.png

四、确定最终安装

    1、重启Compute API服务

# systemctl restart openstack-nova-api

image.png

    2、启动块存储服务并设置为开机自启动

image.png

以下部分在compute节点进行配置

    1、安装支持的实用安装包:

     ① 安装LVM安装包

# yum install lvm2 device-mapper-persistent-data

image.png

     ② 启动LVM元数据服务并配置为开机启动

# systemctl enable lvm2-lvmetad.service
# systemctl start lvm2-lvmetad.service

image.png

    2、创建LVM物理卷/dev/sdb:

     ① 关机并在虚拟机上添加磁盘

image.png

     ② 列出分区表

# fdisk -l

image.png

     ③ 创建LVM物理卷/dev/sdb:

# pvcreate /dev/sdb

image.png

     ④ 创建LVM卷组cinder-volumes:

# vgcreate cinder-volumes /dev/sdb

image.png

     块存储服务在这个卷组中创建逻辑卷。

    3、只有实例可以访问块存储卷。 但是,底层操作系统管理与卷关联的设备。 默认情况下,LVM卷扫描工具会在/ dev目录中扫描包含卷的块存储设备。 如果项目在其卷上使用LVM,则扫描工具会检测到这些卷并尝试对其进行缓存,这可能导致基础操作系统卷和项目卷出现各种问题。 您必须重新配置LVM以仅扫描包含cinder-volumes卷组的设备。 编辑/etc/lvm/lvm.conf文件并完成以下操作:

     ① 在设备部分中,添加一个接受/dev/sdb设备并拒绝所有其他设备的过滤器:

   filter = [ "a/sdb/", "r/.*/"]

image.png

     过滤器数组中的每个项目均以for接受或r for拒绝开头,并包括设备名称的正则表达式。 数组必须以r /.*/结尾,以拒绝任何剩余的设备。 您可以使用vgs -vvvv命令测试过滤器。

    4、安装软件包:

# yum install openstack-cinder targetcli python-keystone

    5、编辑/etc/cinder/cinder.conf配置文件,完成以下部分

     ① database部分,配置数据库access

image.png

     ② 在DEFAULT部分,配置消息队列access

image.png

     ③ 在DEFAULT和keystone_authtoken部分,配置身份认证服务:

image.png

image.png

     ④ 在DEFAULT部分,配置my_ip选项:

image.png

     ⑤ 在[lvm]部分中,为LVM后端配置LVM驱动程序,cinder-volumes卷组,iSCSI协议和适当的iSCSI服务。 如果[lvm]节不存在,请创建它:(在文件末尾创建)

image.png

     ⑥ 在[DEFAULT]部分中,启用LVM后端:

image.png

     ⑦ 在[DEFAULT]部分中,配置镜像服务API的位置:

image.png

     ⑧ 在[oslo_concurrency]部分,配置锁路径:

image.png

     最终确定安装

# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service

image.png

     检测:

image.png

     dashboard创建卷:

image.png

image.png

     可用命令查看卷状态:

image.png