CLIのコマンド体系に変更があったため、当ページの内容を新しい記事に書きました。
はじめに
Power Virtual Serverの一部のDC間で、Global Replication Service(GRS)が利用可能になっています。
https://cloud.ibm.com/docs/power-iaas?topic=power-iaas-getting-started-GRS
RedbookのAppendix Aも参考になります。
GRSは、ストレージボリュームを、ストレージの機能で別のデータセンターに非同期レプリケーションする機能です。
現在、GRSの機能はCLI/APIを介して操作できます。
GRSを構成できるデータセンターのペアはサービス側で決められており、今回は、WDC06とDAL12のペアを使います。
WDC06を1次サイト(本番サイト)、DAL12を2次サイト(DRサイト)として設定を進めます。
1次サイト側手順
ibmcloud pi service-target
コマンドで、1次サイト(WDC06)に切り替えて作業します。
① 1次サイトのボリュームを作成
--replication-enabled
オプションを付けてボリュームを作成します。
$ ibmcloud pi volume-create tmgw-vol-grs --type tier1 --size 10 --replication-enabled
Creating volume tmgw-vol-grs-2 under account XXX as user XXXXXXXXXX...
ID 8bd3fad5-7901-405f-b181-88c5e61f0332
Name tmgw-vol-grs
Profile tier1
Status creating
Size 10
Created 2023-11-16T06:56:35.000Z
Updated 0001-01-01T00:00:00.000Z
Shareable false
Bootable false
Storage Pool Tier1-Flash-1
Replication Enabled true
Auxiliary -
PVMInstanceIDs -
WWN -
$
② 1次サイト側でAIXサーバーをいつも通りGUIから作成し、①で作成したボリュームをデータ用VGとして使用します。
レプリケーションされた事を確認するためのファイルをテスト用に作っておきます。
# lspv
hdisk0 00fa00d6b56a99bb rootvg active
hdisk1 00c91120d777dfdf datavg active
# lsvg -l datavg
datavg:
LV NAME TYPE LPs PPs PVs LV STATE MOUNT POINT
datalv jfs2 246 246 1 open/syncd /data
loglv00 jfs2log 1 1 1 open/syncd N/A
# ls /data
1G.dummy lost+found test.txt
#
③ 1次サイトのボリュームを指定してボリューム・グループを作成します。
なお、ここで言う「ボリューム・グループ」は、AIXのボリューム・グループとは別の、GRSとしての用語です。
$ ic pi vgc --volume-group-name vg-tmgw-01 --member-volume-ids 8bd3fad5-7901-405f-b181-88c5e61f0332
Creating volume group vg-tmgw-01 under account XXX as user XXXXXXXXXX...
Volume group vg-tmgw-01 created.
Name ID Status Status Details
vg-tmgw-01 42e368d1-3c45-43d4-bbea-2308261fb763 available -
$
2次サイト側手順
ibmcloud pi service-target
コマンドで、2次サイト(DAL12)に切り替えて作業します。
①補助ボリューム(auxiliary volume)を作成
①-1.
1次サイトのPowerVSワークスペースのCRNを確認します。
$ ic pi sl|grep -i wdc06
Listing services under account XXX as user XXXXXXXXXX...
crn:v1:bluemix:public:power-iaas:wdc06:a/039dbe6794084c7cb514a276dd2345da:e9812314-e026-48d8-8917-313dd26fb954:: Power Systems Virtual Server-WDC06
$
①-2.
1次サイトのボリュームのプロパティをjson形式で確認し、auxVolumeName
の項目を確認します。
$ ic pi vol 8bd3fad5-7901-405f-b181-88c5e61f0332 --json
{
"auxVolumeName": "aux_volume-tmgw-vol-grs-8bd3fad5-790128730651",
"auxiliary": false,
"bootable": false,
"consistencyGroupName": "rccg-42e3-fb763",
(後略)
}
$
上記2つのパラメータを指定してオンボーディングのためのコマンドを実行します。
("オンボーディング"は独特の用語かもしれませんが、2次サイトのワークスペースに、1次サイトのボリュームを元に2次サイト用ボリュームを作成する作業という理解で良いと思います。)
$ ibmcloud pi volume-onboarding-create --source-crn crn:v1:bluemix:public:power-iaas:wdc06:a/039dbe6794084c7cb514a276dd2345da:e9812314-e026-48d8-8917-313dd26fb954:: --auxiliary-volume aux_volume-tmgw-vol-grs-8bd3fad5-790128730651
Creating volume onboarding under account XXX as user XXXXXXXXXX...
ID c0699c9d-5bd0-4401-b7bb-25b4c6b6c391
Description -
$
オンボーディング処理の一覧
$ ibmcloud pi volume-onboardings
Listing volume onboarding operations under account XXX as user XXXXXXXXXX...
ID Status Description Volumes
c0699c9d-5bd0-4401-b7bb-25b4c6b6c391 SUCCESS onboard_aux_vols_LCJRDNN8 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651
$
オンボーディング処理の詳細
$ ibmcloud pi volume-onboarding c0699c9d-5bd0-4401-b7bb-25b4c6b6c391
Getting volume onboarding c0699c9d-5bd0-4401-b7bb-25b4c6b6c391 details under account XXX as user XXXXXXXXXX...
ID c0699c9d-5bd0-4401-b7bb-25b4c6b6c391
Status SUCCESS
Description onboard_aux_vols_LCJRDNN8
Volumes: aux_volume-tmgw-vol-grs-8bd3fad5-790128730651
Creation Time 2023-11-16T09:04:21.000Z
Progress 100
Onboarded Volumes aux_volume-tmgw-vol-grs-8bd3fad5-790128730651
Failures -
$
オンボーディングの結果、2次サイト(DAL12)に補助ボリューム(auxiliary volume)が作成されました。Auxiliaryの項目がtrue
になっていることが分かります。
$ ibmcloud pi volumes
Listing volumes under account XXX as user XXXXXXXXXX...
ID Name Address
79a9d716-d9bb-4062-8cb3-243994dd9c8f aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 /pcloud/v1/cloud-instances/8d08e1b20a9f41349d226d276c079dbe/volumes/79a9d716-d9bb-4062-8cb3-243994dd9c8f
$
$ ibmcloud pi volume 79a9d716-d9bb-4062-8cb3-243994dd9c8f
Getting volume 79a9d716-d9bb-4062-8cb3-243994dd9c8f under account XXX as user XXXXXXXXXX...
ID 79a9d716-d9bb-4062-8cb3-243994dd9c8f
Name aux_volume-tmgw-vol-grs-8bd3fad5-790128730651
Profile tier1
Status in-use
Size 10
Created 2023-11-16T09:06:22.000Z
Updated 2023-11-16T12:16:26.000Z
Shareable false
Bootable false
Storage Pool Tier1-Flash-3
Replication Enabled true
Auxiliary true
PVMInstanceIDs aa450365-cf50-432a-a901-30aa0ebc2b16
WWN 60050768108182530000000000003A33
$
② 2次サイト側でAIXサーバーをいつも通りGUIから作成し、①で作成した補助ボリュームをデータ用VGとして使用します。
レプリケーション関係が確立している間は、レプリカ先のファイルシステムはマウントできません。
# mount /data
Replaying log for /dev/datalv.
mount: /dev/datalv on /data: Unformatted or incompatible media
The superblock on /dev/datalv is dirty. Run a full fsck to fix.
#
レプリケーションの進捗状況は下記コマンドのProgressの値で確認できます。
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:13:55.000Z master 89
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:13:55.000Z master 89
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:22:06.000Z master 99
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:22:06.000Z master 99
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:30:38.000Z master 99
$ ibmcloud pi volume-group-remote-copy-relationships 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting remote copy relationships for volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
Name Auxiliary Volume Name Consistency Group Name Master Volume Name Remote Copy ID State Copy Type Cycling Mode Freeze Time Primary Role Progress
rcrel97 aux_volume-tmgw-vol-grs-8bd3fad5-790128730651 rccg-42e3-fb763 volume-tmgw-vol-grs-8bd3fad5-7901 136 consistent_copying global multi 2023-11-22T03:39:09.000Z master 100
$
フェイルオーバー
1次サイト(WDC06)が被災したと想定し、2次サイト(DAL12)のボリュームにアクセスできるようにするため、--allow-read-access
オプションを付けてvolume-group-stop
コマンドを実行します。
1次サイトは被災して操作できないことを想定し、2次サイトの環境で操作します。
$ ibmcloud pi volume-group-stop 2c3ba209-314c-4256-8bb4-5fd580bc069f --allow-read-access
Performing stop action on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
OK
Stop request on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f has been accepted.
$
Replication Status
がdisabledになりました。
$ ibmcloud pi volume-group 2c3ba209-314c-4256-8bb4-5fd580bc069f
Getting volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
ID 2c3ba209-314c-4256-8bb4-5fd580bc069f
Name rccg-42e3-fb763
Consistency Group Name rccg-42e3-fb763
Replication Status disabled
Status available
Status Description -
$
2次サイトでボリュームをマウントでき、1次サイトで作成したファイルを2次サイトでも確認できます。
# mount /data
Replaying log for /dev/datalv.
# ls /data
1G.dummy lost+found test.txt
#
フェイルバック
1次サイトが復旧した想定で操作します。1次サイト(WDC06)では/dataはマウントしていない状態とします。
volume-group-start
コマンドに--source auxiliary
オプションを付けて、2次サイト -> 1次サイト の向きでレプリケーションを行い、フェイルオーバー中に2次サイトで行った変更を1次サイトに反映します。
$ ibmcloud pi volume-group-start 2c3ba209-314c-4256-8bb4-5fd580bc069f --source auxiliary
Performing start action on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
OK
Start request on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f has been accepted.
$
逆方向のレプリカが完了したら、再びvolume groupを停止します。このタイミングで、2次サイト(DAL12)の/dataはアンマウントしておきます。
$ ibmcloud pi volume-group-stop 2c3ba209-314c-4256-8bb4-5fd580bc069f --allow-read-access
Performing stop action on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
OK
Stop request on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f has been accepted.
$
今度は--source auxiliary
オプションを付けずにvolume-group-start
を実行して本来の、1次サイト -> 2次サイトの向きのレプリケーション関係にし、通常状態に戻します。
$ ibmcloud pi volume-group-start 2c3ba209-314c-4256-8bb4-5fd580bc069f
Performing start action on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f under account XXX as user XXXXXXXXXX...
OK
Start request on volume group 2c3ba209-314c-4256-8bb4-5fd580bc069f has been accepted.
$
以上