OpenStack Q版部署-cinder

it2024-07-18  37

Q版 cinder安装

前言一、简介二、安装1、前提条件2、安装和配置-controller修改配置文件cinder.confnova.conf 初始化数据库验证 设置开机自启并启动 3、安装和配置-compute创建LVM卷安装软件修改配置文件cinder.conf 设置开机启动并启动服务4、服务验证

前言

存储服务提供了block块存储、文件系统存储和对象式存储,这里我们使用的就是OpenStack提供的一个块存储,就是当创建实例空间不够了,我们可以以块形式给他提供一个存储空间,就是添加额外的存储空间。

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

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

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


一、简介

存储服务是我们OpenStack环境安装的最后一个服务,存储服务使用的是cinder,可以为创建的实例提供一些额外的存储空间。

cinder存储服务的组件:

cinder-api ,通过api访问cinder的卷;cinder-volume ,可以直接与块存储进行交互;cinder-scheduler daemon ,选择要创建卷的最佳存储;cinder-backup daemon ,备份服务;Messaging queue ,消息队列,这里使用的是rabbitMQ,块存储之间也是有消息要传递的;

二、安装

1、前提条件

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

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

mysql -uroot -pXylong_000 CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY '123'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY '123';

创建一个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 auth_strategy = keystone my_ip = 192.168.144.10 参数解释transport_url#配置RabbitMQ 消息队列访问:auth_strategy#配置身份服务访问:my_ip#配置my_ip选项以使用控制器节点的管理接口IP地址:

配置锁定路径:

[oslo_concurrency]

lock_path = /var/lib/cinder/tmp

nova.conf

vim /etc/nova/nova.conf

配置计算以使用块存储

[cinder]

os_region_name = RegionOne

初始化数据库

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

验证

mysql -uroot -pXylong_000 use 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 auth_strategy = keystone my_ip = 192.168.144.11 enabled_backends = lvm glance_api_servers = http://controller:9292 参数解释transport_url#配置RabbitMQ 消息队列访问:auth_strategy#配置身份服务访问:my_ip#配置my_ip选项以使用控制器节点的管理接口IP地址:enabled_backends#启用LVM后端:glance_api_servers#配置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

总结:

到现在为止我们的Q版的OpenStack环境就搭建完成了,

这个过程中我们安装服务,keystone身份服务、glance映像服务、nova计算服务、neutron网络服务、dashboard 图形界面,cinder存储服务,在依次部署完这些服务之后,我们就构建出来依赖简单的私有云平台环境了,接下来我们就可以去创建实例了。

创建实例

最新回复(0)