16.9. IBM Z または IBM LinuxONE 環境での追加デバイスの設定
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 ホストアダプターを設定する方法の例です。
手順
次の 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"
次のコマンドを実行して、ルールを Base64 エンコードに変換します。
$ base64 /path/to/file/
以下の 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
16.9.1.2. FCP LUN の設定
以下は、udev ルールを追加して FCP LUN を設定する方法の例です。新しい FCP LUN を追加したり、マルチパスで設定済みの LUN にパスを追加したりできます。
手順
次の 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"
次のコマンドを実行して、ルールを Base64 エンコードに変換します。
$ base64 /path/to/file/
以下の 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
16.9.1.3. DASD の設定
以下は、udev ルールを追加して DASD デバイスを設定する方法の例です。
手順
次の 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"
次のコマンドを実行して、ルールを Base64 エンコードに変換します。
$ base64 /path/to/file/
以下の 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
16.9.1.4. qeth の設定
以下は、udev ルールを追加して qeth デバイスを設定する方法の例です。
手順
次の 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"
次のコマンドを実行して、ルールを Base64 エンコードに変換します。
$ base64 /path/to/file/
以下の 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
16.9.2. 追加のデバイスの手動設定
このセクションのタスクでは、IBM Z® または IBM® LinuxONE 環境で追加のデバイスを手動で設定する方法を説明します。この設定方法はノードの再起動後も持続しますが、OpenShift Container Platform ネイティブではなく、ノードを置き換える場合は手順をやり直す必要があります。
前提条件
- 管理者権限を持つユーザーとしてクラスターにログインしている。
- デバイスがノードで使用可能である。
- z/VM 環境では、デバイスを z/VM ゲストに接続しておく。
手順
次のコマンドを実行して、SSH 経由でノードに接続します。
$ ssh <user>@<node_ip_address>
次のコマンドを実行して、ノードへのデバッグセッションを開始することもできます。
$ oc debug node/<node_name>
chzdev
コマンドでデバイスを有効にするには、次のコマンドを入力します。$ sudo chzdev -e <device>
関連情報
- chzdev - Configure IBM Z® devices (IBM® ドキュメント)
- Persistent device configuration (IBM® ドキュメント)
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 への複数のパスを設定している。
手順
次のコマンドを実行して、SSH 経由でノードに接続します。
$ ssh <user>@<node_ip_address>
次のコマンドを実行して、ノードへのデバッグセッションを開始することもできます。
$ oc debug node/<node_name>
マルチパスを有効にするには、次のコマンドを実行します。
$ sudo /sbin/mpathconf --enable
multipathd
デーモンを開始するには、次のコマンドを実行します。$ sudo multipath
オプション: マルチパスデバイスを 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