はじめに
これまでのブログ「FlashArray スナップショットとリストア」シリーズでは、FlashArray のスナップショット機能とその運用を簡易化、自動化する保護グループ(以下、Protection Group)機能をご紹介してきました。スナップショットは、実行したアレイにローカルに保存されるバックアップです。今回は、外部のアレイにバックアップを保存する「非同期レプリケーション機能」について解説します。
FlashArray の非同期レプリケーション機能の概要
FlashArray の非同期レプリケーション機能(以下、レプリケーション)は、FlashArray 間でデータを同期する機能です。レプリケーションは、ストレージのオペレーティング環境(OS)Purity//FA の標準機能として、他の機能と同様に無償で使用できます。本ブログでは、レプリケーションによりデータを転送する FlashArray を「ソースアレイ」、それを受け取る FlashArray を「ターゲットアレイ」として解説を進めます。
FlashArray の特長のひとつである高いデータ削減率は、レプリケーションの際にも効果を発揮します。ソースアレイは、ターゲットアレイが既に持っているブロックは転送しません。また、転送対象となった差分ブロックも、圧縮と暗号化がされたままレプリケーションネットワークを通り、ターゲットアレイに格納されます。FlashArray の高いデータ削減率は、ネットワーク通信量の節約と、レプリケーション時間の削減を可能にしています。
レプリケーションの実行
1. ソースアレイでレプリケーションを実行する
ソースアレイでレプリケーションを実行すると、レプリケーション対象ボリュームのスナップショットが作成されます(ここでは snap1 とします)。
1 2 3 4 5 |
pureuser@Japan–Lab–Tokyo–FA> purepgroup snap —replicate–now —suffix snap1 iwamoto–pg–blog Name Source Created iwamoto–pg–blog.snap1 iwamoto–pg–blog 2019–01–10 14:16:39 JST |
レプリケーション実行直後は、データ転送中のためターゲットアレイの snap1 は無効となっており、この時点ではリストアやコピーに使用できません。データ転送が終わってレプリケーションが完了した時点でターゲットアレイの snap1 は有効になり、リストアとコピーに使用可能となります。つまり、FlashArray のレプリケーションは、レプリケーション実行時のソースアレイのバックアップを、ターゲットアレイに「スナップショットとして残す」機能と言えます。
2. バックアップがターゲットアレイにスナップショットとして残る
1 2 3 4 5 |
pureuser@Japan–Lab–Osk–m20> purepgroup list —snap Name Source Created Japan–Lab–Tokyo–FA:iwamoto–pg–blog.snap1 Japan–Lab–Tokyo–FA:iwamoto–pg–blog 2019–01–10 14:16:39 JST |
レプリケーションによって作成されたスナップショットの使い方は、次のように通常のスナップショットと同様です。
- リストア:スナップショットをソースとして、既存ボリュームを上書き
- コピー:スナップショットをソースとして、新規ボリュームを作成
3. ターゲットアレイのスナップショットから新規ボリュームを作成する(コピー)
1 2 3 4 5 |
pureuser@Japan–Lab–Osk–m20> purevol copy Japan–Lab–Tokyo–FA:iwamoto–pg–blog.snap2.iwamoto–vol–blog–1 iwamoto–vol–blog–1–copy Name Size Source Created Serial iwamoto–vol–blog–1–copy 1G Japan–Lab–Tokyo–FA:iwamoto–vol–blog–1 2019–01–10 14:17:38 JST F5D36DA8C3634703000120FD |
柔軟なレプリケーション構成
レプリケーション構成を構築する場合、基本的には FlashArray 間の Purity//FA バージョンで互換性があれば構成可能です。異なる世代やモデル(エントリー〜ハイエンド)のアレイ、fan-in(多:1)と fan-out(1:多)構成も可能です。本ブログでご紹介するレプリケーションは FlashArray 間を前提にしていますが、最近の Purity//FA では、レプリケーションのターゲットとして NFS 対応の他社ストレージやクラウド(現在のバージョンでは AWS S3)にも対応しています。
レプリケーションの設定
FlashArray は、レプリケーション用に 4 つの 10 GbE / 25 GbE ポート(1 アレイあたり)を標準搭載しています。これら 4 つのポートはボンディングにより束ねられ、1 つの IP アドレスを持ちます。そのため、レプリケーション使用時に追加で必要な IP アドレスは 1 つ(1 アレイあたり)です。
一例として、東京のアレイ(ソースアレイ:アレイ A)から大阪のアレイ(ターゲットアレイ:アレイ B)へのレプリケーション構成を構築する場合の、GUIを使用した手順をご紹介します。
1. アレイ B で Connection Key を生成し、他アレイからアレイ B への接続を許可する @アレイB
- Storage ⇒ Array ⇒ Connected Arrays ⇒ Get Connection Key
2. アレイ A からアレイ B を接続し、アレイ A とアレイ B を互いに認識させる @アレイ A
- Storage ⇒ Array ⇒ Connected Arrays ⇒ 「+」アイコンをクリック
- Management Address:アレイ B の管理 IP を入力
- Type(レプリケーションの種類):Async Replication を選択
- Connection Key:手順 1 で生成したアレイ B の Connection Key を入力
- アレイ A の Connected Arrays に、アレイ B が表示されていることを確認
3. Protection Group を作成し、レプリケーション対象のボリュームを追加する
ブログ「FlashArray の保護グループ機能」をご参照ください。
4. Protection Group のターゲットにアレイ B を追加する
- Storage > Protection Groups > Targets > Add をクリック
- Available Targets にアレイ B が表示されているので選択し、 > Add をクリック
- Targets にアレイ B が表示されていることを確認
5. レプリケーションのポリシーを設定する
- Storage > Protection Groups > Replication Schedule
ポリシーの設定に関する詳細についても、ブログ「FlashArray の保護グループ機能」を参考にしてください。今回は、以下のように設定しました。
5 分間隔でレプリケーションが実行され、アレイ B にスナップショットとしてバックアップが残ります。1 時間を過ぎたスナップショットは自動的に削除されるポリシー設定です。
参考情報
「FlashArray スナップショットとリストア」シリーズ
「ActiveCluster」シリーズ