Actifio Go を使って VM を リカバリしてみた

Azuu Donowaki
google-cloud-jp
Published in
14 min readOct 20, 2022

これまでに、Actifio Go を使って Google Cloud や オンプレミス環境 で稼働している VM を Google Cloud 上にバックアップする方法について、前編後編に分けて紹介してきました。今回は取得したバックアップを利用して Google Cloud の Compute Engine(GCE) にリカバリする方法についてご紹介していきたいと思います。
アジェンダ

  1. Actifio Go でサポートしているリカバリ方法
  2. VM をリカバリする際の主なステップ
  3. ファイル単位のリカバリを行う方法

1. Actifio Go でサポートしているリカバリ方法

Actifio では、保護していたデータをリカバリする(保護していたデータへアクセスする)方法として以下の種類があります。

  • Mount:取得済みのスナップショットの中からユーザが指定した断面を vDisk としてコピーし、任意の VM にコピーデータをマウントしてアクセス可能にします。取得済みのバックアップデータに最も早くアクセスする方法となります。
  • Restore:取得済みスナップショットの指定した時点のイメージに本番アプリケーション データを置き換えます。大規模なデータ破損や損失が発生した際に、データベースを復元するために実行されます。データの復元が完了するのに必要な時間はデータ量に依存します。
  • Recover System:取得したスナップショットのシステム状態イメージを使用して、VM を GCE として復元します。VMWare API 経由のエージェントレスバックアップを取得したイメージを利用する場合、リストアする際に Actifio Connector(エージェント)がインストールされます。

バックアップ取得方法に応じて、利用できるリカバリ方法は異なります。ユースケース毎の対応表は以下となり、例えばオンプレミス環境の VMWare 環境のリカバリ先として GCE を利用することも可能です。

図1 ユースケース毎のバックアップ&リカバリ方法

今回は前編後編で紹介した「PD スナップショットのバックアップを用いたリカバリ」と「VM スナップショットを用いたリカバリ方法」について紹介したいと思います。

2. PDスナップショットを用いたリカバリ方法

PD スナップショットを用いたリカバリを行う際、Actifio Go では同じプロジェクト内にのみ復元が可能となります。

2–1. 事前準備
PD スナップショットを用いたリカバリを行う際、GCE をデプロイする先の NW 環境が作成されていることを確認します。今回は東京リージョンで稼働していた VM を大阪リージョンにリカバリするために大阪リージョンに事前にサブネットを作成します。

2–2. リカバリ元のスナップショットを選択する

Actifio Go 経由で AGM の画面にログインし、画面上の Backup & Recover > Recover を選択します。リカバリ対象の GCE インスタンスを選択し、Next を押します。

Snapshot の列左側にスナップショットの取得日付と復元可能な断面が表示されています。今回は前編の手順 6 で定義した 7 日分 PD スナップショットの中からリカバリを行いたいスナップショットの断面を選択します。次に Mount の右側の▼からリカバリ方法(今回は Mount )を選択します。

Mount の画面に遷移後、PD スナップショットを元に新しい GCE インスタンスを作成したいので 「MOUNT AS NEW GCP INSTANCE」を選択します。

ZONE では元の OS が稼働しているリージョン(asia-northeast1)とは異なる大阪リージョン(asia-northeast2)を選択します。
※ Google のマネージド機能を利用した PD スナップショットの取得では PD スナップショットは取得元の GCE が稼働していたリージョンの Multi-Regional Cloud Storage (GCS) にデータが保護されるので、ASIA の任意のリージョンでリカバリを行うことが可能です。

INSTANCE NAME は centos07-recovery とし、他の MACHINE TYPE や SERVICE ACCOUNTは元の GCE と同様にします。
(ここでは事前定義されたインスタンスの中から MACHINE TYPE を選択する必要があります。そのため、元の GCE がカスタムマシンタイプで合った場合、一度新規に GCE をデプロイ後に Google Cloud のコンソール側から対象の GCE のサイズを変更する必要があります。)
NETWORK INTERFACE の部分でデプロイ先の VPC やサブネット情報を選択し、任意でプライベート IP アドレスを設定後、MOUNT を選択します。

Success の画面に遷移するので、デプロイのジョブを開始したことを確認します。Success とありますが、あくまでもデプロイの開始を意味しており、GCE 自体のデプロイが環境したことを意味しないのでご留意ください。

AGM の画面 Monitor > Job の画面からジョブのステータスを確認します。デプロイが完了すると、STATUS が Succeeded になります。また、Google Cloud 側の Compute Engine 画面でも作成した centos07-recovery のインスタンスが無事に作成出来ていることを確認します。

2–3.(任意)リカバリ先の VM を Active Mount の一覧から削除

Actifio アプライアンスは centos07-recovery の GCE インスタンスを作成したため、このインスタンスをバックアップ対象としていない場合でも、Active Mount を利用しているインスタンスとして追跡します。例えば、フェイルオーバー後に VM を削除したい場合は Google Cloud のコンソール画面からも削除可能ですし、AGM からも削除可能です。
また、新しいインスタンスを作成後、利用し続ける場合は Active Mount としての追跡対象から外すことも可能です。

  • VM を削除する(Google Cloud から削除する)
  • Active Mount を利用していることを忘れる(Google Cloud に残して、Actifio 側でマウントとして追跡しない)

こちらを選択するには、App Manager > Active Mounts に遷移して操作が可能です。

3. VM スナップショットによるシステムバックアップからのリカバリ方法

3–1. 事前準備

VM スナップショットやエージェントを介したバックアップを用いて新たに GCE インスタンスを作成する場合、事前準備作業として以下を実施する必要があります。オンプレミス環境のホストにバックアップデータをリストアしたり、マウントする場合は事前準備作業は必要ありません。

  • サービスアカウントの作成
    Actifio Sky 経由で新たに GCE インスタンスを作成したり、スナップショットをマウントする際に Sky 用のサービスアカウントを用意する必要があります。今回は gce-recovery というサービスアカウントを作成し、後編で既に作成済みのカスタムロール「Actifio GO System Recovery」を付与します。最後に、作成したサービスアカウントのjsonキーを生成します。
  • サービスアカウントを Actifio の Credential に登録
    AGM にログインし、作成したサービスアカウント(gce-recovery) を使用して GCE をActifio Skyがデプロイできるように登録します。Manage > Credentials 画面右上から「ADD CLOUD CREDENTIALS」を選択し、gce-recovery のサービスアカウントとjsonキーをアップロードして登録します。
  • 利用するサービスアカウントに対するベースイメージの付与
    VMWare スナップショットを元に GCE をデプロイする際、事前に対象のプロジェクトで Windows や Linux のベースイメージが使えるようにする必要があります。ベースイメージ自体 Google Cloud の Console から確認出来るものではありませんが、事前にベースイメージへのアクセスが許可されていないと以下のようなエラーが発生します。

Actifio Now のポータル から Manage Cases > Create New Case を選択して、以下の情報を記入した上でベースイメージへのアクセスを依頼します。
— GCE へリカバリする際に使用するサービスアカウント名
— リカバリ先のプロジェクト ID
※別プロジェクトへのデータリカバリは行えないので、保護している環境が稼働しているプロジェクト ID と同じになります。

  • GCE をデプロイする先のVPC/サブネットの作成
    オンプレミス環境を保護していた場合、Actifio Go をデプロイした際に GCS しかデプロイしていない(OnVault を利用していない場合、GCS すらデプロイしていない)状態なのでリカバリする際に GCE のデプロイ先として指定する VPC と サブネットを作成します。

3–2.(Google Cloud に VM をリカバリする場合)Google Cloud 側に Actifio Sky をデプロイする

図 2 のようにオンプレミスの VMWare 環境のバックアップで長期保管ストレージとして GCS を利用することが可能と紹介しました。例えば、災害時に GCS (OnVault) で管理しているスナップショットから Google Cloud 上に新規に GCE を作成する場合、一度 Google Cloud 側に Actifio のアプライアンス(AGM / Sky)を作成する必要があります。(手順については前編ブログを参照)

図2 オンプレミス環境を Actifio を介してy利用

リカバリ用のアプライアンスをデプロイ後、Sky のポータル(https://<Sky IP Address>/appliancesetup/ )にアクセスし、後編の手順 6 に従ってデータを格納している GCS(OnVault) を登録します。
登録後、AGM の画面から Manage > Storage Pools から新たに作成したアプライアンス (例では gcve-lab-tokyo-recovery) とバックアップデータをインポートしたい OnVault (actifio-onvault-bucket) を選択肢して Import OnVault Images を押下します。

インポートしたいバックアップイメージを 保持してるアプライアンス と対象のVMを選択して IMPORT を押下します。これで、新たに追加した Sky アプライアンスがオンプレの Sky アプライアンスで取得したデータを参照したり復元したりできるようになります。

3–3. リカバリ元のスナップショットを選択

PD スナップショットからのリカバリ手順と同様に AGM にログイン後、Backup & Recover > Recover を選択して リカバリを行う VM を選択します。Snapshot の列左側にバックアップ断面の日付とSnapshot Pool と OnVault から復元可能な断面が表示されているので、リカバリを行いたいスナップショットの断面を選択します。次に Mount の右側の▼からリカバリ方法(今回は Recover System)を選択します。

今回はオンプレミス環境の VM のバックアップデータを用いて新たに東京リージョン(asia-northeast1)を作成してみます。プロジェクト、リージョン等を選択し、INSTANCE NAME が識別できるように名前に「recovery」を追加します。MACHINE TYPE については元の VM サイズに基づいて最適なインスタンス種類(Best Fit)を選んでくれるのでこちらを利用します。PD スナップショットからのリカバリと同様に GCE インスタンスをデプロイする先の VPC と Subnet を選択肢、手動でIPアドレスを設定する場合はこちらも入力して最後に Submit ボタンを押下します。

デプロイジョブが開始され、Monitor > Jobs からジョブのステータスが Succeeded になることを確認します。また、Google Cloud Console 側からも先程 INSTANCE NAME で指定した GCE インスタンスが作成されていることを確認します。

3–4.(任意)リカバリ先のVMを Active Mount の一覧から削除

PD スナップショットを用いたリカバリと同様に Actifio Go を介して作成した GCE は Actifio Go でバックアップ取得対象としていない場合でも、Active Mount を利用しているインスタンスとして追跡します。新しい GCE インスタンスを作成後、利用し続ける場合は Active Mount としての追跡対象から外すことも可能です。

  • VM を削除する(Google Cloud から削除する)
  • Active Mount を利用していることを忘れる(Google Cloud に残して、Actifio 側でマウントとして追跡しない)

こちらを選択するには、App Manager > Active Mounts に遷移して操作が可能です。

4. (補足)ファイル単位のリカバリを行う方法

PD Snapshot や VMWare バックアップのデータを復元する際、Actifio では任意のディレクトリやファイルのみを指定したリカバリを行うことは出来ません。そのため、特定のファイルをリカバリを行いたい場合で新規に VM をデプロイする必要がない場合、一度別のサーバなどにバックアップデータをマウントして手動でファイルをコピーする必要があります。

バックアップデータのマウントについては Backup & Recover > Recover の画面から対象サーバと復元したい断面を選択し、復元方法として Mount を選択します。 そして、マウント先の VM を指定してジョブを実行することで可能となります。
※Mount Drive や Mount Point を指定する場合、マウント先の VM にエージェントがインストールされている必要があります。

まとめ

本記事では、Actifio によるオンプレミス環境の VMWare VM や GCE インスタンスのバックアップデータを元に新規の GCE インスタンスにフェイルオーバーを行う方法を紹介しました。GCE インスタンスを新規で作成する以外にも、1 章や 4 章で紹介した方法でも必要データを復元することも可能ですので、状況に合わせて最適なリカバリ方法を選択してみていただけると幸いです!

--

--