2.12. 多路径配置


使用多路径将服务器节点和存储阵列间的多个 I/O 路径配置为单一设备,以创建冗余并提高性能。

2.12.1. 使用 director 配置多路径

您可以在 Red Hat OpenStack Platform (RHOSP) overcloud 部署中配置多路径,以实现更大的带宽和网络弹性。

重要

当您在现有部署中配置多路径时,新的工作负载会识别多路径。如果您有任何已存在的工作负载,您必须检查并取消缩小实例以便在这些实例上启用多路径。

先决条件

  • 已安装 undercloud。如需更多信息,请参阅使用 director 安装和管理 Red Hat OpenStack Platform 中的安装 director

流程

  1. stack 用户身份登录 undercloud 主机。
  2. 查找 stackrc undercloud 凭证文件:

    $ source ~/stackrc
    Copy to Clipboard Toggle word wrap
  3. 使用覆盖环境文件或创建新文件,如 multipath_overrides.yaml。添加并设置以下参数:

    parameter_defaults:
      ExtraConfig:
        cinder::config::cinder_config:
          backend_defaults/use_multipath_for_image_xfer:
            value: true
    Copy to Clipboard Toggle word wrap
    注意

    默认设置将生成适用于大多数环境的基本多路径配置。但是,检查您的存储供应商以获得建议,因为有些供应商有特定于硬件的优化配置。有关多路径的更多信息,请参阅配置设备映射器多路径

  4. 可选:如果您有用于 overcloud 部署的多路径配置文件,您可以使用 MultipathdCustomConfigFile 参数指定此文件的位置:

    parameter_defaults:
      MultipathdCustomConfigFile: <config_file_directory>/<config_file_name>
    Copy to Clipboard Toggle word wrap

    在以下示例中,/home/stack 是多路径配置文件的目录,multipath.conf 是此文件的名称:

    parameter_defaults:
      MultipathdCustomConfigFile: /home/stack/multipath.conf
    Copy to Clipboard Toggle word wrap
    注意

    其他 TripleO 多路径参数会覆盖本地自定义配置文件中的任何对应的值。例如,如果 MultipathdEnableUserFriendlyNamesFalse,则 overcloud 节点上的文件会更新以匹配,即使本地自定义文件中启用了该设置。

    有关多路径参数的更多信息,请参阅 多路径 heat 模板参数

  5. 将更新保存到覆盖的环境文件。
  6. 将覆盖环境文件添加到带有其他环境文件的堆栈中,例如:

    ----
    /usr/share/openstack-tripleo-heat-templates/environments/multipathd.yaml
    ----
    Copy to Clipboard Toggle word wrap
  7. 部署 overcloud。

2.12.1.1. 多路径 heat 模板参数

使用它来了解启用多路径的以下参数。

Expand
参数描述默认值

MultipathdEnable

定义是否启用多路径守护进程。通过 multipathd.yaml 文件中包含的配置,此参数默认为 True

true

MultipathdEnableUserFriendlyNames

定义是否启用为每个路径分配用户友好的名称。

False

MultipathdEnableFindMultipaths

定义是否为每个路径自动创建多路径设备。

true

MultipathdSkipKpartx

定义是否跳过设备中自动创建分区。

true

MultipathdCustomConfigFile

包括 overcloud 节点上的本地自定义多路径配置文件。默认情况下会安装一个最小 multipath.conf 文件。

注意: 其他 TripleO 多路径参数覆盖您添加的任何本地自定义配置文件中任何对应的值。例如,如果 MultipathdEnableUserFriendlyNamesFalse,则 overcloud 节点上的文件会更新以匹配,即使在本地、自定义文件中启用了该设置。

 

2.12.2. 验证多路径配置

您可以在新的或现有 overcloud 部署中验证多路径配置。

流程

  1. 创建一个实例。
  2. 将非加密卷附加到实例。
  3. 获取包含实例的 Compute 节点的名称:

    $ nova show <instance> | grep OS-EXT-SRV-ATTR:host
    Copy to Clipboard Toggle word wrap

    <instance > 替换为您创建的实例的名称。

  4. 检索实例的 virsh 名称:

    $ nova show <instance> | grep instance_name
    Copy to Clipboard Toggle word wrap
  5. 获取 Compute 节点的 IP 地址:

    $ . stackrc
    $ metalsmith list | grep <compute_name>
    Copy to Clipboard Toggle word wrap

    <compute_name > 替换为 nova show <instance > 命令的输出中的 name,从六个列表中显示两行。

    找到在第四列中的 & lt;compute_name > 的行。< compute_name&gt; 的 IP 地址位于此行的最后一列中。

    在以下示例中,compute-0 的 IP 地址是 192.02.24.15,因为 compute-0 位于第二行的第四列中:

    $ . stackrc
    $ metalsmith list | grep compute-0
    | 3b1bf72e-c425-494c-9717-d0b89bb66580 | compute-0    | 95b21d3e-36be-470d-ba5c-70d5dcd6d0b3 | compute-1    | ACTIVE | ctlplane=192.02.24.49 |
    | 72a24883-25f9-435c-bf71-a20e66be172d | compute-1    | a59f79f7-006e-4f38-a9ad-8164da47d58e | compute-0    | ACTIVE | ctlplane=192.02.24.15 |
    Copy to Clipboard Toggle word wrap
  6. SSH 到运行实例的 Compute 节点:

    $ ssh tripleo-admin@<compute_node_ip>
    Copy to Clipboard Toggle word wrap

    <compute_node_ip > 替换为 Compute 节点的 IP 地址。

  7. 登录到运行 virsh 的容器:

    $ podman exec -it nova_libvirt /bin/bash
    Copy to Clipboard Toggle word wrap
  8. 在 Compute 节点实例中输入以下命令,以验证它是否在 cinder 卷主机位置中使用多路径:

    virsh domblklist <virsh_instance_name> | grep /dev/dm
    Copy to Clipboard Toggle word wrap

    <virsh_instance_name > 替换为 nova show <instance> | grep instance_name 命令的输出。

    如果实例显示 /dev/dm- 以外的值,则连接是非多路径,您需要使用 nova shelvenova unshelve 命令刷新连接信息:

    $ nova shelve <instance>
    $ nova unshelve <instance>
    Copy to Clipboard Toggle word wrap
    注意

    如果您有多种后端,您必须验证所有后端上的实例和卷,因为每个后端返回的连接信息可能有所不同。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat