レプリケーションの動作

はじめに

これまでのブログ「FlashArray スナップショットとリストア」シリーズでは、FlashArray のスナップショット機能とその運用を簡易化、自動化する保護グループ(以下、Protection Group)機能をご紹介してきました。スナップショットは、実行したアレイにローカルに保存されるバックアップです。今回は、外部のアレイにバックアップを保存する「非同期レプリケーション機能」について解説します。

FlashArray の非同期レプリケーション機能の概要

FlashArray の非同期レプリケーション機能(以下、レプリケーション)は、FlashArray 間でデータを同期する機能です。レプリケーションは、ストレージのオペレーティング環境(OS)Purity//FA の標準機能として、他の機能と同様に無償で使用できます。本ブログでは、レプリケーションによりデータを転送する FlashArray を「ソースアレイ」、それを受け取る FlashArray を「ターゲットアレイ」として解説を進めます。

FlashArray の特長のひとつである高いデータ削減率は、レプリケーションの際にも効果を発揮します。ソースアレイは、ターゲットアレイが既に持っているブロックは転送しません。また、転送対象となった差分ブロックも、圧縮と暗号化がされたままレプリケーションネットワークを通り、ターゲットアレイに格納されます。FlashArray の高いデータ削減率は、ネットワーク通信量の節約と、レプリケーション時間の削減を可能にしています。

レプリケーションの動作
図 1:レプリケーションの動作

レプリケーションの実行

1. ソースアレイでレプリケーションを実行する

ソースアレイでレプリケーションを実行すると、レプリケーション対象ボリュームのスナップショットが作成されます(ここでは snap1 とします)。

レプリケーション実行直後は、データ転送中のためターゲットアレイの snap1 は無効となっており、この時点ではリストアやコピーに使用できません。データ転送が終わってレプリケーションが完了した時点でターゲットアレイの snap1 は有効になり、リストアとコピーに使用可能となります。つまり、FlashArray のレプリケーションは、レプリケーション実行時のソースアレイのバックアップを、ターゲットアレイに「スナップショットとして残す」機能と言えます。

2. バックアップがターゲットアレイにスナップショットとして残る

レプリケーションによって作成されたスナップショットの使い方は、次のように通常のスナップショットと同様です。

  • リストア:スナップショットをソースとして、既存ボリュームを上書き
  • コピー:スナップショットをソースとして、新規ボリュームを作成
スナップショットとコピー機能との組み合わせ
図 2:スナップショットとコピー機能との組み合わせ

3. ターゲットアレイのスナップショットから新規ボリュームを作成する(コピー)

柔軟なレプリケーション構成

レプリケーション構成を構築する場合、基本的には 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
Get Connection Key
図 3:Get Connection Key
Connection Key を生成
図 4: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 を入力
「+」アイコンをクリック
図 5:「+」アイコンをクリック
Connection Key を入力
図 6:Connection Key を入力
  • アレイ A の Connected Arrays に、アレイ B が表示されていることを確認
アレイ A の Connected Arrays にアレイ B が表示されていることを確認
図 7:アレイ A の Connected Arrays にアレイ B が表示されていることを確認

3. Protection Group を作成し、レプリケーション対象のボリュームを追加する

ブログ「FlashArray の保護グループ機能」をご参照ください。

4. Protection Group のターゲットにアレイ B を追加する

  • Storage > Protection Groups > Targets > Add をクリック
Storage > Protection Groups > Targets > Add をクリック
図 8:Storage > Protection Groups > Targets > Add をクリック
  • Available Targets にアレイ B が表示されているので選択し、 > Add をクリック
Available Targets に表示されたアレイ B を選択して Add をクリック
図 9:Available Targets に表示されたアレイ B を選択して Add をクリック
  • Targets にアレイ B が表示されていることを確認
Targets に表示されたアレイ B
図 10:Targets に表示されたアレイ B

5. レプリケーションのポリシーを設定する

  • Storage > Protection Groups > Replication Schedule

ポリシーの設定に関する詳細についても、ブログ「FlashArray の保護グループ機能」を参考にしてください。今回は、以下のように設定しました。

レプリケーションのポリシーを設定
図 11:レプリケーションのポリシーを設定

5 分間隔でレプリケーションが実行され、アレイ B にスナップショットとしてバックアップが残ります。1 時間を過ぎたスナップショットは自動的に削除されるポリシー設定です。

参考情報

「FlashArray スナップショットとリストア」シリーズ

「ActiveCluster」シリーズ