個 々 のファイルノードを設定します
ホスト変数(host_vars)を使用して、個 々 のファイルノードの設定を指定します。
概要
このセクションでは、の入力手順について説明します host_vars/<FILE_NODE_HOSTNAME>.yml
クラスタ内の各ファイルノードのファイル。これらのファイルには、特定のファイルノードに固有の設定のみを含める必要があります。これには、次のような一般
-
AnsibleでIPまたはホスト名を定義して、ノードへの接続に使用する必要があります。
-
HAクラスタサービス(PacemakerとCorosync)で他のファイルノードとの通信に使用するインターフェイスおよびクラスタIPを追加で設定しています。デフォルトでは、これらのサービスは管理インターフェイスと同じネットワークを使用しますが、冗長性を確保するために追加のインターフェイスを使用できる必要があります。一般的には、ストレージネットワークに追加のIPを定義して、クラスタまたは管理ネットワークを追加する必要を回避します。
-
クラスタ通信に使用されるネットワークのパフォーマンスは、ファイルシステムのパフォーマンスにとっては重要ではありません。デフォルトのクラスタ構成では、通常、少なくとも1Gb/秒ネットワークを使用すると、ノード状態の同期やクラスタリソース状態の変更の調整など、クラスタ処理に十分なパフォーマンスが提供されます。低速/ビジーなネットワークでは、原因 リソースの状態が通常よりも長くなる可能性があります。また、ノードが妥当な時間内にハートビートを送信できない場合、ノードがクラスタから削除されることがあります。
-
-
目的のプロトコルを介したブロックノードへの接続に使用するインターフェイスの設定(iSCSI / iSER、NVMe/IB、NVMe/RoCE、FCPなど)
手順
"ファイルシステムを計画"セクションで定義したIPアドレス指定方式を参照して、クラスタ内のファイルノードごとにファイルを作成し host_vars/<FILE_NODE_HOSTNAME>/yml
、次のように設定します。
-
上部に、ノードへのSSHとノードの管理にAnsibleで使用するIPまたはホスト名を指定します。
ansible_host: "<MANAGEMENT_IP>"
-
クラスタトラフィックに使用できる追加のIPを設定します。
-
ネットワークタイプがの場合 "InfiniBand(IPoIBを使用)":
eseries_ipoib_interfaces: - name: <INTERFACE> # Example: ib0 or i1b address: <IP/SUBNET> # Example: 100.127.100.1/16 - name: <INTERFACE> # Additional interfaces as needed. address: <IP/SUBNET>
-
ネットワークタイプがの場合 "RDMA over Converged Ethernet(RoCE)":
eseries_roce_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16 - name: <INTERFACE> # Additional interfaces as needed. address: <IP/SUBNET>
-
ネットワークタイプがの場合 "イーサネット(TCPのみ、RDMAなし)":
eseries_ip_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16 - name: <INTERFACE> # Additional interfaces as needed. address: <IP/SUBNET>
-
-
優先IPが高い順に、クラスタトラフィックに使用するIPを指定します。
beegfs_ha_cluster_node_ips: - <MANAGEMENT_IP> # Including the management IP is typically but not required. - <IP_ADDRESS> # Ex: 100.127.100.1 - <IP_ADDRESS> # Additional IPs as needed.
ステップ2で設定したIPSは、に含まれていないかぎり、クラスタIPとして使用されません beegfs_ha_cluster_node_ips
リストこれにより、必要に応じて他の目的にも使用できるAnsibleを使用して追加のIP /インターフェイスを設定できます。 -
IPベースのプロトコルを使用してノードをブロックするためにファイルノードが通信する必要がある場合は、IPを適切なインターフェイスに設定し、そのプロトコルのインストールまたは設定に必要なパッケージをすべて設定する必要があります。
-
を使用する場合 "iSCSI":
eseries_iscsi_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16
-
を使用する場合 "iSER":
eseries_ib_iser_interfaces: - name: <INTERFACE> # Example: ib0. address: <IP/SUBNET> # Example: 100.127.100.1/16 configure: true # If the file node is directly connected to the block node set to true to setup OpenSM.
-
を使用する場合 "NVMe/IB":
eseries_nvme_ib_interfaces: - name: <INTERFACE> # Example: ib0. address: <IP/SUBNET> # Example: 100.127.100.1/16 configure: true # If the file node is directly connected to the block node set to true to setup OpenSM.
-
を使用する場合 "NVMe/RoCE":
eseries_nvme_roce_interfaces: - name: <INTERFACE> # Example: eth0. address: <IP/SUBNET> # Example: 100.127.100.1/16
-
その他のプロトコル:
-
を使用する場合 "NVMe/FC"個 々 のインターフェイスを設定する必要はありません。BeeGFSクラスタの導入により、プロトコルが自動的に検出され、必要に応じて要件がインストール/設定されます。ファブリックを使用してファイルノードとブロックノードを接続する場合は、ネットアップとスイッチベンダーのベストプラクティスに従ってスイッチを適切にゾーニングしてください。
-
FCPまたはSASを使用する場合、追加のソフトウェアをインストールまたは設定する必要はありません。FCPを使用する場合は、次に示す手順でスイッチが適切にゾーニングされていることを確認 "ネットアップ" スイッチベンダーのベストプラクティスを確認してください。
-
現時点では、IB SRPの使用は推奨されていません。Eシリーズのブロックノードでサポートされているものに応じて、NVMe/IBまたはiSERを使用します。
-
-
をクリックします "こちらをご覧ください" たとえば、単一のファイルノードを表す完全なインベントリファイルなどです。
Advanced:イーサネットとInfiniBandモードの間でNVIDIA ConnectX VPIアダプタを切り替えます
NVIDIA ConnectX-Virtual Protocol Interconnect ®(VPI)アダプタは、InfiniBandとイーサネットの両方をトランスポートレイヤとしてサポートします。モード間の切り替えは自動的にはネゴシエートされないため、に含まれているオープンソースパッケージを使用して設定する必要があります mstconfig
mstflint
"NVIDIAファームウェアツール(MFT)"。アダプタのモードを変更する必要があるのは一度だけです。これは手動で行うことも、インベントリのセクションを使用して設定されたインターフェイスの一部としてAnsibleインベントリに含めることもでき eseries-[ib|ib_iser|ipoib|nvme_ib|nvme_roce|roce]_interfaces:
、自動的にチェック/適用されます。
たとえば、InfiniBandモードのインターフェイスをイーサネットに変更して、RoCEに使用できるようにするには、次のコマンドを実行します。
-
設定する各インターフェイスについて、を指定します
mstconfig
を指定するマッピング(またはディクショナリ)として指定しますLINK_TYPE_P<N>
ここで、<N>
は、インターフェイスのHCAのポート番号で決まります。。<N>
の値はを実行して確認できますgrep PCI_SLOT_NAME /sys/class/net/<INTERFACE_NAME>/device/uevent
PCIスロット名の最後の数字に1を追加し、10進数に変換します。-
たとえば、を指定します
PCI_SLOT_NAME=0000:2f:00.2
(2+1 → HCAポート3)→LINK_TYPE_P3: eth
:eseries_roce_interfaces: - name: <INTERFACE> address: <IP/SUBNET> mstconfig: LINK_TYPE_P3: eth
-
詳細については、を参照してください "NetApp Eシリーズホストコレクションのドキュメント" をクリックします。