4.7. ハブクラスターでの障害復旧ポリシーの作成
OpenShift Disaster Recovery Policy (DRPolicy) リソースは、障害復旧ソリューションに参加する OpenShift Container Platform クラスターと、必要なレプリケーション間隔を指定します。DRPolicy は、ユーザーが障害復旧ソリューションを必要とするアプリケーションに適用できるクラスタースコープのリソースです。
ODF MultiCluster Orchestrator Operator は、Multicluster Web コンソール を介して、各 DRPolicy および対応する DRClusters の作成を容易にします。
前提条件
- 2 つのマネージドクラスターの最小セットがあることを確認します。
手順
-
OpenShift コンソール で、All Clusters
Data Services Data policies に移動します。 - DR ポリシーの作成 をクリックします。
-
ポリシー名 を入力します。各 DRPolicy に一意の名前があることを確認します (例:
ocp4bos1-ocp4bos2-5m)。 - この新しいポリシーが関連付けられる管理対象クラスターのリストから 2 つのクラスターを選択します。
-
レプリケーションポリシー は、選択した OpenShift クラスターに基づいて自動的に
非同期(async) に設定され、同期スケジュール オプションが使用可能になります。 同期スケジュール を設定します。
重要必要なレプリケーション間隔ごとに、新しい DRPolicy を一意の名前 (例:
ocp4bos1-ocp4bos2-10m) で作成する必要があります。同じクラスターを選択できますが、同期スケジュール は、分/時間/日単位の異なるレプリケーション間隔で設定できます。最小値は 1 分です。- Create をクリックします。
DRPolicy が正常に作成されたことを確認します。作成された各 DRPolicy リソースごとに ハブクラスター でこのコマンドを実行します。<drpolicy_name> は、一意の名前に置き換えてください。
oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'$ oc get drpolicy <drpolicy_name> -o jsonpath='{.status.conditions[].reason}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Succeeded
SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow DRPolicy が作成されると、それに伴って 2 つの DRCluster リソースも作成されます。3 つのリソースすべてが検証され、ステータスが
Succeededと表示されるまで、最大 10 分かかる場合があります。注記DRPolicy では、
SchedulingInterval、ReplicationClassSelector、VolumeSnapshotClassSelector、およびDRClustersフィールドの値の編集はサポートされていません。ハブクラスター から プライマリーマネージドクラスター と セカンダリーマネージドクラスター の両方へのオブジェクトバケットアクセスを確認します。
ハブクラスター上の DRClusters の名前を取得します。
oc get drclusters
$ oc get drclustersCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
NAME AGE ocp4bos1 4m42s ocp4bos2 4m42s
NAME AGE ocp4bos1 4m42s ocp4bos2 4m42sCopy to Clipboard Copied! Toggle word wrap Toggle overflow 各マネージドクラスター上に作成された各バケットへの S3 アクセスを確認します。DRCluster 検証コマンドを使用します。<drcluster_name> は一意の名前に置き換えてください。
注記DRCluster では、
RegionおよびS3ProfileNameフィールド値の編集はサポートされていません。oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'$ oc get drcluster <drcluster_name> -o jsonpath='{.status.conditions[2].reason}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Succeeded
SucceededCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記ハブクラスター の両方の DRClusters に対してコマンドを実行してください。
OpenShift DR Cluster Operator のインストールが プライマリー管理対象クラスター および セカンダリー管理対象 クラスターで成功したことを確認します。
oc get csv,pod -n openshift-dr-system
$ oc get csv,pod -n openshift-dr-systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 各管理対象クラスターの OperatorHub に
OpenShift DR Cluster Operatorが正常にインストールされていることを確認することもできます。注記最初の実行時に、VolSync Operator が自動的にインストールされます。VolSync は、CephFs ベースの PVC を保護するために、2 つのクラスター間でボリュームのレプリケーションを設定するために使用されます。レプリケーション機能はデフォルトで有効になっています。
1 次管理対象クラスター および 2 次管理 対象クラスター上の ODF ミラーリング
デーモンの正常性の状況を確認します。oc get cephblockpool ocs-storagecluster-cephblockpool -n openshift-storage -o jsonpath='{.status.mirroringStatus.summary}{"\n"}'$ oc get cephblockpool ocs-storagecluster-cephblockpool -n openshift-storage -o jsonpath='{.status.mirroringStatus.summary}{"\n"}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
{"daemon_health":"OK","health":"OK","image_health":"OK","states":{}}{"daemon_health":"OK","health":"OK","image_health":"OK","states":{}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow Importantdaemon_healthとhealthが Warning から OK になるまで、最大 10 分かかる場合があります。最終的にステータスが OK にならない場合は、RHACM コンソールを使用して、管理対象クラスター間の Submariner 接続がまだ正常な状態であることを確認します。すべての値が OK になるまで先に進まないでください。VolSyncを使用して CephFs ベースの PVC を保護する場合は、VolSyncのコピー方法を設定します。デフォルトのコピー方法は、スナップショットを使用することです。スナップショットはソースで作成され、一時的な宛先 PVC に同期されます。同期が完了すると、この一時 PVC から別のスナップショットが作成され、宛先クラスターに保存されます。フェイルオーバー時に、アプリケーション PVC はクラスターにある最新のスナップショットから復元されます。CephFS がスナップショットから書き込み可能な PVC を作成するのには長い時間がかかるため、何千ものファイルを含む PVC を使用する場合、コピー方法としてスナップショットを使用することは望ましくない場合があります。さらに、コピー方式としてスナップショットを使用する場合、フェイルオーバーまたはレプリケーションの後に、PVC 全体を反対側に同期する必要があります。これは、ネットワークのレイテンシーが高く、PVC サイズが大きい場合、非常にコストのかかる操作です。
これらの問題を回避するために、代わりに直接コピーする方法を使用できます。この方法では、同期がアプリケーション PVC に対して直接行われ、手動復元が必要な場合に備えてスナップショットも保存されるため、推奨される方法です。
コピー方法を direct に設定します。
oc edit cm -n openshift-operators ramen-hub-operator-config
$ oc edit cm -n openshift-operators ramen-hub-operator-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下を
spec.data.ramen_manager_config.yamlセクションに追加します。volsync: destinationCopyMethod: Directvolsync: destinationCopyMethod: DirectCopy to Clipboard Copied! Toggle word wrap Toggle overflow