Linux デプロイメント用の StorageGRID ホストネットワークを設定する
ホストへの Linux インストールが完了したら、後でデプロイする StorageGRID ノードへのマッピングに適したネットワーク インターフェイスのセットを各ホストで準備するために、追加の設定が必要になる場合があります。
|
|
「Linux」とは、RHEL、Ubuntu、またはDebianのいずれかの環境を指します。サポートされているバージョンの一覧については、 "NetApp Interoperability Matrix Tool(IMT)"を参照してください。 |
-
"StorageGRID ネットワーク構築ガイドライン"をレビューしました。
-
"ノードコンテナ移行要件"に関する情報を確認しました。
-
仮想ホストを使用している場合は、ホストネットワークを設定する前にMACアドレスのクローン作成に関する考慮事項と推奨事項をお読みください。
|
|
VMをホストとして使用する場合は、仮想ネットワークアダプタとしてVMXNET 3を選択する必要があります。VMware E1000ネットワークアダプタは、特定のLinuxディストリビューションにデプロイされたStorageGRIDコンテナで接続の問題を引き起こしています。 |
グリッドノードは、グリッドネットワークにアクセスできる必要があり、オプションで管理者ネットワークおよびクライアントネットワークにもアクセスできる必要があります。このアクセス権限は、ホストの物理インターフェースを各グリッドノードの仮想インターフェースに関連付けるマッピングを作成することによって付与されます。ホストインターフェースを作成する際は、すべてのホストへの展開を容易にし、移行を可能にするために、分かりやすい名前を使用してください。
ホストと1つまたは複数のノード間で、同じインターフェースを共有できます。例えば、ホストへのアクセスとノードの管理ネットワークへのアクセスに同じインターフェースを使用することで、ホストとノードのメンテナンスを容易にすることができます。ホストと個々のノード間で同じインターフェースを共有することは可能ですが、すべてのノードは異なるIPアドレスを持つ必要があります。IPアドレスは、ノード間、またはホストと任意のノード間で共有することはできません。
同じホストネットワークインターフェイスを使用して、ホスト上のすべての StorageGRID ノードにグリッドネットワークインターフェイスを提供することも、ノードごとに異なるホストネットワークインターフェイスを使用することも、その中間的な方法をとることもできます。ただし、通常は、単一のノードに対してグリッドネットワークと管理ネットワークの両方のインターフェイスとして同じホストネットワークインターフェイスを使用したり、あるノードのグリッドネットワークインターフェイスと別のノードのクライアントネットワークインターフェイスとして同じホストネットワークインターフェイスを使用したりすることはありません。
このタスクは様々な方法で完了できます。例えば、ホストが仮想マシンで、各ホストに1つまたは2つの StorageGRID ノードをデプロイする場合は、ハイパーバイザーで適切な数のネットワークインターフェイスを作成し、1対1のマッピングを使用できます。本番環境で複数のノードをベアメタルホスト上にデプロイする場合は、Linux ネットワークスタックの VLAN および LACP のサポートを活用して、耐障害性と帯域幅共有を実現できます。以下のセクションでは、これら2つの例について詳細なアプローチを説明します。これらの例のいずれかを必ず使用する必要はありません。ご自身のニーズに合った方法であれば、どのような方法でも使用できます。
|
|
ボンドデバイスやブリッジデバイスをコンテナのネットワークインターフェースとして直接使用しないでください。コンテナ名前空間内でボンドデバイスおよびブリッジデバイスとともに MACVLAN を使用する際のカーネルの問題により、ノードが起動できなくなる可能性があります。代わりに、VLAN や仮想イーサネット(veth)ペアなどの非ボンドデバイスを使用してください。ノード設定ファイルで、このデバイスをネットワークインターフェースとして指定してください。 |
MACアドレスのクローン作成に関する考慮事項と推奨事項
MACアドレスのクローン作成を行うと、コンテナはホストのMACアドレスを使用し、ホストは指定したアドレス、またはランダムに生成されたアドレスのMACアドレスを使用するようになります。プロミスキャスモードのネットワーク設定を避けるためには、MACアドレスのクローニングを使用する必要があります。
MACクローニングを有効にする
特定の環境においては、MACアドレスのクローニングによってセキュリティを強化できます。これは、管理ネットワーク、グリッドネットワーク、およびクライアントネットワークにそれぞれ専用の仮想NICを使用できるためです。コンテナにホスト上の専用NICのMACアドレスを使用させることで、プロミスキャスモードのネットワーク構成を使用する必要がなくなります。
|
|
MACアドレスのクローン作成は、仮想サーバー環境での使用を想定しており、すべての物理アプライアンス構成で正常に動作するとは限りません。 |
|
|
MACクローニング対象のインターフェースがビジー状態であるためにノードが起動しない場合は、ノードを起動する前にリンクを「ダウン」に設定する必要があるかもしれません。さらに、仮想環境によっては、リンクが確立されている間、ネットワークインターフェース上でのMACクローニングが防止される可能性もあります。インターフェースがビジー状態のためノードがMACアドレスを設定できず起動できない場合、ノードを起動する前にリンクを「ダウン」に設定することで問題が解決する可能性があります。 |
MACアドレスのクローン作成はデフォルトでは無効になっており、ノード構成キーで設定する必要があります。StorageGRID のインストール時に有効にする必要があります。
各ネットワークには1つのキーがあります。
-
ADMIN_NETWORK_TARGET_TYPE_INTERFACE_CLONE_MAC -
GRID_NETWORK_TARGET_TYPE_INTERFACE_CLONE_MAC -
CLIENT_NETWORK_TARGET_TYPE_INTERFACE_CLONE_MAC
キーを「true」に設定すると、コンテナはホストのNICのMACアドレスを使用するようになります。さらに、ホストは指定されたコンテナネットワークのMACアドレスを使用します。デフォルトでは、コンテナアドレスはランダムに生成されたアドレスですが、 `_NETWORK_MAC`ノード構成キーを使用して設定した場合は、そのアドレスが代わりに使用されます。ホストとコンテナは常に異なるMACアドレスを持ちます。
|
|
仮想ホストで MAC クローニングを有効にし、同時にハイパーバイザーでプロミスキャスモードを有効にしない場合、ホストのインターフェースを使用した Linux ホストのネットワーク接続が機能しなくなる可能性があります。 |
MACクローニングのユースケース
MACクローニングには、考慮すべき2つのユースケースがあります。
-
MAC クローニングが有効になっていません:ノード構成ファイルの `_CLONE_MAC`キーが設定されていないか、「false」に設定されている場合、ホストはホスト NIC MAC を使用し、コンテナは StorageGRID によって生成された MAC を持ちます。ただし、 `_NETWORK_MAC`キーに MAC が指定されている場合を除きます。 `_NETWORK_MAC`キーにアドレスが設定されている場合、コンテナには `_NETWORK_MAC`キーで指定されたアドレスが設定されます。このキー構成では、プロミスキャスモードの使用が必要です。
-
MAC クローニングが有効な場合:ノード構成ファイルの `_CLONE_MAC`キーが「true」に設定されている場合、コンテナはホスト NIC の MAC を使用し、 `_NETWORK_MAC`キーに MAC が指定されていない限り、ホストは StorageGRID が生成した MAC を使用します。 `_NETWORK_MAC`キーにアドレスが設定されている場合、ホストは生成されたアドレスではなく指定されたアドレスを使用します。このキー構成では、プロミスキャスモードを使用しないでください。
|
|
MAC アドレスのクローニングを使用せず、ハイパーバイザーによって割り当てられた MAC アドレス以外の MAC アドレスに対してすべてのインターフェースがデータを受信および送信できるようにする場合は、仮想スイッチおよびポートグループレベルのセキュリティプロパティが、プロミスキャスモード、MAC アドレスの変更、および偽造送信に対して Accept に設定されていることを確認してください。仮想スイッチに設定された値はポートグループレベルの値によって上書きされる可能性があるため、両方の場所で設定が同じであることを確認してください。 |
MACクローニングを有効にするには、"ノード構成ファイルを作成するための手順"を参照してください。
MACクローン作成例
インターフェース ens256 の MAC アドレスが 11:22:33:44:55:66 であるホストと、ノード設定ファイルに以下のキーがある場合の MAC クローニングの有効化例:
-
ADMIN_NETWORK_TARGET = ens256 -
ADMIN_NETWORK_MAC = b2:9c:02:c2:27:10 -
ADMIN_NETWORK_TARGET_TYPE_INTERFACE_CLONE_MAC = true
結果:ens256 のホスト MAC は b2:9c:02:c2:27:10、管理ネットワーク MAC は 11:22:33:44:55:66 です。
例1:物理NICまたは仮想NICへの1対1マッピング
例 1 では、ホスト側の設定がほとんど、あるいはまったく必要ない、シンプルな物理インターフェースのマッピングについて説明します。

Linux オペレーティングシステムは、インストール時または起動時、あるいはインターフェースがホットアドされた際に、 `ensXYZ`インターフェースを自動的に作成します。起動後にインターフェースが自動的に起動するように設定すること以外に、特別な設定は必要ありません。どの ensXYZ がどの StorageGRID ネットワーク(Grid、Admin、または Client)に対応するかを確認しておく必要があります。これにより、設定プロセスの後半で正しいマッピングを指定できます。
図には複数の StorageGRID ノードが示されていますが、通常はこの構成をシングルノードの仮想マシンに使用します。
スイッチ1が物理スイッチである場合は、インターフェース10G1~10G3に接続されているポートをアクセスモードに設定し、適切なVLANに配置する必要があります。
例2:LACPボンディングによるVLANの伝送
例2では、ネットワークインターフェースのボンディングと、使用しているLinuxディストリビューションでのVLANインターフェースの作成について理解していることを前提としています。
例2では、単一ホスト上のすべてのノード間で利用可能なすべてのネットワーク帯域幅を共有することを可能にする、汎用的で柔軟なVLANベースの方式について説明します。この例は、特にベアメタルホストに当てはまります。
この例を理解するために、各データセンターにグリッドネットワーク、管理ネットワーク、クライアントネットワーク用の3つの独立したサブネットがあると仮定します。サブネットはそれぞれ別のVLAN(1001、1002、1003)上にあり、LACPボンディングされたトランクポート(bond0)を介してホストに提示されます。ボンド上に、bond0.1001、bond0.1002、bond0.1003という3つのVLANインターフェースを設定します。
同一ホスト上のノードネットワークに個別のVLANとサブネットが必要な場合は、ボンディング上にVLANインターフェイスを追加し、それらをホストにマッピングできます(図ではbond0.1004として示されています)。

-
StorageGRID ネットワーク接続に使用するすべての物理ネットワークインターフェイスを単一の LACP ボンドに集約します。
すべてのホストで同じ名前をボンドに使用します。たとえば、
bond0。 -
このボンドを関連付けられた「物理デバイス」として使用する VLAN インターフェイスを、標準の VLAN インターフェイスの命名規則 `physdev-name.VLAN ID`を使用して作成します。
手順1と手順2を実行するには、ネットワークリンクのもう一方の端を接続するエッジ スイッチに適切な設定が必要となることに注意してください。エッジ スイッチポートもLACPポートチャネルに集約し、トランクとして設定して、必要なすべてのVLANを通過できるようにする必要があります。
このホストごとのネットワーク構成方式に対応した、インターフェース構成ファイルのサンプルが提供されています。