はじめに
これまでのブログでは、FlashArray のスナップショット機能をご紹介しました。今回は、そのスナップショットの運用を簡易化および自動化する機能である「保護グループ(以下、Protection Group)」について解説します。Protection Group はスナップショットの他、非同期レプリケーションの運用にも有効ですが、非同期レプリケーション機能についての詳細は、次回以降にご案内したいと思います。
Protection Group とは
Protection Group とは、関連性のある複数オブジェクトのバックアップを自動化する機能です。オブジェクトとは具体的にボリューム(LUN)のことであり、複数ボリュームを含んだ Protection Group 単位で FlashArray のスナップショットおよび非同期レプリケーションを実行できます。そして、同一 Protection Group に含まれる複数ボリュームのスナップショットは、ストレージレイヤで完全に一貫性が保たれます。
- Protection Group に設定する定義
- メンバー:ボリューム、ホスト、ホストグループのいずれかを指定
- ポリシー:スナップショットおよび非同期レプリケーションの実行スケジュールと保持期間を指定
Protection Group のメンバー
前述の通り、Protection Group のメンバーにはボリューム、ホスト、ホストグループのいずれかを指定できます。具体的には、Protection Group はボリュームに対してバックアップを実行する機能なので、メンバーにホストかホストグループを指定した場合、そのホストおよびホストグループが持つ全てのボリュームに対してスナップショット、非同期レプリケーションが実行されることになります。
- Protection Group のメンバーに関する制限事項
- あるメンバーを、複数 Protection Group のメンバーとして追加可能
- 同一 Protection Group 内で、種類が異なるメンバーの混在は不可
例:メンバーにボリュームを指定済みの Protection Group に対して、新規にホストおよびホストグループを追加できない
Protection Group の設定
それでは早速、Protection Group の設定手順を見ていきましょう。GUI、CLI のどちらでも設定は可能ですが、本ブログでは GUI の例をご紹介します。
- GUI ⇒ Storage ⇒ Protection Groups ⇒「+」アイコンを押下
- Protection Group 名を入力
- Container:ActiveCluster 構成の場合は、pod 名を選択
- 「/」はローカルアレイの意味
- 作成した Protection Group にメンバーを追加(図 4 の例ではボリュームを指定)
ここまでで GUI は図 6 のような表示になり、4 つのボリュームがメンバーに属していることがわかります。
図 6 の右側に表示されているポリシー(Snapshot ScheduleとReplication Schedule)の設定は、次の章で説明しますので、ここで一度、 Protection Group に対してスナップショットを取得してみましょう。
- Protection Group Snapshots の「+」アイコンを押下(図 6 参照) ⇒ 必要な情報を入力して Create ボタンを押下
- 「Create Snapshot」の「Optional Suffix」に、スナップショット名に追加する任意の文字列を入力
すると、<Protection Group 名>.<Optional Suffix 名>のスナップショットが作成されました。
次に、スナップショット名をクリックするとその中身を確認することができます。今回の例では、図 9 のように、Protection Group のメンバーに属する 4 つのボリュームのスナップショットが格納されていることがわかります。そして、これらの 4 つのスナップショットは完全に一貫性が保たれます。
Protection Group によって作成されたスナップショットも、ボリュームに対して実行した通常のスナップショットと全く同じものです。そのため、Protection Group スナップショット内のスナップショットは、それぞれ個別にリストアとコピーが可能です。
Protection Group のポリシー
Protection Group にメンバーを登録後、ポリシーを設定します。ポリシーとはバックアップのポリシーであり、スナップショットまたは非同期レプリケーションを実行するタイミング(スケジュール)と、その保持期間(世代管理)を示します。これにより、バックアップのスケジュールと世代管理が、完全に自動化されます。
- ポリシー:スケジュール、保持期間
- スケジュール:スナップショットの作成間隔(分、時、日)
- 保持期間:全てのスナップショットを残す期間 / 数世代のスナップショットを残す期間
図 10 に示すように、スナップショットおよび非同期レプリケーションごとに、ポリシーを設定します。
図 11 は、次のように設定したポリシーの例です。
- Create a snapshot on source every “4 hours”:4 時間に 1 回スナップショットが実行されます。
- Retain all snapshots on source for “1 day”:1 日に 6 スナップショットが作成され、その全てがアレイに保持されます。
- then retain “3” snapshots per day for “3” more days:1 日を超えたスナップショットは、1 日あたり 3 スナップショットのみ残され、3 日間保持されます。
Protection Group の活用
Protection Group は、アプリケーションを問わず有効な機能ですが、本ブログで特に覚えていただきたいのは「Oracle Database」環境の活用です。
Oracle Database 12c 以降から、一定の条件を満たせば静止点(Oracle Database をバックアップモード移行)なしに、ストレージ機能(FlashArray の場合はスナップショット)でオンラインバックアップを取得することが正式にサポートされました。
オラクル社のマニュアル「Oracle® Database バックアップおよびリカバリ・ユーザーズ・ガイド (12c リリース1(12.1)B71297-08)」の「サード・パーティのスナップショット・テクノロジを使用したバックアップの作成」項をご確認ください。
ストレージ・スナップショットの最適化を使用して、データベースをバックアップ・モードにすることなく、データベースのサード・パーティのスナップショットを取得できます。スナップショットは、この項で説明する要件に準拠する必要があります。
※「サード・パーティのスナップショット・テクノロジを使用したバックアップの作成」項より抜粋
※ 技術的には Oracle Database 12c 以前でも可能で、特に海外では多くの実績があります。
ピュア・ストレージの FlashArray は、こちらの要件に完全準拠しています。Technical Report の公開はもちろん、国内を含む大規模環境での事例がいくつもあります。
バックアップモードへの移行が必要ないということは、スナップショットの前後に必須だった BEGIN BACKUP、END BACKUP のコマンドの実行が不要ということです。つまり、スクリプトの作成や連携ツールのインストールも不要になります。これらについては、次回以降に詳細をご紹介したいと思います。それでは!