Fujitsu ETERNUS 后端指南
在 Red Hat OpenStack Platform 环境中使用 Fujitsu ETERNUS 后端指南
摘要
使开源包含更多 复制链接链接已复制到粘贴板!
红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。我们从这四个术语开始:master、slave、黑名单和白名单。由于此项工作十分艰巨,这些更改将在即将推出的几个发行版本中逐步实施。有关更多详情,请参阅我们的首席技术官 Chris Wright 提供的消息。
第 1 章 简介 复制链接链接已复制到粘贴板!
本文档论述了如何将 Red Hat OpenStack Platform 配置为使用 Fujitsu ETERNUS Disk Storage System 作为块存储服务的后端。本文档论述了如何定义 overcloud 部署上 ETERNUS 设备提供的光纤通道和 iSCSI 后端。此过程涉及将两个后端定义为块存储服务 的自定义后端。默认情况下,Controller 节点包含块存储服务。
前提条件
-
通过带有容器
registry.connect.redhat.com/fujitsu/rhosp13-fujitsu-cinder-volume-161的 director 部署的 Red Hat OpenStack Platform overcloud。如需更多信息,请参阅 部署供应商插件。 - 您要只使用 Fujitsu ETERNUS Disk Storage System devices 和 Block Storage 后端的驱动程序。
- 您可以使用 director 安装用户,通过 overcloud 部署创建。有关更多信息,请参阅从 Director 安装和使用 创建 Stack 用户。
-
您可以通过 ETERNUS Web GUI 或 CLI 访问 ETERNUS 设备上的管理员帐户。
红帽支持使用光纤通道或 iSCSI 接口以及相应的驱动程序和设置,并带有 Fujitsu ETERNUS 设备。
有关定义自定义后端的更多信息,请参阅自定义块存储后端部署指南。
第 2 章 配置 Fujitsu ETERNUS 设备 复制链接链接已复制到粘贴板!
在将 Fujitsu ETERNUS 设备定义为块存储后端前,在设备上配置存储池和端口。有关每个步骤的详情,请参考您的设备文档:
流程
- 配置托管块存储服务的 Controller 节点和 ETERNUS 设备的 MNT 端口的 LAN 连接。
- 在 ETERNUS 设备的 Compute 节点和 CA 端口之间配置 SAN 连接。
-
使用具有
Admin角色的帐户登录 ETERNUS 设备。 - 启用 ETERNUS DX 的 SMI-S。
- 设置 SSH 密钥
-
使用
软件角色添加用户帐户。 -
注册
高级复制功能许可证并配置复制表大小。 -
为卷创建存储池。您稍后在 第 3.1 节 “为每个 Fujitsu ETERNUS 后端创建驱动程序定义” 中的
EternusPool设置中使用这个池。 -
可选:为卷快照创建单独的存储池。这个池代表 第 3.1 节 “为每个 Fujitsu ETERNUS 后端创建驱动程序定义” 中的
EternusSnapPool设置。 可选:创建一个
Snap 数据仓库卷(SDPV),为创建快照功能启用 Snap 数据仓库(SDP)。提示如果将精简调配池用于
EternusSnapPool,请跳过这一步。-
配置块存储服务要使用的
存储端口。 -
将存储端口端口设置为CA模式。 要为存储端口启用
主机反关联性,请在每个端口的 ETERNUS CLI 中输入以下命令:set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>
set <PROTO>-parameters -host-affinity enable -port <CM#> <CA#> <PORT>Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将 <PROTO> 替换为存储协议,如
fc或iscsi。 - 将 <CM#> 和 <CA#> 替换为端口所在控制器外方的名称。
- 将 <PORT> 替换为端口号。
-
将 <PROTO> 替换为存储协议,如
使用以下命令在 undercloud 上生成 SSH 密钥,并将
eternus.ietf文件上传到 ETERNUS 设备。ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietf
ssh-keygen -t rsa -N "" -f ./eternus ssh-keygen -e -f ./eternus.pub > ./eternus.ietfCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意保存
eternus文件供以后使用。为安全起见,请不要复制或将其从 undercloud 或 overcloud 中移出。
第 3 章 准备 Fujitsu ETERNUS heat 模板 复制链接链接已复制到粘贴板!
为确保以后在 Red Hat OpenStack Platform overcloud 更新过程中保留您的设置,请通过 director 在部署期间执行所有服务配置。
在托管块存储服务的 ETERNUS 后端的 Controller 节点上包括以下配置:
- 您可以为每个后端驱动程序设置包含 XML 配置文件。
- 包括一个与 ETERNUS 设备通信的 SSH 服务器密钥。
您可以使用 heat 模板通过 director 编配这两个任务。有关 director heat 模板语法的更多信息,请参阅高级 Overcloud 指南中的 了解 Heat 模板。
以下模板 eternus-temp.yaml 概述了所需 heat 模板的基本语法。
eternus-temp.yaml
- 1
EternusSetup部分包含编配 Controller 节点上的任务的资源。- 2
config部分包含在 Controller 节点上运行的命令。- 3
- 将私钥信息复制到托管块存储服务的每个 Controller 节点,并添加 命令为 第 3.1 节 “为每个 Fujitsu ETERNUS 后端创建驱动程序定义” 中每个后端驱动程序设置创建 XML 配置文件的命令。
将此文件存储在 director 节点上的自定义 heat 模板目录中,即 /home/stack/templates/。
3.1. 为每个 Fujitsu ETERNUS 后端创建驱动程序定义 复制链接链接已复制到粘贴板!
在单独的 XML 文件上为每个 ETERNUS 后端定义驱动程序设置,而不是块存储配置文件 /etc/cinder/cinder.conf。确定每个后端都有一个 XML 文件,但有以下设置:
- EternusIP
- ETERNUS 设备的 SMI-S 连接的 IP 地址。使用设备 MNT 端口的 IP 地址。
- EternusPort
- ETERNUS 设备的 SMI-S 连接端口的端口号。
- EternusUser
-
连接
EternusIP的软件角色的用户名。 - EternusPassword
-
EternusUser的对应密码(EternusIP)。 - EternusPool
- 从 第 2 章 配置 Fujitsu ETERNUS 设备 中卷的存储池的名称。使用 ETERNUS 设备中的池 RAID 组名称或 TPP 名称。
- EternusSnapPool
-
从 第 2 章 配置 Fujitsu ETERNUS 设备 的卷快照的存储池名称。使用 ETERNUS 设备中的池 RAID 组名称。如果没有为快照创建不同的池,请使用与
EternusPool相同的值。
使用以下 xml 示例定义 Fibre Channel 配置:
eternus-fc.xml
使用以下 xml 示例定义 ISCSI 配置:
eternus-iscsi.xml
要编排这些 XML 文件的创建,请在来自 第 3 章 准备 Fujitsu ETERNUS heat 模板 的 /home/stack/templates/eternus-temp.yaml 文件中的 EternusSetup 资源的 config 部分包含 bash 命令。使用以下命令编配 eternus-fc.xml 和 eternus-iscsi.xml 的创建:
使用 sudo cat 命令创建所需的 XML 配置文件。
为 cinder 用户和组设置这些 XML 文件的所有权和权限。
sudo chown cinder:cinder /etc/cinder/eternus-*.xml sudo chmod 0600 /etc/cinder/eternus-*.xml
sudo chown cinder:cinder /etc/cinder/eternus-*.xml
sudo chmod 0600 /etc/cinder/eternus-*.xml
有关完成的 heat 模板示例,请参考 第 3.2 节 “Fujitsu ETERNUS heat 模板示例”。
3.2. Fujitsu ETERNUS heat 模板示例 复制链接链接已复制到粘贴板!
以下 /home/stack/templates/eternus-temp.yaml 文件包含声明示例 XML 配置文件所需的参数,如 eternus-fc.xml 和 eternus-iscsi.xml :
/home/stack/templates/eternus-temp.yaml
第 4 章 创建 Fujitsu ETERNUS 环境文件 复制链接链接已复制到粘贴板!
环境文件包含您要定义的每个后端的设置,以及其他相关设置。有关环境文件的更多信息, 请参阅高级 Overcloud 自定义指南中的 环境文件。
另外,环境文件会注册您在 第 3 章 准备 Fujitsu ETERNUS heat 模板 中创建的 heat 模板。heat 模板中定义的安装和回显命令在部署期间在适当的节点上运行。
以下示例环境文件包含定义 ETERNUS 设备作为块存储后端所需的部分。它还会为 第 3.1 节 “为每个 Fujitsu ETERNUS 后端创建驱动程序定义” 和 第 3.2 节 “Fujitsu ETERNUS heat 模板示例” 中编排的每个对应 XML 文件创建后端定义。
eternusbackend-env.yaml
- 1
- 在使用
NodeExtraConfig的核心 Puppet 配置前,为所有节点定义自定义设置。这样可确保在 overcloud 上部署块存储服务时,确保以下配置:- 每个后端的 XML 配置文件都存在。
- 生成私钥。
- 2
- 将以下参数设置为
false来禁用其他后端类型:-
CinderEnableIscsiBackend:其他 iSCSI 后端. -
CinderEnableRbdBackend: Red Hat Ceph Storage. -
CinderEnableNfsBackend: NFS. -
NovaEnableRbdBackend: ephemeral Red Hat Ceph Storage。
-
- 3
- 使用
GlanceBackend参数定义镜像服务镜像存储设置。支持以下值:-
文件在每个 Controller 节点上的/var/lib/glance/images上存储镜像。 -
Swift使用对象存储服务进行镜像存储。 -
Cinder使用块存储服务进行镜像存储。
-
- 4
- 使用
controllerExtraConfig为所有 Controller 节点定义自定义设置。cinder::config::cinder_config类用于块存储服务。director 在每个节点的/etc/cinder/cinder.conf文件中存储这些后端设置。 - 5
- 使用 FJFC/ 字符串配置名为
字符串的后端定义,并在该后端定义下声明FJFC/volume_driver参数。使用volume_driver参数为后端设置 Fibre Channel ETERNUS 驱动程序,如cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_fc.FJDXFCDriver。 - 6
- 使用
cinder_eternus_config_file设置驱动程序用于后端的 XML 配置文件的路径。通过 heat 模板编排/etc/cinder/eternus-fc.xml创建,如/home/stack/templates/eternus-temp.yaml。 - 7
volume_backend_name是块存储服务用来启用后端的名称。- 8
- 使用
FJISCSI/字符串配置新后端定义。使用volume_driver参数为后端设置 iSCSI ETERNUS 驱动程序,如cinder.volume.drivers.fujitsu.eternus_dx.eternus_dx_iscsi.FJDXISCSIDriver。 - 9
- 使用
cinder_user_enabled_backends类设置并启用自定义后端。仅将这个类用于支持用户的后端,如cinder::config::cinder_config类中定义的后端。 - 10
- 使主机上的自定义配置文件可供使用 Cinder-volume 服务在
CinderVolumeOptVolumes容器中运行。
创建环境文件后,您可以部署配置。有关环境文件 /home/stack/templates/eternusbackend-env.yaml 的详情请参考 第 5 章 部署配置的 Fujitsu ETERNUS 后端。
第 5 章 部署配置的 Fujitsu ETERNUS 后端 复制链接链接已复制到粘贴板!
在 /home/stack/templates/ 中创建 eternusbackend-env.yaml 文件后,完成以下步骤:
流程
-
以
stack用户身份登录。 - 使用以下命令部署后端配置:
openstack overcloud deploy --templates \ -e [your environment files] \ -e /home/stack/templates/eternusbackend-env.yaml
$ openstack overcloud deploy --templates \
-e [your environment files] \
-e /home/stack/templates/eternusbackend-env.yaml
如果您在创建 overcloud 时传递任何额外的环境文件,请使用 -e 选项再次传递它们,以避免对 overcloud 进行不必要的更改。有关更多信息,请参阅 Director 安装和使用 指南中的 修改 Overcloud 环境。
在 director 编排完成后测试后端。请参阅 第 6 章 测试您的 Fujitsu ETERNUS 配置。
第 6 章 测试您的 Fujitsu ETERNUS 配置 复制链接链接已复制到粘贴板!
将块存储服务配置为使用新的 ETERNUS 后端后,为每个后端声明 卷类型。使用卷类型在创建新卷时指定要使用的后端。
- 创建一个 Fibre Channel 后端,使用以下命令将其映射到对应的后端:
cinder type-create FJFC cinder type-key FJFC set volume_backend_name=FJFC
# cinder type-create FJFC
# cinder type-key FJFC set volume_backend_name=FJFC
- 创建一个 iSCSI 后端,使用以下命令将其映射到对应的后端:
cinder type-create FJISCSI cinder type-key FJISCSI volume_backend_name=FJISCSI
# cinder type-create FJISCSI
# cinder type-key FJISCSI volume_backend_name=FJISCSI
有关卷类型的更多信息,请参阅 第 4 章 创建 Fujitsu ETERNUS 环境文件 :
-
创建一个名为
test_iscsi的 1GB iSCSI 卷,以验证您的配置:
cinder create --volume_type FJISCSI --display_name test_iscsi 1
# cinder create --volume_type FJISCSI --display_name test_iscsi 1
- 测试光纤通道后端:
cinder create --volume_type FJFC --display_name test_fc 1
# cinder create --volume_type FJFC --display_name test_fc 1