検索

16.9. IBM Z または IBM LinuxONE 環境での追加デバイスの設定

download PDF

OpenShift Container Platform をインストールした後、z/VM でインストールされた IBM Z® または IBM® LinuxONE 環境でクラスターの追加デバイスを設定できます。次のデバイスを設定できます。

  • ファイバーチャネルプロトコル (FCP) ホスト
  • FCP LUN
  • DASD
  • qeth

Machine Config Operator (MCO) を使用し、udev ルールを追加してデバイスを設定するか、デバイスを手動で設定できます。

注記

ここで説明する手順は、z/VM インストールにのみ適用されます。IBM Z® または IBM® LinuxONE インフラストラクチャーに RHEL KVM を使用してクラスターをインストールした場合、デバイスが KVM ゲストに追加された後、KVM ゲスト内で追加で設定をする必要はありません。ただし、z/VM と RHEL KVM 環境の両方で、Local Storage Operator と Kubernetes NMState Operator を設定する次の手順を適用する必要があります。

16.9.1. Machine Config Operator (MCO) を使用した追加デバイスの設定

このセクションのタスクでは、Machine Config Operator (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: ""

16.9.1.1. ファイバーチャネルプロトコル (FCP) ホストの設定

以下は、udev ルールを追加し、N_Port Identifier Virtualization (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 ルールが配置されているパス。

16.9.1.2. 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 ルールが配置されているパス。

16.9.1.3. 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 ルールが配置されているパス。

16.9.1.4. 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 ルールが配置されているパス。

16.9.2. 追加のデバイスの手動設定

このセクションのタスクでは、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>

関連情報

16.9.3. RoCE ネットワークカード

RoCE (RDMA over Converged Ethernet) ネットワークカードは、有効にする必要はなく、ノードで使用できる場合はいつでも Kubernetes NMState Operator で設定できます。たとえば、RoCE ネットワークカードは、z/VM 環境に接続されているか、RHEL KVM 環境でパススルーされている場合に使用できます。

16.9.4. 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

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.