7.2.11.4. RHCOS のカーネル引数でのマルチパスの有効化

RHCOS はプライマリーディスクでのマルチパスをサポートするようになり、ハードウェア障害に対する対障害性が強化され、ホストの可用性を強化できるようになりました。

OpenShift Container Platform 4.8 以降でプロビジョニングされたノードのマルチパスを有効にできます。インストール後のサポートはマシン設定を使用してマルチパスをアクティベートすることで利用できますが、インストール中にマルチパスを有効にすることをお勧めします。

非最適化パスに対して I/O があると、I/O システムエラーが発生するように設定するには、インストール時にマルチパスを有効にする必要があります。

重要

IBM Z および LinuxONE では、インストール時にクラスターを設定した場合のみマルチパスを有効にできます。詳細は、『IBM Z および LinuxONE への z/VM を使用したクラスターのインストール』の「RHCOS のインストール」および「OpenShift Container Platform ブートストラッププロセスの開始」を参照してください。

以下の手順では、インストール時にマルチパスを有効にし、coreos-installer install コマンドにカーネル引数を追加して、インストール済みシステム自体が初回起動からマルチパスを使用できるようにします。

前提条件

  • バージョン 4.8 以降を使用する OpenShift Container Platform クラスターが実行中である。
  • 管理者権限を持つユーザーとしてクラスターにログインしている。

手順

  1. マルチパスを有効にして multipathd デーモンを起動するには、以下のコマンドを実行します。

    $ mpathconf --enable && systemctl start multipathd.service
    • 必要に応じて、PXE または ISO を起動する場合は、カーネルコマンドラインから rd.multipath=default を追加することで、マルチパスを有効にできます。
  2. coreos-installer プログラムを呼び出してカーネル引数を追加します。

    • マシンに接続されているマルチパスデバイスが 1 つしかない場合は、このデバイスは /dev/mapper/mpatha のパスで利用できます。以下は例になります。

      $ coreos-installer install /dev/mapper/mpatha \ 1
      --append-karg rd.multipath=default \
      --append-karg root=/dev/disk/by-label/dm-mpath-root \
      --append-karg rw
      1
      1 つのマルチパスデバイスのパスを指定します。
    • 複数のマルチパスデバイスがマシンに接続している場合には、より明示的に /dev/mapper/mpatha を使用する代わりに、/dev/disk/by-id で利用可能な World Wide Name (WWN) シンボリックリンクを使用することが推奨されます。以下は例になります。

      $ coreos-installer install /dev/disk/by-id/wwn-<wwn_ID> \ 1
      --append-karg rd.multipath=default \
      --append-karg root=/dev/disk/by-label/dm-mpath-root \
      --append-karg rw
      1
      マルチパス化されたデバイスの WWN ID を指定します。例: 0xx194e957fcedb4841

      特別な coreos.inst.* 引数を使用してライブインストーラーを指定する場合に、このシンボリックリンクを coreos.inst.install_dev カーネル引数として使用することもできます。詳細は、「Installing RHCOS and starting the OpenShift Container Platform bootstrap process」を参照してください。

  3. ワーカーノードのいずれかに移動し、カーネルコマンドライン引数 (ホストの /proc/cmdline 内) を一覧表示してカーネル引数が機能することを確認します。

    $ oc debug node/ip-10-0-141-105.ec2.internal

    出力例

    Starting pod/ip-10-0-141-105ec2internal-debug ...
    To use host binaries, run `chroot /host`
    
    sh-4.2# cat /host/proc/cmdline
    ...
    rd.multipath=default root=/dev/disk/by-label/dm-mpath-root
    ...
    
    sh-4.2# exit

    追加したカーネル引数が表示されるはずです。

関連情報