EシリーズLinuxホストでNVMe over InfiniBandを使用してフェイルオーバーを設定する
ストレージアレイへのパスを冗長化するには、フェイルオーバーを実行するようにホストを設定します。
必要なパッケージをシステムにインストールする必要があります。
-
Red Hat ( RHEL )ホストの場合、パッケージがインストールされていることを確認するには、「 rpm -q device-mapper-multipath 」を実行します
-
SLES ホストの場合 'rpm -q multipath-tools' を実行してパッケージがインストールされていることを確認します
を参照してください "NetApp Interoperability Matrix Tool で確認できます" マルチパスは GA バージョンの SLES または RHEL では正しく機能しないことがあるため、必要なアップデートがインストールされていることを確認してください。 SLES 12 use Device Mapper Multipath (DMMP) for multipathing when using NVMe over Infiniband. RHEL 8, RHEL 9, RHEL 10, SLES 15 and SLES 16 use a built-in Native NVMe Failover. Depending on which OS you are running, some additional configuration of multipath is required to get it running properly.
デバイスマッパーマルチパス(DMMP)の有効化 SLES 12
デフォルトでは、SLESのDM-MPは無効になっています。以下の手順で、ホスト上でDM-MPコンポーネントを有効にします。
-
/etc/multipath.conf ファイルの devices セクションに、 NVMe E シリーズデバイスのエントリを次のように追加します。
devices { device { vendor "NVME" product "NetApp E-Series*" path_grouping_policy group_by_prio failback immediate no_path_retry 30 } } -
システム起動時に起動するように「マルチパス」を設定します。
# systemctl enable multipathd
-
現在実行されていない場合は、「マルチパス」を開始します。
# systemctl start multipathd
-
「マルチパス」のステータスを確認して、アクティブで実行中であることを確認します。
# systemctl status multipathd
ネイティブの NVMe マルチパスを使用して RHEL 8 をセットアップする
ネイティブの NVMe マルチパスは、 RHEL 8 ではデフォルトで無効になっており、以下の手順で有効にする必要があります。
-
ネイティブの NVMe マルチパスをオンにする「 m odprobe 」ルールを設定します。
# echo "options nvme_core multipath=y" >> /etc/modprobe.d/50-nvme_core.conf
-
新しい 'm odprobe' パラメータを使用して 'initramfs' を再作成します
# dracut -f
-
サーバをリブートして、ネイティブの NVMe マルチパスを有効にします。
# reboot
-
ホストのブート後にネイティブの NVMe マルチパスが有効になっていることを確認します。
# cat /sys/module/nvme_core/parameters/multipath
-
コマンド出力が「 N 」の場合、ネイティブ NVMe マルチパスは無効のままです。
-
コマンド出力が「 Y 」の場合は、ネイティブ NVMe マルチパスが有効になり、検出した NVMe デバイスでこのコマンドが使用されます。
-
|
|
SLES 15およびRHEL 9では、ネイティブNVMeマルチパスはデフォルトで有効になっており、追加の設定は不要です。 |
NVMe I/O ポリシーを設定する
Linux NVMe ネイティブマルチパスはデフォルトで numa I/O ポリシーに設定される場合があります。Eシリーズ/EFシリーズの NVMe-over-Fabrics 構成では、推奨される I/O ポリシーは `round-robin`であり、これにより利用可能なすべてのパスに I/O が均等に分散されます。
-
現在のNVMe I/Oポリシーを確認します:
# cat /sys/module/nvme_core/parameters/iopolicy numa
-
次のいずれかの方法を使用して、
round-robinI/O ポリシーを設定します:-
永続的(推奨) — udevルールファイルを作成します:
<code>/etc/udev/rules.d/71-nvme-io-policy.rules</code>ACTION=="add|change", SUBSYSTEM=="nvme-subsystem", ATTR{iopolicy}="round-robin"次に、ルールを再読み込みして適用します。
udevadm control --reload udevadm trigger --subsystem-match=nvme-subsystem
-
起動時のグローバル設定 — 以下のカーネル パラメータをブートローダーの設定に追加してください:
nvme_core.iopolicy=round-robin
-
非永続的(オンライン、I/Oの中断なし) — 再起動せずにすぐに適用します:
echo "round-robin" > /sys/class/nvme-subsystem/nvme-subsys0/iopolicy
この設定は再起動後も保持されません。
-