パッと手軽にPure Storageの特長を掴みたい。
そんなあなたのために、Youtubeで「5分で理解(わか)る、FlashArray!」動画シリーズを公開中です。ぜひこちらも合わせてご覧ください!
==========以下本編==========
こんにちは、SB C&S 中田です。
実践!FlashArrayシリーズでは、FlashArrayの実際の操作イメージを持てるよう、GUIのスクリーンショットを交えつつ操作ポイントを解説します。
より基礎的な内容については「【まずはここから】ゼロからわかるPure Storage」および入門!FlashArrayシリーズをご覧いただけると幸いです。また、弊社にて実施しているハンズオントレーニングにご参加いただければ、GUIでの操作を実際に体感することができます。ご興味あればこちらにもご参加いただけますと幸いです。(ハンズオントレーニングは不定期開催のためセミナー一覧にない場合もございます。ご容赦ください。)
さて、実践シリーズ第5回である今回はFlashArrayの持つ半同期レプリケーション機能であるActiveDRについてです。以下の順でご紹介します。
1. 構成イメージ
2. Array間の接続
3. Podの設定
4. ターゲットArray上のVolumeへの接続
5. フェイルオーバーテストの実行
今回の内容では、実践編第1回にて書かせていただいたGUIへの接続方法および各種項目の説明を前提として記載します。また本記事内では「Storage項目内のVolumesを開く」といった操作を説明する際に「[Storage] > [Volumes]」と表現します。
[注意事項] ※本記事では、レプリケーションデータの送信元Arrayを「ソースArray」、送信先Arrayを「ターゲットArray」と記載します。 ※ActiveDRはPurity6.0からの機能です。今回の検証はPurity6.2にて実施しています。 ※ターゲット環境は、ソース環境と揃えた環境をご用意ください。レプリケーション後の正常なリストアの妨げとなる場合があります。
|
1. 構成イメージ
ActiveDRの構成イメージは以下の通りです。図内オレンジの部分が今回の記事内容で作成および設定を行っている部分となります。
![0.png](/engineer-voice/blog/assets_c/2022/02/f4f3667193fbc8a5b253f58ba7357c21d2387e5b-thumb-3000x1125-30301.png)
今回初めて出てくるPodですが、これはActiveDR(またはActiveCluster)を使って2つのアレイ間でレプリケーションされるボリューム群を格納した管理単位です。ActiveDRではソースArray上とターゲットArray上のそれぞれに作成されたPodに設定を行うことで、Pod内のVolumeがレプリケーションされます。
またソースArray上のVolumeとHost設定はあらかじめ作成済み、接続済みとなっています。
2. Array間の接続
ActiveDRを使用する前に、2つのFlashArrayを接続しておく必要があります。
ソースArrayの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)
ターゲットArrayのWeb GUIに接続します。
[Storage] > [Array]と操作後、メイン領域内のArray Connections一覧にて、右側の「+」をクリックします。表示されたポップアップに、以下の情報を入力します。
Management Address : 対向(ここではFlashArray1)の管理IP もしくはそのFQDN
Type : Async Replication
Connection Key : 先程コピーした文字列
Replication Transport : レプリケーションに使用しているネットワークがEthernet or FCに合わせ選択
Replication Address : NATを利用している場合はレプリケーションポートのアドレス情報を入力
![2.png](/engineer-voice/blog/assets_c/2022/02/0b36c0796a92efa4ce7547050080364fcf9d5b23-thumb-2068x929-30010.png)
正常に接続されれば、Array Connections一覧にてStatus列に「connected」と表示されます。
![3.png](/engineer-voice/blog/assets_c/2022/02/9da8e06aa4ae8a343d5dfcecc463160c8631e7b9-thumb-1533x277-30012.png)
これで、Array間の接続は完了です。
3. Podの設定と確認
ソースArrayの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の設定画面にてPod Replica Links一覧の「+」をクリックします。ポップアップにて、以下の情報を入力します。
Remote Array : ターゲットArray(先ほど接続したArray)を選択
Remote Pod Name : 「Create Remote Pod」から任意のソースArray上のPod名を命名してターゲットArray上にPodを作成し、選択
![6.png](/engineer-voice/blog/assets_c/2022/02/5185fd19cddca4d31508354963ec1f5778593588-thumb-1902x918-30021.png)
「Create」をクリックします。
ターゲットArrayのWeb GUIに接続します。
[Storage] > [Pods] を開きます。先ほど「Create Remote Pod」にてターゲットArray上に作成したPodを、メイン領域内のPods一覧にて確認することができます。
![7.png](/engineer-voice/blog/assets_c/2022/02/3c4e84045b266006b28768e411a21668f675cf4f-thumb-1629x354-30023.png)
また、[Storage] > [Volume]にて、レプリケーションされたVolumeが作成されていることも確認できます。
![7-2.png](/engineer-voice/blog/assets_c/2022/02/7-2-thumb-2062x424-30025.png)
[Protection] > [ActiveDR]を開きます。メイン領域内のPod Replica Links一覧にて、先ほど構成したActiveDRの構成を確認することができます。
先ほど作成したターゲットArray上のPodが「demoted」になっていることが確認できます。「demoted」ステータスのPod内のVolumeは読み込み専用となっており、Volume上のデータにホストからアクセスすることができませんが、Volumeをホストに接続することは可能です。
これで、Podの設定と確認は完了です。
4. ターゲットArray上のVolumeへの接続
ターゲット環境のホストとターゲットArray上のレプリケーションされたVolumeを接続します。これを行うことで障害時の作業手順を短縮することができます。
ターゲットArrayのWeb GUIに接続します。
[Storage] > [Volumes] と操作後、メイン領域内のVolumes一覧にて「ターゲットArray上のPod名::レプリケーション元Volume名」をクリックします。
Connected Hosts一覧にて「︙」をクリックし、「Connect...」を選択します。ターゲット環境の接続対象ホスト(本検証ではソース環境と共通)を選択し「Connect」をクリックします。
![9.png](/engineer-voice/blog/assets_c/2022/02/f40ee539bc647216e3af94e4c7f5f053708121d0-thumb-2212x1027-30030.png)
これで、ターゲットArray上のVolumeへの接続は完了です。
5. フェイルオーバーテストの実行
ここでは、フェイルオーバー時にデータが正常に接続先を切り替えられることを確認するテストを行います。
今回はソースArray上のVolumeとホスト間の接続を切断して擬似的な障害を起こしたのち、ソースArray側のVolumeをDemote(読み取り専用)、ターゲットArrary側のPodをPromote(書き込み可能)にし、ターゲットArray上のVolumeとホスト間の接続を利用してサーバーが稼働可能な状態にします。
ソースArrayのWeb GUIに接続します。
[Storage] > [Volumes] に接続します。メイン領域内のVolumes一覧にて「今回レプリケーション対象となっているPod名::Volume名」をクリックします。
擬似的な障害として、ソースArray上のVolumeとホスト間の接続を切断します。
Connected Hosts一覧にて現在の接続を確認し、右の「×」をクリックしてHostとVolumeの接続を切断します。
![10.png](/engineer-voice/blog/assets_c/2022/02/a75567473eefc0661651586192ec505bfa334b30-thumb-1766x597-30032.png)
[Protection] > [ActiveDR]と操作後、メイン領域内のPod Replica Links一覧にてフェイルオーバーさせたいPodの横の「︙」をクリックし「Demote Local Pod...」を選択します。
![11.png](/engineer-voice/blog/assets_c/2022/02/4d309458a58cc3ba93e09e312c11682821651db8-thumb-2027x612-30034.png)
以下のポップアップが表示されます。ここではQuiesceオプション(Demote前にソースArray上のVolumeとターゲットArray上のVolume間での内容の同期)を実行するかどうかを選択できます。今回は同期を行わせるため「Quiesce」を選択します。「Demote」をクリックします。
![12.png](/engineer-voice/blog/assets_c/2022/02/89c083bfa2af65268270844aacd2cb1b5a9444cd-thumb-1375x758-30037.png)
ターゲットArrayのWeb GUIに接続します。
[Protection] > [ActiveDR]と操作後、メイン領域内のPod Replica Links一覧にて、フェイルオーバー対象のPodの状態を確認します。
フェイルオーバー対象のPodがStatus列にて「quiesced」と表示されていれば、ターゲット環境からの最終同期が正しく完了したことを確認できます。また、Local Pod(ここではターゲットArray上のPod)がdemoted状態になっていることも同時に確認できます。
フェイルオーバー対象のPodの右の「︙」をクリックします。「Promote Local Pod」を選択します。
![13.png](/engineer-voice/blog/assets_c/2022/02/3ee16664d8557190053ed2537cba4716464e8f4c-thumb-2100x541-30041.png)
確認のポップアップが表示されるため「Promoted」をクリックします。
その後、Local Podのステータスが「promoted」 に変わり、レプリケーション方向が先ほどまでと逆向きに、ステータスが「replicating」となれば、ターゲットArray上のレプリケーションされたVolumeが書き込み可能、Hostから利用可能となります。
![14.png](/engineer-voice/blog/assets_c/2022/02/08610a2ccbae8fc020b753acccfd0da88507eaef-thumb-2166x397-30043.png)
これで、フェイルオーバー時の手順は完了です。
今回はFlashArrayにおけるActiveDRについてお伝えしました。
次回はActiveClusterの設定について解説します、ぜひご覧ください。