※ 本記事は、Suraj Rameshによる”OCI Full Stack Disaster Recovery Non-moving Compute Enhancements“を翻訳したものです。

2024年1月23日


Full Stack Disaster Recovery (Full Stack DR)の非移動コンピュート・インスタンス・タイプに対する2つの新しい機能拡張を発表できることを嬉しく思います。

  • ファイル・システムのアンマウント/マウント、および非移動コンピュート・インスタンスのブロック・ストレージ・ボリュームのデタッチ/アタッチをすぐに使用できるサポート
  • 非移動コンピュート・インスタンスを停止および起動するための即時利用可能なサポート

OCI Full Stack Disaster Recovery (Full Stack DR)は、インフラストラクチャ、データベース、アプリケーション中間層など、フルスタック・クラウド・アプリケーションのすべてのレイヤーに、完全に自動化された包括的なディザスタ・リカバリ・オーケストレーション・ソリューションを提供します。Full Stack DRを使用すると、OCIリージョンまたは同じリージョン内の可用性ドメイン間でフル・スタック・アプリケーションをリカバリできます。

Computeをメンバー・タイプとしてDR保護グループに追加する場合、コンピュートを移動インスタンスまたは非移動インスタンスとして追加するオプションがあります

Full Stack DRは、同じ保護グループ内の非移動コンピュートおよび移動コンピュートに対してリカバリを編成できるため、Full Stack DR計画を作成するプロセスである様々なプロセスをrequired.Throughoutとして、両方のタイプを柔軟に含めることができます。アプリケーションがSLAに関して異なる要件を持つことが多く、選択したリージョンまたは可用性ドメイン間の距離とともに選択肢に影響を与える可能性があるため、プリファレンスに応じてこれらのインスタンスを制御するためのオプションが用意されています。コンピュート・インスタンス・タイプの2つのバリエーションの違いを大まかに理解してみましょう:

  • 移動インスタンス – 仮想マシンは、プライマリDR保護グループからスタンバイDR保護グループに移動します。このコンピュート・インスタンス・タイプは、コールドVM DRやパイロット・ライトなどのDR戦略にとって理想的であると日常的に考えられています。
  • 非移動インスタンス – 仮想マシンは、プライマリDR保護グループからスタンバイDR保護グループに移動しません。かわりに、仮想マシンはプライマリ・リージョンとスタンバイ・リージョンですでに使用可能です。このコンピュート・インスタンス・タイプは、ウォーム・スタンバイ・アクティブ/パッシブなどのDR戦略に最適です。

OCI Block StorageとのFull Stack DR統合

コールド・スタンバイまたはパイロット・ライト・トポロジの場合、Full Stack DRには、プライマリDR保護グループのメンバーとして、移動コンピュート・インスタンスおよびボリューム・グループを使用する機能がすでに使用されています。DR計画の実行中、Full Stack DRはコンピュート・インスタンスを起動し、レプリケートされたブロック・ボリュームをDRリージョン内のそれらのコンピュート・インスタンスに自動的にマウントできます。

ウォーム・スタンバイまたはアクティブ/パッシブ・トポロジでは、この新機能に先立って、管理者はユーザー定義の計画グループおよびスクリプトを使用して、DRリージョン内でレプリケートされたクロスリージョン・ブロック・ボリュームを処理し、ブロック・ボリュームをコンピュート・インスタンスにアンマウント/マウントおよびデタッチ/アタッチできます。この新しい拡張機能を利用して、ユーザーは、DR保護グループに非移動インスタンスを追加する際にデタッチまたはアタッチする必要があるブロック・ボリュームを指定できます。フル・スタックDRでは、DR計画の作成時に計画グループおよびステップが自動的に生成されます。

 

non-moving compute features

非移動コンピュート・インスタンスの停止および起動

アクティブ/パッシブDRトポロジでは、コンピュート・インスタンスがDRリージョンで実行されているため、管理者はコンピュート・インスタンスに関連付けられたコストを支払う必要があります。通常、管理者はDRリージョン内のコンピュート・インスタンスを停止してコストを節約します。この新機能を使用すると、管理者はオプションで、フェイルオーバー/スイッチオーバー・イベント中にインスタンスの起動または停止を選択できます。Full Stack DRでは、DR計画作成の一環として、計画グループおよびオーケストレーション・ステップが自動的に生成されます。

Non-moving-restart-compute

非移動コンピュート機能の詳細の確認

前提条件として、ブロック・ボリュームおよびボリューム・グループを使用して、非移動コンピュート・インスタンスをプロビジョニングおよび構成します。次に、大まかなステップを示します:

  • プライマリ・リージョンとDRリージョンの両方に仮想マシンを作成します。これらの仮想マシンは、Full Stack DR構成で移動しないインスタンスとして使用するように指定されています。
  • ブロック・ボリュームを作成して、プライマリ・リージョンの非移動コンピュート・インスタンスにアタッチします。
  • ボリューム・アタッチメント・タイプに応じて、ブロック・ボリュームをプライマリ・リージョンの非移動コンピュート・インスタンスにマウントします。
  • ファイル・システムを作成し、ボリュームをプライマリ・リージョンの非移動コンピュート・インスタンスにマウントします。
  • プライマリ・リージョンの非移動コンピュート・インスタンスにアタッチされたブロック・ボリュームのクロスリージョン(プライマリからDRリージョン)ボリューム・グループを構成します。
  • プライマリ・リージョンとスタンバイ・リージョンの両方で、非移動コンピュート・インスタンスの/etc/fstab詳細を更新します

詳細は、OCI ComputeOCI Block Storageのドキュメントを参照してください。

DRトポロジに応じて、DR保護グループ(プライマリおよびスタンバイ)にメンバーを追加し、スタンバイDR保護グループからDR計画を作成します。Full Stack DRには、DR計画のタイプ(スイッチオーバー、フェイルオーバーおよびDRドリル)および非移動コンピュート・インスタンスの追加中に選択したオプションに基づいて、組込みの計画グループおよび再起動のデタッチ/アタッチ/コンピュートを行うステップが用意されています。以下では、非移動コンピュート・インスタンスに関して、Full Stack DRサービスによって組込み計画グループおよびステップが生成されます。

  • プライマリ・リージョンの非移動コンピュート・インスタンスからファイル・システムをアンマウントします。
  • プライマリ・リージョンの非移動コンピュート・インスタンスからブロック・ボリュームをデタッチします。
  • プライマリ・リージョンで非移動コンピュート・インスタンスを停止する(フェイルオーバー/スイッチオーバーでインスタンスを停止するチェック・ボックスが選択されている場合)
  • プライマリ・リージョンからスタンバイ・リージョンへのボリューム・グループのスイッチオーバー
  • スタンバイ・リージョンで非移動コンピュート・インスタンスを起動します(フェイルオーバー/スイッチオーバーでインスタンスを停止するためにチェック・ボックスが選択されている場合)
  • プライマリ・リージョンの非移動コンピュート・インスタンスにブロック・ボリュームをアタッチします。
  • スタンバイ・リージョンの非移動コンピュート・インスタンスにファイル・システムをマウントします。

ブロック・ボリュームのデタッチ/アタッチ、およびコンピュート・インスタンスの停止/起動のステップのサマリーは、すべてのDR計画タイプのグループおよびステップを計画します。

DR計画

プライマリ

スタンバイ

スイッチオーバー

1. ファイル・システムのアンマウントおよびブロック・ボリュームのデタッチ

2. コンピュート・インスタンスの停止

1. コンピュート・インスタンスの起動

2. ブロック・ボリュームおよびマウント・ファイル・システムのアタッチ

フェイルオーバー

NA

1. コンピュート・インスタンスの起動

2. ブロック・ボリュームおよびマウント・ファイル・システムのアタッチ

Start Drill

NA

1. コンピュート・インスタンスの起動

2. ブロック・ボリュームおよびマウント・ファイル・システムのアタッチ

Stop Drill

NA

1. ファイル・システムのアンマウントおよびブロック・ボリュームのデタッチ

2. コンピュート・インスタンスの停止

 

ステップバイステップの例

この例では、アッシュバーン(IAD)がプライマリ・リージョン、フェニックス(PHX)がDRリージョンです。ブロック・ボリュームをIADリージョン内の移動していないコンピュート・インスタンスからデタッチし、ブロック・ボリュームをPHXリージョン内の移動していないコンピュート・インスタンスにアタッチします。DR計画の実行中に移動していないコンピュート・インスタンスを停止および起動するには、チェック・ボックスを選択します。

non-moving-inst-architecture

次のリソースをIADリージョンにプロビジョニングおよび構成します:

  • IADリージョンにVM (nm-iad)、PHXリージョンにVM (nm-phx)を作成します。
  • IADリージョンのnm-iad VMと同じ可用性ドメインに、2つのブロック・ボリューム(nm-iad-bv1、nm-iad-bv2)を作成します。
  • ブロック・ボリューム(nm-iad-bv1、nm-iad-bv2)のIADリージョンに、クロス・リージョン・レプリケーション(IADからPHX)を使用するボリューム・グループ(nm-iad-vg)を作成します。
  • ブロック・ボリューム(nm-iad-bv1、nm-iad-bv2)をnm-iad VMに接続します。
  • iSCSIコマンドを使用して、ブロック・ボリューム(nm-iad-bv1、nm-iad-bv2)をnm-iad VMリージョンに接続します。
  • nm-iad VMに(/mnt/iad1、/mnt/iad2)として2つのファイル・システムを作成します
  • nm-iad VMにブロック・ボリューム(nm-iad-bv1 => /mnt/iad1およびnm-iad-bv2 => /mnt/iad2)をマウントします
  • nm-iad VMのマウント・ボリューム(nm-iad-bv1 => /mnt/iad1およびnm-iad-bv2 => /mnt/iad2)の詳細で/etc/fstabを更新します
  • コマンドを実行できるように、nm-iad VMに管理者権限を付与します。

詳細は、OCI ComputeBlock Storageのドキュメントを参照してください。

このDRトポロジのDR計画を作成します。

1.DR保護グループの作成および関連付け、非移動コンピュートおよびボリューム・グループをメンバーとして追加

  • アッシュバーン(IAD)リージョンで、DR保護グループを“nmov-iad”として作成します。
  • フェニックス(PHX)リージョンで、DR保護グループを“nmov-phx”として作成します。
  • 「nmov-iad」DR保護グループをプライマリ役割として、および「nmov-phx」DR保護グループをスタンバイ役割として関連付け
  • 「nmov-iad」DR保護グループで、ボリュームグループ「nm-iad-vg」をメンバーとして追加します。
  • 「nmov-iad」DR保護グループで、コンピュート(nm-iad)を非移動インスタンス・オプションのメンバーとして追加します。「Show advanced options」をクリックし、「Block Volumes」タブで次の詳細を指定します。「+ Another block volume mapping」ボタンを使用して、2番目のブロック・ボリュームの詳細を2つ追加します。

ブロック・ボリューム

ボリューム・アタッチメント参照インスタンス(ピア非コンピュートVM)オプション

マウント・ポイント – マウントおよびアンマウントのマウント・パスの詳細(オプション)

nm-iad-bv1

nm-phx

/mnt/iad1

nm-iad-bv2

nm-phx

/mnt/iad2

  •    必要な情報を追加した後、画面は次のようになります

   iad-nm-vm-block

  •   「settings」タブで、「Start and Stop instance on failover/switchover」チェック・ボックスを選択し、「Add」ボタンをクリックしてコンピュート・インスタンスを追加


  ​iad-nm-vm-restart

  •   “nmov-phx” DR保護グループで、非移動インスタンス・オプションでコンピュート(nm-phx)をメンバーとして追加します。「Show advanced options」をクリックし、「Block Volumes」タブで次の詳細を指定します。「+ Another block volume mapping」ボタンを使用して、2番目のブロック・ボリュームの詳細を2つ追加します。nm-phxでは、レプリケートされたブロック・ボリュームがまだないため、プライマリ・ブロック・ボリュームの詳細を指定する必要があります。Full Stack DRは、ボリューム・グループのレプリケーション・ステップの完了後にそれらのブロック・ボリュームをマップします。

ブロック・ボリューム

ボリューム・アタッチメント参照インスタンス(ピア非コンピュートVM)オプション

マウント・ポイント – マウントおよびアンマウントのマウント・パスの詳細(オプション)

nm-iad-bv1

nm-iad

/mnt/phx1

nm-iad-bv2

nm-iad

/mnt/phx2

iad-nm-vm-block

  • 「settings」タブで、「Start and Stop instance on failover/switchover」チェック・ボックスを選択し、「Add」ボタンをクリックしてコンピュート・インスタンスを追加します。

iad-nm-vm-restart

詳細は、OCI Full Stack DRのドキュメントを参照してください。

2.「nmov-iad」および「nmov-phx」DR保護グループのメンバーを検証

iad-nm-drpg-members

phx-nm-drpg-members

3.DR計画の作成ステップ

    フェニックス・リージョンの「DR保護グループ」ページにナビゲートします。

  • 「nmov-phx」DR保護グループで、「Create Plan」ボタンをクリック
  • プランの名前として「Switchover-IAD to PHX」を指定します。
  • プラン・タイプとして「Switchover」を選択します。
  • 「Create」をクリックして、スイッチオーバー計画の作成を終了します。
  • 同様に、「Failover-IAD to PHX」としてフェイルオーバー計画を作成し、「Start Drill-PHX」としてドリル計画を開始
  • 「Start Drill-PHX」計画の実行が成功しないかぎり、Full Stack DRではドリル停止計画を作成できません。

   3つのプランすべてをアクティブとして表示できるはずです

    nm-dr-plans

4.作成した「Switchover-IAD to PHX」計画を見てみましょう。

   nm-switchover-plan

     Full Stack DRでは、DR保護グループに追加したメンバーに基づいて、複数の組込み計画グループが作成されています。非移動コンピュート・インスタンスの組込み計画グループを確認したいと考えています。プランをカスタマイズし、独自のユーザー定義プラン・グループを追加するオプションがあります。ただし、この例では、このスイッチオーバー・ドリル・プランはカスタマイズしません。

  • コンピュート・インスタンスからのブロック・ボリュームのデタッチ- ファイル・システムをアンマウントし、ブロック・ボリュームをnm-iadからデタッチ
  • コンピュート・インスタンスの停止 – コンピュート・インスタンスnm-iadを停止
  • コンピュート・インスタンスの起動 – コンピュート・インスタンスnm-phxを起動
  • ブロック・ボリュームをコンピュート・インスタンスにアタッチ- レプリケートされたブロック・ボリュームをアタッチし、ファイル・システムを”nm-phx”にマウント

5.「Switchover-IAD to PHX」プランの事前チェックを実行します。

   nm-switchover-prechecks

  しばらくすると、「Switchover-IAD to PHX」事前チェック計画の実行が成功します。

nm-switchover-prechecks-executed

 6.「nm-iad」VMでブロック・ボリュームとファイル・システムを確認します。

ブロック・ボリュームnm-iad-bv1、nm-iad-bv2を使用して、マウント・ポイント/mnt/iad1および/mnt/iad2がそれぞれ存在します。どちらのマウント・ポイントにも、テストに使用されるファイル「beforeswitchoverfromIAD」があります。

 iad-nm-vm-fs

 7.「nm-phx」VMでブロック・ボリュームとファイル・システムを確認します。

予想どおり、ブロック・ボリュームはアタッチされていません。

 phx-nm-vm-fs

8. 次に、「Switchover-IAD to PHX」計画を実行し、ステータスを監視します。

    nm-switchover-execute

     しばらくすると、「Switchover-IAD to PHX」計画の実行が成功します。

     nm-switchover-executed

9.IADリージョンで、「nm-iad」ブロック・ボリュームおよびファイル・システムを確認します。

ファイル・システム/mnt/iad1および/mnt/iad2はアンマウントされ、コンピュート・インスタンスは停止されます。

   iad-nm-bv-dettach

   phx-nm-vm-stopped

10.PHXリージョンで、「nm-phx」ブロック・ボリュームおよびファイル・システムを確認します。

ブロック・ボリュームがアタッチされ、ファイル・システム/mnt/phx1および/mnt/phx2がマウントされます。どちらのファイル・システムにも、IADリージョンで作成されたファイル「beforeswitchoverfromIAD」があります。

  phx-nm-bv-attach

まとめ

Full Stack Disaster Recovery (DR))は、ブロック・ボリューム操作(アクティブ/パッシブDRトポロジにデプロイされた仮想マシン(VM)へのブロック・ストレージのアンマウント/デタッチおよびマウント/アタッチなど)を管理するための組込みサポートを提供します。さらに、非移動コンピュート・リソースの機能も含まれており、プライマリ・リージョンの仮想マシンを停止し、スタンバイ・リージョンで仮想マシンがまだ実行されていない場合は自動的に起動できます。これにより、障害発生時の円滑で効率的なリカバリ・プロセスが保証され、必要に応じて操作をスタンバイ・リージョンにシームレスに移行できます。

 その他のリソース

Full Stack Disaster Recoveryの開始に役立つ追加リソースを次に示します:

TwitterLinkedInで私と直接つながってください。