ノードコンテナの移行要件
ノード移行機能を使用すると、ホスト間でノードを手動で移動できます。通常、両方のホストが同じ物理データセンターにあります。
ノード移行を使用すると、グリッドの運用を中断せずに物理ホストのメンテナンスを実行できます。単に、すべての StorageGRID ノードを一度に 1 つずつ別のホストに移動してから、物理ホストをオフラインにします。ノードを 1 つずつ移行するため、それぞれのダウンタイムはごくわずかであり、グリッドサービスの運用や可用性には影響しません。
StorageGRID のノード移行機能を使用する場合は、いくつかの追加の要件を満たす必要があります。
-
単一の物理データセンターのホスト間で一貫したネットワークインターフェイス名を使用する必要があります
-
StorageGRID のメタデータとオブジェクトのリポジトリボリューム用に、単一の物理データセンターのすべてのホストからアクセスできる共有ストレージを用意する必要があります。たとえば、 NetApp E シリーズストレージアレイなどを使用できます。
仮想ホストを使用する場合、基盤となるハイパーバイザーレイヤで VM の移行がサポートされていれば、その機能を StorageGRID のノード移行機能の代わりに使用することができます。その場合、これらの追加要件は無視してかまいません。
移行またはハイパーバイザーのメンテナンスを実行する前に、ノードを正常にシャットダウンしてください。の手順を参照してください グリッドノードをシャットダウンしています。
VMware のライブマイグレーションはサポートされていません
OpenStack Live Migration と VMware のライブ vMotion 原因 :仮想マシンのクロック時間を急に進むことができるため、どのタイプのグリッドノードでもサポートされていません。まれにではありますが、クロック時間が不正確だとデータや設定の更新が失われることがあります。
コールドマイグレーションはサポートされています。コールドマイグレーションでは、 StorageGRID ノードをホスト間で移行する前にシャットダウンします。の手順を参照してください グリッドノードをシャットダウンしています。
一貫したネットワークインターフェイス名
ノードを別のホストに移動するにあたり、 StorageGRID ホストサービスでは、ノードが現在の場所で使用している外部ネットワーク接続を新しい場所でもそのまま使用できるようにする必要があります。これは、ホスト内で一貫したネットワークインターフェイス名を使用することで実現されます。
たとえば、 Host1 で実行されている StorageGRID NodeA で、インターフェイスのマッピングが次のように設定されているとします。
矢印の左側は、 StorageGRID コンテナ内から見た従来のインターフェイス(グリッドネットワーク、管理ネットワーク、およびクライアントネットワークのインターフェイス)です。矢印の右側は、これらのネットワークを提供する実際のホストインターフェイスに対応しています。この 3 つの VLAN インターフェイスは、同じ物理インターフェイスボンドに従属します。
この NodeA を Host2 に移行するとします。Host2 に bond0.1001 、 bond0.1002 、および bond0.1003 という名前のインターフェイスがある場合、 Host2 では同じ名前のインターフェイスが Host1 と同じ接続を提供すると仮定して、移動が許可されます。Host2 に同じ名前のインターフェイスがなければ、移動は許可されません。
複数のホストで一貫したネットワークインターフェイス名を使用する方法は多数あります。を参照してください ホストネットワークを設定する を参照してください。
共有ストレージ
オーバーヘッドを抑えて迅速にノードを移行するために、 StorageGRID のノード移行機能ではノードのデータの物理的な移動は行いません。代わりに、エクスポート処理とインポート処理を組み合わせて、次のようにノードが移行されます。
-
「ノードのエクスポート」操作中に、 HostA で実行されているノードコンテナから永続的な状態の少量のデータが抽出され、そのノードのシステムデータボリュームにキャッシュされます。そのあと、 HostA のノードコンテナのインスタンス化が解除されます。
-
「ノードのインポート」操作中に、 HostA と同じネットワークインターフェイスマッピングおよびブロックストレージマッピングを使用する HostB 上のノードコンテナがインスタンス化されます。次に、キャッシュされた永続状態データが新しいインスタンスに挿入されます。
この処理では、ノードのすべてのシステムデータボリュームとオブジェクトストレージボリュームに HostA と HostB の両方からアクセスできないと移行は実行できません。また、 HostA と HostB で同じ LUN を参照するように、同じ名前を使用してノードにマッピングされている必要があります。
次に、 StorageGRID ストレージノードのブロックデバイスマッピング用の解決策 の例を示します。これらのホストでは DM マルチパスを使用しており、 /etc/multipath.conf で alias フィールドが使用されており、すべてのホストで使用できる一貫性のあるわかりやすいブロックデバイス名を提供しています。