パッと手軽にPure Storageの特長を掴みたい。
そんなあなたのために、Youtubeで「5分で理解(わか)る、FlashArray!」動画シリーズを公開中です。ぜひこちらも合わせてご覧ください!
==========以下本編==========
こんにちは、SB C&S 中田です。
実践!FlashArrayシリーズでは、FlashArrayの実際の操作イメージを持てるよう、GUIのスクリーンショットを交えつつ操作ポイントを解説します。
より基礎的な内容については「【まずはここから】ゼロからわかるPure Storage」および入門!FlashArrayシリーズをご覧いただけると幸いです。また、弊社にて実施しているハンズオントレーニングにご参加いただければ、GUIでの操作を実際に体感することができます。ご興味あればこちらにもご参加いただけますと幸いです。(ハンズオントレーニングは不定期開催のためセミナー一覧にない場合もございます。ご容赦ください。)
さて、実践シリーズ第6回である今回はActiveClusterについてです。以下の順でご紹介します。
1. 構成イメージ
2. Array間の接続
3. ActiveClusterの設定
4. ActiveClusterによる保護状態の確認
5. Preferred Arrayの設定と動作の確認
6. 障害時の動作の確認
今回の内容では、実践編第1回にて書かせていただいたGUIへの接続方法および各種項目の説明を前提として記載します。また本記事内では「Storage項目内のVolumesを開く」といった操作を説明する際に「[Storage] > [Volumes]」と表現します。
1. 構成イメージ
双方向同期レプリケーションである、ActiveClusterの構成イメージは以下の通りです。
![1.png](/engineer-voice/blog/assets_c/2022/02/f4bb06f4d4548717f400373e84cd3cf9288c939d-thumb-675x562-30307.png)
ポッド(Pod)とは、ActiveCluster(またはActiveDR)を使って2つのアレイ間でレプリケーションされるボリューム群を格納した管理単位です。ActiveClusterでは2つのFlashArray間で1つのPodとその中のVolumeが共有されるイメージとなります。また、双方向の同期でありソースやターゲットといった区別がないため、今回はそれぞれを「FlashArray1」「FlashArray2」と記載します。今回、FlashArray1上のVolumeとHost設定はあらかじめ作成/接続済み、FlashArray2上のHost設定は作成済みとなっています。
また、上記図内のMediatorはスプリッドブレイン時のデータ不整合の防止のための役割を果たします。Pure Storageではクラウドサービス「Pure1」上にMediatorを設けており、利用者がMediatorを構築する必要がないことも大きな特徴です。今回はこのPure1上のMediatorを利用し構築を行います。(インターネット接続不可の環境のために、利用者がMediatorを構築することも可能です。)
1. Array間の接続
ActiveDRを使用する前に、2つのFlashArrayを接続しておく必要があります。
FlashArray2のWeb GUIに接続します。
[Storage] > [Array]と操作後、メイン領域内のArray Connections一覧にて、「︙」をクリックし、「Get Connection Key」を選択します。
![1.png](/engineer-voice/blog/assets_c/2022/02/c718d389fd4a1447a39b98e55e005b3d1af8bbf1-thumb-1227x210-30004.png)
ポップアップが表示されるので、「Copy」をクリックします。右上の「×」をクリックしポップアップを閉じます。
![1-2.png](/engineer-voice/blog/assets_c/2022/02/49f205a11ff8e1b82825e82a1771879983756eef-thumb-1270x397-30008.png)
FlashArray1のWeb GUIに接続します。
[Storage] > [Array]と操作後、メイン領域内のArray Connections一覧にて、右側の「+」をクリックします。表示されたポップアップに、以下の情報を入力します。
Management Address : 対向(ここではFlashArray1)の管理IP もしくはそのFQDN
Type : Sync Replication を選択
Connection Key : 先程コピーした文字列
Replication Transport : レプリケーションに使用しているネットワークがEthernet or FCに合わせ選択
Replication Address : NATを利用している場合はレプリケーションポートのアドレス情報を入力
![2.png](/engineer-voice/blog/assets_c/2022/02/8ca289959e879f8e0126bf7262dfd8622fd0ff51-thumb-1247x560-30327.png)
正常に接続されれば、Array Connections一覧にてStatus列に「connected」と表示されます。
2. ActiveClusterの設定
FlashArray1のWeb GUIに接続します。
[Storage] > [Pods]と操作後、メイン領域内のPods一覧にて「+」をクリックします。表示されたポップアップに、任意のPod名を入力します。
![4.png](/engineer-voice/blog/assets_c/2022/02/3053ad54acc7f9c6e8691261711c9402ab73aa93-thumb-1508x600-30014.png)
Pods一覧にて「作成したPod名」をクリックします。
レプリケーション対象となるVolumeをPodsに追加します。これは、新しいボリュームを作成するか、既存のボリュームをPodに移動させることで行えます。今回はすでにボリュームが作成されているため、そのボリュームをポッドに追加します。
Podの設定画面にて「Volumes」一覧の右側の「︙」をクリックし、「Move In...」を選択します。ポップアップにて対象となるVolumeを選択し、「Move」をクリックします。
![5.png](/engineer-voice/blog/assets_c/2022/02/cf5c09d818379ce68ccf3e1cec276ca0d604232f-thumb-2477x1012-30046.png)
次に、どのArrayに同期するかを指定します。
Podの設定画面にてArrays一覧の「+」をクリックします。ポップアップにて、以下の情報を入力します。
Remote Array : ターゲットArrayを選択
「Add」をクリックします。
![4.png](/engineer-voice/blog/assets_c/2022/02/9991180a7faf721207fcfdad76601a2250e8cb20-thumb-1777x443-30331.png)
FlashArray2のWeb GUIに接続します。
[Storage] > [Pods] と操作後、メイン領域内のPods一覧にて、共有されているPodを確認することができます。ここでMediator列が「purestorage」と表示されているのは、Pure1上のMediatorを利用していることを示しています。
![5.png](/engineer-voice/blog/assets_c/2022/02/761fc81dd97668f165dcbcdd8d5e72932dd77838-thumb-1283x312-30317.png)
また、[Storage] > [Volume]にて、同期されたVolumeが作成されていることも確認できます。
![6.png](/engineer-voice/blog/assets_c/2022/02/a4b1656f275970a62803af0312d5acab83b492da-thumb-1641x345-30319.png)
続いて、FlashArray2とHostの接続を行います。
上記Volumes一覧にて同期されたVolumeをクリックします。
Connected Hosts一覧にて「︙」をクリックし、「Connect...」を選択します。ターゲット環境の接続対象ホスト(本検証ではソース環境と共通)を選択し「Connect」をクリックします。
![7.png](/engineer-voice/blog/assets_c/2022/02/945875a7169ee4885b474f9fa95988cba7e741c2-thumb-2029x835-30333.png)
これで、ActiveClusterの設定は完了です。
3. ActiveClusterによる保護状態の確認
負荷をかけた際のReadとWriteを各Arrayで確認します。今回は、Host上からテスト用の負荷をかけています。
左の項目一覧から[Dashboard]を開き、Array Performance一覧にて「IOPS」を確認すると、以下のようにRead(水色のグラフ)およびMirrored Write(MW / 紫色のグラフ)がそれぞれFlashArray間でほぼ同値になることが確認できます。なおMirrored Writeは、Hostからの書き込みと対向Arrayからの書き込みの合計を示す数値です。
![8.png](/engineer-voice/blog/assets_c/2022/02/350b707daa254341019df104d0fca764adcb7fa0-thumb-2256x689-30325.png)
このように、デフォルト設定では同期されたFlashArray間で負荷が均等に分散されます。
4. Preferred Array設定による保護状態の変化
環境に応じて「Preffered Array」と呼ばれる設定を入れることで、ホストからの負荷をFlashArray間で優先順位に沿って偏らせることも可能です。
FlashArray1のWeb GUIに接続します。
[Storage] > [Hosts]と操作後、メイン領域内のHosts一覧にて、ActiveClusterの保護対象となっているVolumeに接続しているHostをクリックします。
メイン領域内のDitails一覧右の「︙」をクリックし「Add Preferred Arrays...」を選択します。IOPSを優先させるFlashArray(ここではFlashArray2)を選択し、「Add」をクリックします。
![9.png](/engineer-voice/blog/assets_c/2022/02/802f28e5d21f2c2e6c9f58a0ca1c9f3a01ea6b7b-thumb-1985x575-30335.png)
FlashArray2のWeb GUIに接続し、同様にHost設定を開き、Preferred Arrayを設定します。
その後、左の項目一覧から[Dashboard]を開きArray Performance一覧にて「IOPS」を確認すると、以下のようにRead(水色のグラフ)がPreferred Array設定を入れたArray(ここではFlashArray2)にReadが集中していることがわかります。なおMirrored Writeは、Hostからの書き込みと対向Arrayからの書き込みの合計を示す数値であり、Hostからの書き込みの増減の分対向Arrayからの書き込みが増えるため、変化はありません。
![10.png](/engineer-voice/blog/assets_c/2022/02/6226fe2212417f3092c3ca9b59a94a5945ec79c0-thumb-1704x554-30339.png)
5. 障害時の動作の確認
ActiveClusterは同期レプリケーションのため、障害時でもRTO、RPOゼロで稼働を継続可能です。今回はホストとFlashArray2の接続を切断した際の動作を確認します。なお、「4. Preferred Array設定による保護状態の変化」にてArray間の優先順位設定が入っている状態から継続して検証を実施します。
FlashArray2のWeb GUIに接続します。
[Storage] > [Volumes]と操作後、メイン領域内のVolumes一覧にて「保護対象のVolume名」をクリックします。
![11.png](/engineer-voice/blog/assets_c/2022/02/19521b280a2ba0f17e6007940e3ec33459131c73-thumb-1120x231-30341.png)
Connected Hosts一覧にて「︙」をクリックし「Disconnect...」を選択します。
![12.png](/engineer-voice/blog/assets_c/2022/02/89100a7229c580ee6c199d9fbed2e6e6a0e75510-thumb-1960x964-30343.png)
左の項目一覧から[Dashboard]を開き、Array Performance一覧にて「IOPS」を確認すると、以下のようにFlashArray2に集中していたReadがFlashArray1に集中することが確認できます。なおこの際もFlashArray間の接続は途切れていないため継続して同期は行われており、Mirrored Writeの数値に変化はありません。
![13.png](/engineer-voice/blog/assets_c/2022/02/ca92e6d37fddb66b3a31204377d0859bd947f477-thumb-2029x660-30345.png)
今回はFlashArrayにおける双方向同期レプリケーション、ActiveClusterについてお伝えしました。
次回はvSphere連携の設定と基本操作について解説します、ぜひご覧ください。