OpenStack(Cinder)存储节点安装

2024-09-25 46

本教程将详细介绍如何在OpenStack打算用于块存储的存储节点上安装和配置 Cinder。请确保遵循每个步骤,并在必要时根据自己的环境进行适当的调整。

一、先决条件

在存储节点中,必须准备好存储设备。

1、安装LVM和相关软件包

2、安装 LVM 软件包:

zypper install lvm2

3、(可选)如果打算使用非 Raw 图像类型,例如 QCOW2 和 VMDK,请安装 QEMU 软件包:

zypper install qemu

注意:某些发行版默认包含 LVM。

4、创建和配置 LVM

创建 LVM 物理卷:

pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created

5、创建 LVM 卷组:

vgcreate cinder-volumes /dev/sdb

输出示例:

Volume group "cinder-volumes" successfully created

Block Storage 服务将在此卷组中创建逻辑卷。

6、只有实例才能访问块存储卷。底层操作系统将管理卷。默认情况下,LVM 卷扫描工具会扫描目录以查找符合条件的块存储设备。但如果项目在其卷上使用 LVM,扫描工具可能会检测这些卷并尝试缓存它们,这可能会导致底层操作系统出现各种问题。必须重新配置 LVM 以仅扫描包含卷组的设备。

编辑配置文件以限制 LVM 扫描:

请编辑文件 “/etc/lvm/lvm.conf” 并完成以下设置:

在 “devices” 部分中,添加仅接受设备 “/dev/sdb” 并拒绝所有其他设备的过滤器:

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

警告:如果存储节点的操作系统磁盘也使用 LVM,请确保在过滤器中添加与操作系统相关的设备。例如,如果设备包含操作系统 “/dev/sda”:

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

同样如果计算节点在运行系统磁盘时,也必须修改这些节点上的过滤器,以仅包含操作系统磁盘,例如 “/etc/lvm/lvm.conf” 中的:

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

二、安装和配置组件

1、安装所需软件包:

zypper install openstack-cinder-volume tgt

2、编辑配置文件 “/etc/cinder/cinder.conf”,并完成以下部分:

配置数据库访问:

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

请将 “CINDER_DBPASS” 替换为为 Block Storage 数据库选择的密码。

配置消息队列访问:

[DEFAULT]
# ...
transport_url = rabbit://openstack:RABBIT_PASS@controller

请将 “RABBIT_PASS” 替换为在 RabbitMQ 中为 “openstack” 帐户选择的密码。

配置 Identity Service 访问:

[DEFAULT]
# ...
auth_strategy = keystone
[keystone_authtoken]
# ...
www_authenticate_uri = http://controller:5000
auth_url = http://controller:5000
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” 替换为在 Identity 服务中为用户 “cinder” 选择的密码。

注意:请确保注释掉或删除 “[keystone_authtoken]” 部分中的任何其他选项。

配置管理接口 IP 地址:

[DEFAULT]
# ...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS

请将 “MANAGEMENT_INTERFACE_IP_ADDRESS” 替换为存储节点上管理网络接口的 IP 地址,通常为 “10.0.0.41”。

配置 LVM 驱动程序和 iSCSI 协议:

[lvm]
# ...
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
target_protocol = iscsi
target_helper = tgtadm

启用 LVM 后端:

[DEFAULT]
# ...
enabled_backends = lvm

注意:后端名称是任意的。例如本指南使用驱动程序名称作为后端名称。

配置图片服务 API:

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

配置锁定路径:

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

3、创建文件 “/etc/tgt/conf.d/cinder.conf”,并添加以下内容:

include /var/lib/cinder/volumes/*

三、完成安装

启动 Block Storage 卷服务及其依赖项,并将它们配置为在系统引导时自动启动:

systemctl enable openstack-cinder-volume.service tgtd.service
systemctl start openstack-cinder-volume.service tgtd.service
  • 广告合作

  • QQ群号:707632017

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。