cinder连接mysql数据库_Openstack Queens 环境搭建(九)Cinder服务

本文档详细介绍了如何在OpenStack Queens环境中配置Cinder服务,包括cinder-api、cinder-volume、cinder-scheduler等组件,以及与MySQL数据库的连接设置。首先创建cinder数据库并授权,然后配置服务凭据、API端点。接着,安装和配置Cinder组件,设置数据库访问、RabbitMQ消息队列、Keystone认证,并在Controller和Storage节点上进行相应的操作。最后,验证Cinder服务和卷的操作是否正常。
摘要由CSDN通过智能技术生成

存储服务概念

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节点:

基础配置

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

创建数据库,为cinder数据库授权1

2

3

4MariaDB [(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';

创建服务凭据

生成管理凭证,以获得访问只有管理CLI命令:1

创建cinder用户:1

添加admin角色到cinder用户中: (无返回值)1

创建cinder2和cinderv3服务实体:

注:块存储服务需要两个服务实体。1

2

3

4# openstack service create --name cinderv2

--description "OpenStack Block Storage" volumev2

# openstack service create --name cinderv3

--description "OpenStack Block Storage" volumev31

2

3

4

5

6# 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

安装配置组件1# yum install -y openstack-cinder

编辑 /etc/cinder/cinder.conf文档1# vi /etc/cinder/cinder.conf在[database]选项,配置数据库访问:1

2[database]

connection = mysql+pymysql:在[DEFAULT]部分,配置RabbitMQ消息队列访问:1

2[DEFAULT]

transport_url = rabbit:

在[DEFAULT]和[keystone_authtoken]选项,配置身份服务访问:1

2

3

4

5

6

7

8

9

10

11

12[DEFAULT]

auth_strategy = keystone

[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 = 123456

在[DEFAULT]选项,配置my_ip选项,使用Controller节点的管理接口IP地址:1

2[DEFAULT]

my_ip = 192.100.200.68

在[oslo_concurrency]选项,配置lock路径:1

2[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

同步块存储数据(忽略此输出中的任何弃用消息。)1# su -s /bin//sh -c "cinder-manage db sync" cinder

配置计算服务以使用块存储

编辑 /etc/nova/nova.conf 文档1

2

3# vi /etc/nova/nova.conf

[cinder]

os_regioon_name = RegionOne

启动服务1

2

3# 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

存储节点:

安装LVM包:1# yum install -y lvm2

启动LVM元数据服务,并将其配置为在系统启动时启动:

注:一些发行版默认安装LVM。1

2# systemctl enable lvm2-lvmetad.service

# systemctl start lvm2-lvmetad.service

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

2# pvcreate /dev/sdb

Physical volume "/dev/sdb" successfully created.

创建LVM卷组cinder-volmes:

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

2# vgcreate cinder-volumes /dev/sdb

Volume group "cinder-volumes" successfully created

只有实例可以访问块存储卷。然而,底层操作系统管理与卷相关联的设备。默认情况下,LVM卷扫描工具扫描/dev目录中包含卷的块存储设备。如果项目在其卷上使用LVM,那么扫描工具将检测这些卷并试图缓存它们,这会导致底层操作系统和项目卷出现各种问题。必须重新配置LVM,以便只扫描包含cinder-volume卷组的设备。

编辑 /etc/lvm/lvm.conf文档

在devices选项,添加一个接受/dev/sdb设备并拒绝所有其他设备的过滤器:

注:filter数组中的每个项都以for accept或r for reject开头,并包含一个用于设备名称的正则表达式。数组必须以r/结束。

*/ 拒绝任何剩余设备。您可以使用vgs -vvvv命令来测试过滤器。1

2

3

4devices {

...

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

...}

安装配置组件1# yum install -y openstack-cinder targetcli python-keystone

编辑/etc/cinder/cinder.conf 文档1# vi /etc/cinder/cinder.conf在[database]选项,配置数据库访问1

2[database]

connection = mysql+pymysql:

在[DEFAULT]选项,配置RabbitMQ消息队列访问:1

2[DEFAULT]

transport_url = rabbit:

在[DEFAULT]和[keystone_authtoken]选项,配置身份服务访问:1

2

3

4

5

6

7

8

9

10

11

12[DEFAULT]

auth_strategy = keystone

[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 = 123456

在[DEFAULT]部分,配置my_ip选项:1my_ip = 192.168.100.69

在[DEFAULT]选项,配置映像服务API的位置:1glance_api_servers = http://controller:9292

在[lvm]选项,使用lvm驱动进程、Cinder卷组、iSCSI协议和iSCSI服务配置lvm后端。如果[lvm]部分不存在,则添加它:1

2

3

4

5[lvm]

volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver

volume_group = cinder-volumes

iscsi_protocol = iscsi

iscsi_helper = lioadm

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

2[DEFAULT]

enabled_backends = lvm

在[oslo_concurrency]节中,配置lock路径1

2[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

开启服务

启动块存储卷服务,包括它的依赖项,并配置它们在系统启动时启动:1

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

# systemctl restart openstack-cinder-volume.service target.service

校验操作

生成临时环境变量1# . admin-openrc

列出服务组件以验证每个流程的成功启动:1# openstack volume service list

创建一个1G的卷,并查看其状态1

2# cinder create --display-name myVolume 1

# cinder list

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值