ノードコンテナの移行要件
ノード移行機能を使用すると、ホスト間でノードを手動で移動できます。通常、両方のホストが同じ物理データセンターにあります。
ノード移行を使用すると、グリッドの運用を中断せずに物理ホストのメンテナンスを実行できます。物理ホストをオフラインにする前に、すべてのStorageGRID ノードを一度に1つずつ別のホストに移動します。ノードを 1 つずつ移行するため、それぞれのダウンタイムはごくわずかであり、グリッドサービスの運用や可用性には影響しません。
StorageGRID のノード移行機能を使用する場合は、いくつかの追加の要件を満たす必要があります。
-
単一の物理データセンターのホスト間で一貫したネットワークインターフェイス名を使用する必要があります
-
StorageGRID のメタデータとオブジェクトのリポジトリボリューム用に、単一の物理データセンターのすべてのホストからアクセスできる共有ストレージを用意する必要があります。たとえば、 NetApp E シリーズストレージアレイなどを使用できます。
仮想ホストを使用していて、基盤となるハイパーバイザーレイヤでVMの移行がサポートされている場合は、StorageGRID のノード移行機能の代わりにこの機能を使用できます。その場合、これらの追加要件は無視してかまいません。
移行またはハイパーバイザーのメンテナンスを実行する前に、ノードを正常にシャットダウンしてください。の手順を参照してください"グリッドノードをシャットダウンしています"。
VMware のライブマイグレーションはサポートされていません
VMware VMでベアメタルインストールを実行する場合、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ストレージノード用のブロックデバイスマッピングの1つのソリューションを示しています。これらのホストではDMマルチパスを使用しており、でaliasフィールドを使用し `/etc/multipath.conf`て、すべてのホストで使用可能な一貫性のあるわかりやすい名前をブロックデバイスに提供しています。