4.10. マネージドクラスター間の ApplicationSet ベースのアプリケーションフェイルオーバー
フェイルオーバーとは、プライマリークラスターに障害が発生した場合に、アプリケーションをプライマリークラスターからセカンダリークラスターに移行するプロセスです。フェイルオーバーにより、アプリケーションは最小限の中断でセカンダリークラスター上で実行できるようになりますが、情報に基づいてフェイルオーバーを決定すると、気づかない間に、プライマリークラスターからセカンダリークラスターへのレプリケーションの障害が発生した場合にデータが完全に失われるなど、悪影響が生じる可能性があります。最後にレプリケーションが成功してからかなりの時間が経過した場合は、障害が発生したプライマリーが回復するまで待つことを推奨します。
LastGroupSyncTime は、アプリケーションに関連付けられたすべての PVC に対して最後に成功したレプリケーションが発生してからの時間を反映するため、重要なメトリクスです。本質的には、プライマリークラスターとセカンダリークラスター間の同期の正常性を測定します。したがって、あるクラスターから別のクラスターへのフェイルオーバーを開始する前に、このメトリックを確認し、LastGroupSyncTime が、過去の妥当な時間内にある場合にのみフェイルオーバーを開始します。
フェイルオーバー中に、フェイルオーバーされるクラスター上の Ceph RBD ミラーデプロイメントがスケールダウンされ、ストレージプロビジョニングとして Ceph RBD でバックされるボリュームのフェイルオーバーが正常に行われるようにします。
前提条件
- セットアップにアクティブおよびパッシブの RHACM ハブクラスターがある場合は、Red Hat Advanced Cluster Management を使用したハブのリカバリー を参照してください。
プライマリークラスターが
Ready
以外の状態にある場合は、更新に時間がかかる可能性があるため、クラスターの実際のステータスを確認してください。-
RHACM console
Infrastructure Clusters Cluster list タブに移動します。 フェイルオーバー操作を実行する前に、両方のマネージドクラスターのステータスを個別に確認してください。
ただし、フェイルオーバー先のクラスターが Ready 状態にある場合でも、フェイルオーバー操作は実行できます。
-
RHACM console
ハブクラスターで次のコマンドを実行して、
lastGroupSyncTime
が現在時刻と比較して許容可能なデータ損失ウィンドウ内にあるかどうかを確認します。$ oc get drpc -o yaml -A | grep lastGroupSyncTime
出力例:
[...] lastGroupSyncTime: "2023-07-10T12:40:10Z"
手順
- ハブクラスターで、Applications に移動します。
- アプリケーション行の最後にある Actions メニューをクリックして、使用可能なアクションのリストを表示します。
- Failover application をクリックします。
- フェイルオーバーアプリケーション モーダルが表示されたら、表示された詳細が正しいことを確認し、フェイルオーバーの 準備状況 のステータスを確認します。ステータスが Ready で緑色のチェックマークが付いている場合は、ターゲットクラスターでフェイルオーバーを開始する準備ができていることを示しています。
- Initiate をクリックします。busybox リソースがターゲットクラスターに作成されました。
- モーダルウィンドウを閉じ、Applications ページの Data policy 列を使用してステータスを追跡します。
アプリケーションのアクティビティーステータスが FailedOver と表示されていることを確認します。
-
Applications
Overview タブに移動します。 - Data policy 列で、ポリシーを適用したアプリケーションの policy リンクをクリックします。
- Data policy ポップオーバーで、1 つ以上のポリシー名と、アプリケーションで使用されているポリシーに関連付けられた進行中のアクティビティーが表示されていることを確認します。
-
Applications