×

安装OpenShift Container Platform后,您可以在使用z/VM安装的IBM Z®或IBM® LinuxONE环境中为集群配置附加设备。可以配置以下设备:

  • 光纤通道协议 (FCP) 主机

  • FCP LUN

  • DASD

  • qeth

您可以通过使用机器配置操作符 (MCO) 添加udev规则来配置设备,也可以手动配置设备。

此处描述的过程仅适用于z/VM安装。如果您已在IBM Z®或IBM® LinuxONE基础架构上使用RHEL KVM安装了集群,则在将设备添加到KVM虚拟机后,无需在KVM虚拟机内部进行其他配置。但是,在z/VM和RHEL KVM环境中,都需要应用配置本地存储操作符和Kubernetes NMState操作符的后续步骤。

其他资源

使用机器配置操作符 (MCO) 配置附加设备

本节中的任务描述如何使用机器配置操作符 (MCO) 的功能来配置IBM Z®或IBM® LinuxONE环境中的附加设备。使用MCO配置设备是持久性的,但仅允许对计算节点进行特定配置。MCO不允许控制平面节点具有不同的配置。

先决条件
  • 您已以具有管理员权限的用户身份登录到集群。

  • 该设备必须可用于z/VM虚拟机。

  • 设备已连接。

  • 该设备未包含在cio_ignore列表中,该列表可以在内核参数中设置。

  • 您已使用以下YAML创建了MachineConfig对象文件

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfigPool
    metadata:
      name: worker0
    spec:
      machineConfigSelector:
        matchExpressions:
          - {key: machineconfiguration.openshift.io/role, operator: In, values: [worker,worker0]}
      nodeSelector:
        matchLabels:
          node-role.kubernetes.io/worker0: ""

配置光纤通道协议 (FCP) 主机

以下是通过添加udev规则来配置具有N_Port标识虚拟化 (NPIV) 的FCP主机适配器的示例。

步骤
  1. 使用以下udev规则样本441-zfcp-host-0.0.8000.rules

    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.8000", DRIVER=="zfcp", GOTO="cfg_zfcp_host_0.0.8000"
    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="zfcp", TEST=="[ccw/0.0.8000]", GOTO="cfg_zfcp_host_0.0.8000"
    GOTO="end_zfcp_host_0.0.8000"
    
    LABEL="cfg_zfcp_host_0.0.8000"
    ATTR{[ccw/0.0.8000]online}="1"
    
    LABEL="end_zfcp_host_0.0.8000"
  2. 通过运行以下命令将规则转换为Base64编码:

    $ base64 /path/to/file/
  3. 将以下MCO样本配置文件复制到YAML文件:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 (1)
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> (2)
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-zfcp-host-0.0.8000.rules (3)
    1 您在机器配置文件中定义的角色。
    2 您在上一步中生成的Base64编码字符串。
    3 udev规则所在的路径。

配置FCP LUN

以下是通过添加udev规则来配置FCP LUN的示例。您可以添加新的FCP LUN或向已配置多路径的LUN添加其他路径。

步骤
  1. 使用以下udev规则样本41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules

    ACTION=="add", SUBSYSTEMS=="ccw", KERNELS=="0.0.8000", GOTO="start_zfcp_lun_0.0.8207"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="start_zfcp_lun_0.0.8000"
    SUBSYSTEM=="fc_remote_ports", ATTR{port_name}=="0x500507680d760026", GOTO="cfg_fc_0.0.8000_0x500507680d760026"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="cfg_fc_0.0.8000_0x500507680d760026"
    ATTR{[ccw/0.0.8000]0x500507680d760026/unit_add}="0x00bc000000000000"
    GOTO="end_zfcp_lun_0.0.8000"
    
    LABEL="end_zfcp_lun_0.0.8000"
  2. 通过运行以下命令将规则转换为Base64编码:

    $ base64 /path/to/file/
  3. 将以下MCO样本配置文件复制到YAML文件:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 (1)
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> (2)
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-zfcp-lun-0.0.8000:0x500507680d760026:0x00bc000000000000.rules (3)
    1 您在机器配置文件中定义的角色。
    2 您在上一步中生成的Base64编码字符串。
    3 udev规则所在的路径。

配置DASD

以下是通过添加udev规则来配置DASD设备的示例。

步骤
  1. 使用以下udev规则样本41-dasd-eckd-0.0.4444.rules

    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.4444", DRIVER=="dasd-eckd", GOTO="cfg_dasd_eckd_0.0.4444"
    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="dasd-eckd", TEST=="[ccw/0.0.4444]", GOTO="cfg_dasd_eckd_0.0.4444"
    GOTO="end_dasd_eckd_0.0.4444"
    
    LABEL="cfg_dasd_eckd_0.0.4444"
    ATTR{[ccw/0.0.4444]online}="1"
    
    LABEL="end_dasd_eckd_0.0.4444"
  2. 通过运行以下命令将规则转换为Base64编码:

    $ base64 /path/to/file/
  3. 将以下MCO样本配置文件复制到YAML文件:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 (1)
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> (2)
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules (3)
    1 您在机器配置文件中定义的角色。
    2 您在上一步中生成的Base64编码字符串。
    3 udev规则所在的路径。

配置qeth

以下是通过添加udev规则来配置qeth设备的示例。

步骤
  1. 使用以下udev规则样本41-qeth-0.0.1000.rules

    ACTION=="add", SUBSYSTEM=="drivers", KERNEL=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1001", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccw", KERNEL=="0.0.1002", DRIVER=="qeth", GOTO="group_qeth_0.0.1000"
    ACTION=="add", SUBSYSTEM=="ccwgroup", KERNEL=="0.0.1000", DRIVER=="qeth", GOTO="cfg_qeth_0.0.1000"
    GOTO="end_qeth_0.0.1000"
    
    LABEL="group_qeth_0.0.1000"
    TEST=="[ccwgroup/0.0.1000]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1000]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1001]", GOTO="end_qeth_0.0.1000"
    TEST!="[ccw/0.0.1002]", GOTO="end_qeth_0.0.1000"
    ATTR{[drivers/ccwgroup:qeth]group}="0.0.1000,0.0.1001,0.0.1002"
    GOTO="end_qeth_0.0.1000"
    
    LABEL="cfg_qeth_0.0.1000"
    ATTR{[ccwgroup/0.0.1000]online}="1"
    
    LABEL="end_qeth_0.0.1000"
  2. 通过运行以下命令将规则转换为Base64编码:

    $ base64 /path/to/file/
  3. 将以下MCO样本配置文件复制到YAML文件:

    apiVersion: machineconfiguration.openshift.io/v1
    kind: MachineConfig
    metadata:
       labels:
         machineconfiguration.openshift.io/role: worker0 (1)
       name: 99-worker0-devices
    spec:
       config:
         ignition:
           version: 3.2.0
         storage:
           files:
           - contents:
               source: data:text/plain;base64,<encoded_base64_string> (2)
             filesystem: root
             mode: 420
             path: /etc/udev/rules.d/41-dasd-eckd-0.0.4444.rules (3)
    1 您在机器配置文件中定义的角色。
    2 您在上一步中生成的Base64编码字符串。
    3 udev规则所在的路径。

手动配置附加设备

本节中的任务描述如何在IBM Z®或IBM® LinuxONE环境中手动配置附加设备。此配置方法在节点重启后是持久的,但不是OpenShift Container Platform原生方法,如果替换节点,则需要重新执行这些步骤。

先决条件
  • 您已以具有管理员权限的用户身份登录到集群。

  • 该设备必须可用于节点。

  • 在z/VM环境中,该设备必须连接到z/VM虚拟机。

步骤
  1. 通过运行以下命令通过SSH连接到节点:

    $ ssh <user>@<node_ip_address>

    您也可以通过运行以下命令启动到节点的调试会话:

    $ oc debug node/<node_name>
  2. 要使用chzdev命令启用设备,请输入以下命令:

    $ sudo chzdev -e <device>
其他资源

RoCE网卡

RoCE(RDMA over Converged Ethernet)网卡无需启用,并且只要它们在节点中可用,就可以使用Kubernetes NMState操作符配置它们的接口。例如,如果在z/VM环境中连接或在RHEL KVM环境中通过它们,则RoCE网卡可用。

为FCP LUN启用多路径

本节中的任务描述如何在IBM Z®或IBM® LinuxONE环境中手动配置附加设备。此配置方法在节点重启后是持久的,但不是OpenShift Container Platform原生方法,如果替换节点,则需要重新执行这些步骤。

在IBM Z®和IBM® LinuxONE上,只有在安装过程中为此配置了集群时,才能启用多路径。有关更多信息,请参阅*在IBM Z®和IBM® LinuxONE上使用z/VM安装集群*中的“安装RHCOS并启动OpenShift Container Platform引导过程”。

先决条件
  • 您已以具有管理员权限的用户身份登录到集群。

  • 您已使用上述任一方法配置了多个指向LUN的路径。

步骤
  1. 通过运行以下命令通过SSH连接到节点:

    $ ssh <user>@<node_ip_address>

    您也可以通过运行以下命令启动到节点的调试会话:

    $ oc debug node/<node_name>
  2. 要启用多路径,请运行以下命令

    $ sudo /sbin/mpathconf --enable
  3. 要启动multipathd守护进程,请运行以下命令

    $ sudo multipath
  4. 可选:要使用fdisk格式化您的多路径设备,请运行以下命令

    $ sudo fdisk /dev/mapper/mpatha
验证
  • 要验证设备是否已分组,请运行以下命令

    $ sudo multipath -II
    示例输出
    mpatha (20017380030290197) dm-1 IBM,2810XIV
       size=512G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw
    	-+- policy='service-time 0' prio=50 status=enabled
     	|- 1:0:0:6  sde 68:16  active ready running
     	|- 1:0:1:6  sdf 69:24  active ready running
     	|- 0:0:0:6  sdg  8:80  active ready running
     	`- 0:0:1:6  sdh 66:48  active ready running