OpenStack Q版部署-cinder

前言

块存储服务(cinder)将块存储设备提供给来宾实例。设置和使用存储的方法由块存储驱动程序(在多后端配置的情况下)决定。有多种可用的驱动程序:NAS / SAN,NFS,iSCSI,Ceph等。OpenStack块存储服务(Cinder)将持久性存储添加到虚拟机。块存储提供了用于管理卷的基础架构,并与OpenStack Compute交互以提供实例的卷。该服务还可以管理卷快照和卷类型。

块存储API和调度程序服务通常在控制器节点上运行。


一、简介

本文介绍如何为块存储服务安装和配置存储节点。为简单起见,此配置引用一个具有空本地块存储设备的存储节点。指令使用/dev/sdb,就是我们前期来compute节点上多加的那块硬盘。

该服务使用LVM驱动程序在该设备上置备逻辑卷, 并通过iSCSI传输将其提供给实例。您可以对这些说明进行少量修改,以通过其他存储节点水平扩展您的环境。

二、安装

本文介绍如何在控制器节点上安装和配置代号为cinder的块存储服务。该服务需要至少一个额外的存储节点,该节点可为实例提供卷。

1、前提条件

在安装和配置块存储服务之前,必须创建数据库,服务凭证和API端点。

创建cinder数据库并授予对cinder数据库的适当访问权限:

# mysql -uroot -pXylong_000
MariaDB [(none)]> CREATE DATABASE cinder;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '123';
MariaDB [(none)]> exit

在这里插入图片描述
创建一个cinder用户,密码还是123,并将向cinder用户添加admin角色:

# source admin-openrc 
# openstack user create --domain default --password-prompt 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

在这里插入图片描述
创建块存储服务API端点:

# 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

在这里插入图片描述

# 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

在这里插入图片描述

2、安装和配置-controller

# yum install openstack-cinder

在这里插入图片描述

修改配置文件

cinder.conf

# vim /etc/cinder/cinder.conf 

配置数据库访问:
[database]
connection = mysql+pymysql://cinder:123@controller/cinder

在这里插入图片描述
配置身份服务访问:
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = 123

在这里插入图片描述
[DEFAULT]
transport_url = rabbit://openstack:123@controller #配置RabbitMQ 消息队列访问:
auth_strategy = keystone #配置身份服务访问:
my_ip = 192.168.144.10 #配置my_ip选项以使用控制器节点的管理接口IP地址:

在这里插入图片描述
配置锁定路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

在这里插入图片描述

nova.conf

# vim /etc/nova/nova.conf 

配置计算以使用块存储

[cinder]
os_region_name = RegionOne

在这里插入图片描述

初始化数据库

在这里插入图片描述

验证

# mysql -uroot -pXylong_000
MariaDB [(none)]> use cinder
MariaDB [cinder]> show tables;

在这里插入图片描述

设置开机自启并启动

# systemctl restart openstack-nova-api.service
# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl is-active openstack-cinder-api.service openstack-cinder-scheduler.service

在这里插入图片描述

3、安装和配置-compute

在存储节点上安装和配置块存储服务之前,必须准备存储设备。就是我们刚开始添加的那块5G硬盘,
在这里插入图片描述
查看除了sda系统盘之外还有一个多出来sdb盘的,
在这里插入图片描述

# yum install lvm2 device-mapper-persistent-data

在这里插入图片描述

服务设置开机自启并启动服务:

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

创建LVM卷

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

# pvcreate /dev/sdb
# vgcreate cinder-volumes /dev/sdb

在这里插入图片描述
只有实例可以访问块存储卷。但是,底层操作系统管理与卷关联的设备。默认情况下,LVM卷扫描工具会在/dev目录中扫描 包含卷的块存储设备。如果项目在其卷上使用LVM,则扫描工具会检测到这些卷并尝试对其进行缓存,这可能导致基础操作系统卷和项目卷出现各种问题。

# vim /etc/lvm/lvm.conf 

如果存储节点在操作系统磁盘上使用LVM,则还必须将关联的设备添加到过滤器中。例如,如果/dev/sda设备包含操作系统:
devices {
filter = [ “a/sda/”, “a/sdb/”, “r/.*/”]

在这里插入图片描述

安装软件

# yum install openstack-cinder targetcli python-keystone

在这里插入图片描述

修改配置文件

cinder.conf

# vim /etc/cinder/cinder.conf 

配置数据库访问:
[database]
connection = mysql+pymysql://cinder:123@controller/cinder

在这里插入图片描述

[DEFAULT]
transport_url = rabbit://openstack:123@controller #配置RabbitMQ 消息队列访问:
auth_strategy = keystone #配置身份服务访问:
my_ip = 192.168.144.11 #配置my_ip选项:
enabled_backends = lvm #启用LVM后端:
glance_api_servers = http://controller:9292 #配置glance服务API的位置:

在这里插入图片描述

配置身份服务访问:
[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:5000
memcached_servers = controller:11211
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = cinder
password = 123

在这里插入图片描述
为LVM后端配置LVM驱动程序,cinder-volumes卷组,iSCSI协议和适当的iSCSI服务。如果该[lvm]部分不存在,请创建它:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

在这里插入图片描述

配置锁定路径:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

在这里插入图片描述

设置开机启动并启动服务

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

在这里插入图片描述

4、服务验证

# source admin-openrc 
# openstack volume service list

在这里插入图片描述

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页