GRS ユースケース・シナリオ：ボリュームのクローンを組み合わせた運用シナリオ例

# 0. はじめに
Power Virtual Serverではデータセンター間におけるストレージボリュームの複製をハードウェアレベルで実行することができるサービスとしてGlobal Replication Service（GRS）が一部のデータセンターで利用可能となっております。
現時点で本サービスを利用可能なデータセンターの一覧、およびGRSについての詳細説明については以下のURLを参照してください。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started-GRS&locale=ja
東京（TOK04）、および大阪（OSA21）で利用可能であることが確認できます。

また、GRSを構築する手順については以下の記事も合わせて参照してみてください。
https://qiita.com/y_tama/items/08bf40d62719203e9264

ここでは、GRSのユースケースとして以下を想定、その構築手順を示すことを目的とします。

1. 1次サイトから2次サイトにGRSを利用してボリュームのレプリケーションを実施
2. レプリケーションの静止点を取る
3. クローンボリュームをPower Virtual Serverの標準機能を使って作成する
4. クローンボリュームを2次サイト上の別サーバからマウント、別サーバ上でデータを確認（後続のバックアップ処理等で利用することを想定）

---

# 1. 1次サイトから2次サイトにGRSを利用してボリュームのレプリケーションを実施

今回GRSのユースケースの構築・設定を行うにあたり、前提となるGRS構成を以下に示します。GRSの構成手順については本ドキュメントでは記載を割愛しますので、上記したURLを参照してください。今回のケースではGRSの1次サイトはWDC07、2次サイトはDAL12に作成しております。

なお、本手順で示すコマンドライン・インターフェースはすべて2次サイトのワークスペースで実行します。CLIのターゲットを2次サイトに設定するには、2次サイトのワークスペースのcrn番号を確認後、以下のコマンドを実行します。
```
% ibmcloud pi ws ls | grep DAL12
Listing workspaces under account ITZ - Showcase as user XXXXX@XXXXX...
crn:v1:bluemix:public:power-iaas:dal12:a/7cd6294fd15e40ab8df9d0bc516b8d85:b0172ca2-c820-4561-b967-c26f405c6616::      b0172ca2-c820-4561-b967-c26f405c6616   PowerVS 3N7 DAL12

% ibmcloud pi ws target crn:v1:bluemix:public:power-iaas:dal12:a/7cd6294fd15e40ab8df9d0bc516b8d85:b0172ca2-c820-4561-b967-c26f405c6616::
Targeting service crn:v1:bluemix:public:power-iaas:dal12:a/7cd6294fd15e40ab8df9d0bc516b8d85:b0172ca2-c820-4561-b967-c26f405c6616::...
```

**1次サイト**

WDC07にワークスペースを作成、2次サイトであるDAL12との間でGRSを構築済み。

**2次サイト**

2次サイトのWorkspace情報となります。
```
% ibmcloud pi ws ls
Listing workspaces under account ITZ - Showcase as user XXXXX@XXXXX...
CRN                                                                                                                   ID                                     Name
crn:v1:bluemix:public:power-iaas:dal12:a/7cd6294fd15e40ab8df9d0bc516b8d85:b0172ca2-c820-4561-b967-c26f405c6616::      b0172ca2-c820-4561-b967-c26f405c6616   PowerVS 3N7 DAL12　
```

ワークスペース上で利用可能なインスタンス情報となります。
```	
% ibmcloud pi ins ls
Listing instances under account ITZ - Showcase as user XXXXX@XXXXX...
ID                                     Name                  Path
6eaad438-4252-44ec-a68b-5aff51d05d94   XX_XXX_dal12_2        /pcloud/v1/cloud-instances/d66a175422074c32b068ed637ac21c56/pvm-instances/6eaad438-4252-44ec-a68b-5aff51d05d94
d7c60435-2112-48f3-a8d4-992d66cb8f14   XX_XXX_dal12          /pcloud/v1/cloud-instances/d66a175422074c32b068ed637ac21c56/pvm-instances/d7c60435-2112-48f3-a8d4-992d66cb8f14
```

GRSで利用されているボリューム情報となります。
```
% ibmcloud pi vol ls
Listing volumes under account ITZ - Showcase as user XXXXX@XXXXX...
ID                                     Name                                                      Address
08b95ce1-de7b-4dff-9783-f86f02e41199   XX_XXX_dal12_-6eaad438-00016651-boot-0                    /pcloud/v1/cloud-instances/b0172ca2-c820-4561-b967-c26f405c6616/volumes/08b95ce1-de7b-4dff-9783-f86f02e41199
1783a027-92a7-44e7-ada5-3e3e0701d1f9   aux_volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd70773761      /pcloud/v1/cloud-instances/b0172ca2-c820-4561-b967-c26f405c6616/volumes/1783a027-92a7-44e7-ada5-3e3e0701d1f9
ea2e0d34-5ac4-4261-9205-8c25d5b2494f   aux_volume-XX-vol-grs-wdc06-6d857362-b51070773761         /pcloud/v1/cloud-instances/b0172ca2-c820-4561-b967-c26f405c6616/volumes/ea2e0d34-5ac4-4261-9205-8c25d5b2494f
7b16a3e5-d323-4f88-aa5e-2f63e83b26d8   XX_XXX_dal12-d7c60435-00015da8-boot-0                     /pcloud/v1/cloud-instances/b0172ca2-c820-4561-b967-c26f405c6616/volumes/7b16a3e5-d323-4f88-aa5e-2f63e83b26d8
```

GRSにより定義されるボリュームグループ情報となります。
```
% ibmcloud pi vg ls                                                 
Listing volume groups under account ITZ - Showcase as user XXXXX@XXXXX...
ID                                     Name              Consistency Group Name   Replication Status   Status      Status Description
844caab1-2efb-413d-9f16-e5e93ed11c71   rccg-50c6-2fd0e   rccg-50c6-2fd0e          enabled              available   -
```

GRSによる1次サイトー2次サイト間のレプリケーションの状況となります。
```
% ibmcloud pi vg rcr 844caab1-2efb-413d-9f16-e5e93ed11c71
Getting remote copy information for volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 under account ITZ - Showcase as user XXXXX@XXXXX...
Name     Auxiliary Volume Name                                  Consistency Group Name   Master Volume Name                         Remote Copy ID   State                Copy Type   Cycling 	Mode   Freeze Time                Primary Role   Progress
rcrel3   aux_volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd70773761   rccg-50c6-2fd0e          volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd   54               consistent_copying   global      multi          	2024-05-29T06:24:46.000Z   master         99
```
---
# 2. レプリケーションの静止点を取得

レプリケーションされているボリュームのある特定時点の断面を取得するためにレプリケーションを一時的に停止します。レプリケーションの停止はVolume Groupの停止で行います。2次サイトのボリューム（補助ボリューム）にアクセスできるようにするため、`--allow-read-access`オプションを付けてVolume Groupに対して`stop`コマンドを実行します。

```
% ibmcloud pi vg act 844caab1-2efb-413d-9f16-e5e93ed11c71 -a -o stop
Performing stop action on volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 under account ITZ - Showcase as user XXXXX@XXXXX...
OK
Stop request on volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 has been accepted.
```
レプリケーションを停止することにより、静止点が停止直前のFreeze Timeとなります。レプリケーションを一時的に停止した状態のRemote Copy Relationshipの状況は以下となります。"state"が"idling"に変更となったことが確認できます。
```
% ibmcloud pi vg rcr 844caab1-2efb-413d-9f16-e5e93ed11c71             
Getting remote copy information for volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 under account ITZ - Showcase as user XXXXX@XXXXX...
Name     Auxiliary Volume Name                                  Consistency Group Name   Master Volume Name                         Remote Copy ID   State    Copy Type   Cycling Mode   Freeze Time                Primary Role   Progress
rcrel3   aux_volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd70773761   rccg-50c6-2fd0e          volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd   54               idling   global      multi          0001-01-01T00:00:00.000Z   -              0
```
---

# 3. クローンボリュームをPower Virtual Serverの機能を使って作成(IBM Cloud　CLIを利用)
Power Virtual Serverの機能として提供されているクローンボリュームの作成は、「Create」 → 「Start」 → 「Execute」 の3ステップで実行することになります。
クローンの作成については、以下IBM　Cloud　Docsも合わせて参照してください。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-snapshots-cloning&locale=ja


2次サイトボリュームにCloneを作成要求します（`create`）。
```
% ibmcloud pi vol clone create --name clone_grs-0530-2 -v ea2e0d34-5ac4-4261-9205-8c25d5b2494f,1783a027-92a7-44e7-ada5-3e3e0701d1f9
Creating volume clone request clone_grs-0530-2 under account ITZ - Showcase as user XXXXX@XXXXX...
                            
Volume Clone Request Name   clone_grs-0530-2
Volume Clone Request ID     56b9f2a8-f175-43ff-b67a-c627bb481455
Creation Date               2024-05-30T03:32:40.522Z
Last Update                 2024-05-30T03:32:40.522Z
Action                      prepare
Status                      preparing
Percent Completed           0
% 
% ibmcloud pi vol clone ls
Listing volume clone requests under account ITZ - Showcase as user XXXXX@XXXXX...
                         
Volume Clone Requests:   
                         Volume Clone Request Name: clone_grs-0530-2
                         Volume Clone Request ID: 56b9f2a8-f175-43ff-b67a-c627bb481455
                         Creation Date: 2024-05-30T03:32:40.522Z
                         Last Update: 2024-05-30T03:32:56.475Z
                         Action: prepare
                         Status: prepared
                         Percent Completed: 100
```                         
なお、Clone作成を要求する際に指定するボリュームIDは２つ以上が必須となりますのでご注意ください。 

クローンの状況として「prepared」となりした。


次にClone要求を開始します（`start`）。

```
% ibmcloud pi vol clone start 56b9f2a8-f175-43ff-b67a-c627bb481455
Starting a volume clone request with id 56b9f2a8-f175-43ff-b67a-c627bb481455 under account ITZ - Showcase as user XXXXX@XXXXX...
                            
Volume Clone Request Name   clone_grs-0530-2
Volume Clone Request ID     56b9f2a8-f175-43ff-b67a-c627bb481455
Creation Date               2024-05-30T03:32:40.522Z
Last Update                 2024-05-30T03:34:13.232Z
Action                      start
Status                      available
Percent Completed           100

% ibmcloud pi vol clone ls                                        
Listing volume clone requests under account ITZ - Showcase as user XXXXX@XXXXX...
                         
Volume Clone Requests:   
                         Volume Clone Request Name: clone_grs-0530-2
                         Volume Clone Request ID: 56b9f2a8-f175-43ff-b67a-c627bb481455
                         Creation Date: 2024-05-30T03:32:40.522Z
                         Last Update: 2024-05-30T03:34:13.232Z
                         Action: start
                         Status: available
                         Percent Completed: 100
```

ここではクローン元ボリュームのFlash Copy（Snapshot）が実施されます。
クローンの状況として「available」となりした。
このタイミングで静止点取得のために一時的に停止していたGRSのレプリケーションが再開可能となりますので、以下のコマンドを実行してレプリケーションを再開（start）します。
```
% ibmcloud pi vg act 844caab1-2efb-413d-9f16-e5e93ed11c71 -o start 
Performing start action on volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 under account ITZ - Showcase as user XXXXX@XXXXX...
OK
Start request on volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 has been accepted.
% 
% ibmcloud pi vg rcr 844caab1-2efb-413d-9f16-e5e93ed11c71          
Getting remote copy information for volume group 844caab1-2efb-413d-9f16-e5e93ed11c71 under account ITZ - Showcase as user XXXXX@XXXXX...
Name     Auxiliary Volume Name                                  Consistency Group Name   Master Volume Name                         Remote Copy ID   State                Copy Type   Cycling Mode   Freeze Time                Primary Role   Progress
rcrel3   aux_volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd70773761   rccg-50c6-2fd0e          volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd   54               consistent_copying   global      multi          2024-05-30T08:01:32.000Z   master         100
```


次にClone要求の実行を行います（`execute`）。

```
% ibmcloud pi vol clone execute 56b9f2a8-f175-43ff-b67a-c627bb481455 -n clone-0530-2
Executing a volume clone request with id 56b9f2a8-f175-43ff-b67a-c627bb481455 under account ITZ - Showcase as user XXXXX@XXXXX..
                            
Volume Clone Request Name   clone_grs-0530-2
Volume Clone Request ID     56b9f2a8-f175-43ff-b67a-c627bb481455
Creation Date               2024-05-30T03:32:40.522Z
Last Update                 2024-05-30T03:36:01.563Z
Action                      execute
Status                      executing
Percent Completed           0

% ibmcloud pi vol clone ls   
Listing volume clone requests under account ITZ - Showcase as user XXXXX@XXXXX...
                         
Volume Clone Requests:   
                         Volume Clone Request Name: clone_grs-0530-2
                         Volume Clone Request ID: 56b9f2a8-f175-43ff-b67a-c627bb481455
                         Creation Date: 2024-05-30T03:32:40.522Z
                         Last Update: 2024-05-30T03:36:17.268Z
                         Action: execute
                         Status: completed
                         Percent Completed: 100                        
                         
% ibmcloud pi vol clone get 56b9f2a8-f175-43ff-b67a-c627bb481455
Getting the status of a volume clone request with id 56b9f2a8-f175-43ff-b67a-c627bb481455 under account ITZ - Showcase as user XXXXX@XXXXX...
                            
Volume Clone Request Name   clone_grs-0530-2
Volume Clone Request ID     56b9f2a8-f175-43ff-b67a-c627bb481455
Volume Clone Name           clone-clone-0530-2-99792-2
Volume Clone ID             54012e29-479a-4e06-a9d0-893975101ef5
Volume Clone Source         aux_volume-XX-vol-grs-wdc06-02-7fed4fd5-79dd70773761
Volume Clone ID             1783a027-92a7-44e7-ada5-3e3e0701d1f9
Volume Clone Name           clone-clone-0530-2-99792-1
Volume Clone ID             d5a750f1-9bb8-4ddd-92fd-3505dff9c384
Volume Clone Source         aux_volume-XX-vol-grs-wdc06-6d857362-b51070773761
Volume Clone ID             ea2e0d34-5ac4-4261-9205-8c25d5b2494f
Creation Date               2024-05-30T03:32:40.522Z
Last Update                 2024-05-30T03:36:47.943Z
Action                      execute
Status                      completed
Percent Completed           100
```

クローンの状況が「executing」から「completed」となりした。

---

# 4. 作成されたクローンボリュームを2次サイト上の別サーバからマウント、別サーバ上でデータを確認（後続のバックアップ処理等での利用を想定）

2次サイト上のAIXインスタンスにクローンボリュームを接続する。
￼
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3801855/3cd7a714-dce3-7f0c-c961-5a9b11d2eed2.png)

2次サイト上のAIXインスタンスにクローンボリュームを認識させる。
```
AIX（2次サイト側）
# cfgmgr

# lsdev -Ccdisk
hdisk0 Available C4-T1-01 MPIO IBM 2076 FC Disk
hdisk1 Available C4-T1-01 MPIO IBM 2076 FC Disk
```
hdisk1が作成されたクローンボリュームです。
2次サイト上のサーバにクローンボリュームをインポートします。
```
AIX（2次サイト側）
# importvg -y datavg hdisk1

# lspv
hdisk0          00fa00d66c59c9d7                    rootvg          active      
hdisk1          00c0a531f06e0065                    datavg          active 

# lsvg -l datavg
datavg:
LV NAME             TYPE       LPs     PPs     PVs  LV STATE      MOUNT POINT
datalv              jfs2       256     256     1    closed/syncd  /data
```
クローンボリュームに含まれているファイルシステムをマウントします。
```
# mount /data
```
後続処理でバックアップの取得等、クローンボリューム上のファイルシステムのデータへのアクセスが可能となります。