3.3. 配置传输协议


部署使用不同的传输协议来连接卷。Block Storage 服务(cinder)支持以下传输协议:

  • iSCSI
  • 光纤频道(FC)
  • NVMe over TCP (NVMe-TCP)
  • NFS
  • Red Hat Ceph Storage RBD

使用卷(如块存储服务(cinder)卷和备份服务)的 control plane 服务可能需要支持 Red Hat OpenShift Container Platform (RHOCP)集群来使用 iscsidmultipathd 模块,具体取决于使用的存储阵列。 这些模块必须在执行这些卷的服务的所有节点上可用。要使用这些传输协议,请创建一个 MachineConfig CR 来定义这些模块的执行位置。如需有关 MachineConfig 的更多信息,请参阅了解 Machine Config operator

重要

使用 MachineConfig 更改节点的配置会导致节点重新引导。在应用 'MachineConfig' 以确保 RHOCP 工作负载的完整性之前,请咨询您的 RHOCP 管理员。

本节中的步骤旨在指导这些协议的一般配置。存储后端供应商将提供有关如何连接到其特定解决方案的配置信息。

除了特定于协议的配置外,红帽建议配置多路径,而不考虑使用的传输协议。完成传输协议配置后,请参阅为流程 配置多路径

注意

这些服务会在 EDPM 节点上自动启动。

3.3.1. 配置 iSCSI 协议

从 RHOCP 节点连接到 iSCSI 卷需要 iSCSI 启动器服务。iscsid service 模块必须有一个实例用于正常 RHOCP 使用、OpenShift CSI 插件用法和 RHOSO 服务。将 MachineConfig 应用到适用的节点,以配置节点以使用 iSCSI 协议。

注意

如果 iscsid 服务模块已在运行,则不需要这个过程。

流程

  1. 创建 MachineConfig CR,为 iscsid 模块配置节点。

    以下示例在所有 RHOCP worker 节点上启动带有默认配置的 iscsid 服务:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
        service: cinder
      name: 99-worker-cinder-enable-iscsid
    spec:
      config:
        ignition:
          version: 3.2.0
        systemd:
          units:
          - enabled: true
            name: iscsid.service
  2. 保存该文件。
  3. 应用 MachineConfig CR 文件。

    $ oc apply -f <machine_config_file> -n openstack
    • <machine_config_file > 替换为 MachineConfig CR 文件的名称。

3.3.2. 配置光纤通道协议

不需要额外的节点配置来使用 Fibre Channel 协议连接到卷。虽然所有使用 Fibre Channel 的节点都有一个主机总线适配器(HBA)卡。除非 RHOCP 部署中的所有 worker 节点都有一个 HBA 卡,否则您必须在 control plane 配置中使用 nodeSelector 来选择要卷和备份服务的节点,以及使用块存储服务为其存储后端的镜像服务实例。

3.3.3. 配置 NVMe over TCP (NVMe-TCP)协议

从 RHOCP 节点连接到 NVMe-TCP 卷需要 nvme 内核模块。

流程

  1. 创建 MachineConfig CR,为 nvme 内核模块配置节点。

    以下示例使用所有 RHOCP worker 节点中的默认配置启动 nvme 内核模块:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
        service: cinder
      name: 99-worker-cinder-load-nvme-fabrics
    spec:
      config:
        ignition:
          version: 3.2.0
        storage:
          files:
            - path: /etc/modules-load.d/nvme_fabrics.conf
              overwrite: false
              mode: 420
              user:
                name: root
              group:
                name: root
              contents:
                source: data:,nvme-fabrics%0Anvme-tcp
  2. 保存该文件。
  3. 应用 MachineConfig CR 文件。

    $ oc apply -f <machine_config_file> -n openstack
    • <machine_config_file > 替换为 MachineConfig CR 文件的名称。
  4. 节点重启后,验证 nvme-fabrics 模块是否已加载并支持主机上的 ANA :

    cat /sys/module/nvme_core/parameters/multipath
    注意

    虽然 ANA 不使用 Linux 多路径设备映射器,但 multipathd 必须正在运行,以便 Compute 节点能够在将卷连接到实例时使用多路径。

3.3.4. 配置多路径

在 RHOCP 节点上配置多路径需要 MachineConfig CR,用于在节点上创建一个 multipath.conf 文件并启动该服务。

注意

此流程中提供的示例只创建最小的 multipath.conf 文件。生产部署可能要求根据您的环境添加特定的硬件供应商。请咨询适当的系统管理员以获取部署所需的任何值。

流程

  1. 创建 MachineConfig CR 来配置节点多路径。

    以下示例创建了 multipath.conf 文件,并在所有 RHOCP 节点上启动 multipathd 模块:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
      labels:
        machineconfiguration.openshift.io/role: worker
        service: cinder
      name: 99-worker-cinder-enable-multipathd
    spec:
      config:
        ignition:
          version: 3.2.0
        storage:
          files:
            - path: /etc/multipath.conf
              overwrite: false
              mode: 384
              user:
                name: root
              group:
                name: root
              contents:
                source: data:,defaults%20%7B%0A%20%20user_friendly_names%20no%0A%20%20recheck_wwid%20yes%0A%20%20skip_kpartx%20yes%0A%20%20find_multipaths%20yes%0A%7D%0A%0Ablacklist%20%7B%0A%7D
        systemd:
          units:
          - enabled: true
            name: multipathd.service
    注意

    以下是本例创建的 multipath.conf 的内容:

    defaults {
      user_friendly_names no
      recheck_wwid yes
      skip_kpartx yes
      find_multipaths yes
    }
    
    blacklist {
    }
  2. 保存该文件。
  3. 应用 MachineConfig CR 文件。

    $ oc apply -f <machine_config_file> -n openstack
    • <machine_config_file > 替换为 MachineConfig CR 文件的名称。

      注意

      在 RHOSO 部署中,默认启用 use_multipath_for_image_xfer 配置选项。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.