千家信息网

openstack-mitaka中如何安装块存储服务

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编给大家分享一下openstack-mitaka中如何安装块存储服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!块存储服务概述OpenStack块存储服务(cinder)给虚拟机
千家信息网最后更新 2025年12月03日openstack-mitaka中如何安装块存储服务

小编给大家分享一下openstack-mitaka中如何安装块存储服务,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

块存储服务概述

OpenStack块存储服务(cinder)给虚拟机添加持久存储。块存储给管理卷提供一个基础设施,并与OpenStac计算服务进行交互从而给云主机实例提供卷。该服务也启用了卷快照和卷类型的管理。

块存储服务由下面组件构成:

cinder-api

接受API请求,并将它们路由到cinder-volume的ation。

cinder-volume

直接和存储服务交互,并处理如cinder-scheduler等。它也这些进程通过消息队列进行交互。Cinder-volume服务反馈读和写请求到块存储服务以维持状态。通过驱动结构它能与各种存储提供商进行交互。

cinder-scheduler daemon

选择最佳的存储供应节点然后在其上创建卷。和nova-scheduler类似。

cinder-backup daemon

cinder-backup服务为备份存储供应程序提供任何类型的卷备份。如cinder-volume服务,它能通过驱动结构与各种存储供应程序交互。

Messaging queue

在各个存储进程之间进行信息转发。

安装和配置控制节点

这部分描述如何在控制节点安装块存储服务。此服务要求至少一个额外存储节点来给云主机实例提供卷。

先决条件

1.以下几步完成数据库创建:

l用root账号登陆数据库

mysql -u root -p

l创建cinder数据库

CREATE DATABASE cinder;

l给cinder数据库授权

GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY 'cinder';

l退出数据库

2.加载admin凭证

. admin-openrc

3.创建服务凭证

l创建cinder用户

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

l将admin角色添加给cinder用户

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

l创建cinder和cinderv2服务entities

openstack service create --name cinder --description "OpenStack Block Storage" volume

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

备注:块存储服务要求两个服务

4.创建块存储服务 API endpoints

openstack endpoint create --region RegionOne volume public http://controller:8776/v1/%\(tenant_id\)s

openstack endpoint create --region RegionOne volume internal http://controller:8776/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne volume admin http://controller:8776/v1/%\(tenant_id\)s

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

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

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

备注:块存储要求为两个服务实体每个都要创建对应的endpoint。

安装和配置组件

1.安装软件包

yum install openstack-cinder

2.编辑/etc/cinder/cinder.conf文件,并修改操作:

l在[database]部分,配置数据库访问

[database]
...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

将CINDER_DBPASS替换成正确的密码

l在[DEFAULT]和[oslo_messaging_rabbit]部分,配置RabbitMQ消息队列访问

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

将RABBIT_PASS替换成正确的密码

l在[DEFAULT] and [keystone_authtoken]部分,配置Identity服务访问

[DEFAULT]
...
auth_strategy = keystone
 
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS

将CINDER_PASS替换成正确的密码

l在[default]部分,my_ip为控制节点的管理网络IP地址

[DEFAULT]
...
my_ip = 192.168.213.81

l在[oslo_concurrency]部分,配置lock path

[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp

3.同步数据库

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

配置计算服务使用块存储

1.编辑/etc/nova/nova.conf文件并添加下面内容

[cinder]
os_region_name = RegionOne

完成安装

1.重启计算API服务

systemctl restart openstack-nova-api.service

2.启动块存储服务并配置开机启动

systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

安装和配置存储节点

这部分描述如何在存储节点安装块存储服务。为简单起见,这个配置将引用一个带有一个空的本地存储设备的存储节点。此操作指南使用/dev/sdb,但你可以替换成你特定节点不同的值。

该服务在此设备上使用LVM驱动提供逻辑卷,并通过iSCSI端口将它们提供给云主机实例。你可以按照这些指引进行较小的修改,以水平扩展你的环境与额外的存储节点。

先决条件

在存储节点开始安装和配置块存储服务前,你必须准备存储设备。

1.安装支持工具包

l安装LVM包

yum install lvm2

l启动LVM元数据服务并配置开机自启动

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

2.创建LVM物理卷/dev/sdb

pvcreate /dev/sdb

3.创建LVM卷组cinder-volumes

vgcreate cinder-volumes /dev/sdb

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

4.只有云主机实例能访问块存储卷。然而,底层操作系统管理与卷相关的设备。默认情况下,LVM卷扫描工具会为包含卷的块存储设备扫描/dev目录。如果项目在他们的卷上使用LVM,扫描工具检测到这些卷,并试图对其进行缓存,缓存这些可导致一系列与底层操作系统和工程量都相关的问题。你必须重新配置LVM来只扫描包含cinder-volume卷组的设备。编辑/etc/lvm/lvm.conf文件并完成下面步骤。

l在devices部分,添加一个filter来接受/dev/sdb设备并拒绝所有的其它设备

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

在filter数组里的每一项,以a开头表示接受,以r开头表示拒收,并且包含一个正则表达式设备名。数组必须以r/.*/结尾来拒收任何剩下的设备。你可以用vgs -vvvv命令来测试filters

警告:如果你的存储节点在操作系统盘使用LVM,你必须也添加相关的设备到filter。例如,如果/dev/sda设备包含操作系统:filter = [ "a/sda/", "a/sdb/", "r/.*/"]。

类似的,如果你的计算节点在操作系统盘使用LVM,你必须也要修改这些节点的/etc/lvm/lvm.conf文件里的filter,将操作系统盘包括进去。例如,如果/dev/sda设备包含操作系统:filter = [ "a/sda/", "r/.*/"]

安装和配置组件

1.安装软件包

yum install openstack-cinder targetcli

2.编辑/etc/cinder/cinder.conf文件

l在[database]部分,配置数据库访问

[database]
...
connection = mysql+pymysql://cinder:CINDER_DBPASS@controller/cinder

将CINDER_DBPASS正确的密码

l在[DEFAULT] 和 [oslo_messaging_rabbit]部分,RabbitMQ消息队列

[DEFAULT]
...
rpc_backend = rabbit
 
[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

将RABBIT_PASS正确的密码

l在[DEFAULT] 和 [keystone_authtoken]部分,配置Identity服务访问

[DEFAULT]
...
auth_strategy = keystone
 
[keystone_authtoken]
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = CINDER_PASS

将CINDER_PASS正确的密码

l在[default]部分,配置my_ip

[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

将MANAGEMENT_INTERFACE_IP_ADDRESS替换成存储节点管理网络接口IP地址。

l在[lvm]部分,配置

[lvm]
...
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

l在[default]部分,配置

[DEFAULT]
...
enabled_backends = lvm

l在[default]部分,配置

[DEFAULT]
...
glance_api_servers = http://controller:9292

l在[oslo_concurrency]部分,配置

[oslo_concurrency]
...
lock_path = /var/lib/cinder/tmp

完成安装

启动块存储卷服务包括它的依赖,并配置开机启动

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

验证操作

下列操作在控制节点进行

1.加载admin凭证

. admin-openrc

2.列出服务组件来验证每个进程成功启动

cinder service-list

看完了这篇文章,相信你对"openstack-mitaka中如何安装块存储服务"有了一定的了解,如果想了解更多相关知识,欢迎关注行业资讯频道,感谢各位的阅读!

存储 服务 配置 节点 部分 设备 数据 数据库 操作系统 系统 密码 文件 管理 主机 实例 组件 控制 凭证 存储设备 工具 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全300集全套课件 微信小程序显示服务器连接异常 计算机网络技术怎么介绍这个专业 数据库监控报价图片欣赏 威海家和网络技术公司 武汉大学数据库技术 软件开发培训大概要多少钱 网络安全知识宣传教育目的 软件开发和编程哪个难度高 亚洲网络安全证在哪里 立讯软件开发工程师会问的问题 韩国网络技术标准 怎么添加文件到表格数据库 健康体验app软件开发 电脑服务器报废会计分录 服务器安全防护 厂商 项目库管理系统软件开发的报告 比思维导图软件开发 下载软件开发书籍 关于网络安全的英文参考资料 广州擎拓网络技术 湖南正规网络技术资费 五华区专业性软件开发厂家价格 可用时间服务器地址 网络安全的发言100字 服务器终端查找ip地址 链接服务器超时 武汉梵宝网络技术 湖北服务器电源厂家排名 江口旭雨佳网络技术有限公司
0