4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerHA SystemMirror for i でPowerVS のGRSを構成してみた

Last updated at Posted at 2025-01-28

0. はじめに

PowerVS(Power Virtual Server)でGRS(Global Replication Service)が提供されるようになりましたが、今回はIBM iのPowerHA SystemMirror for i (以降PowerHA)の機能を使ってIBM i上でのGRSを使ったIASPの複製による災害対策環境を構成してみました。
PowerHAとGRSを組み合わせて利用することにより、PowerVS上のIBM iでIASPのボリュームレベルの非同期の複製を行うことができます。
今回の検証環境は以下のとおりです。
検証環境
プライマリーサイトはSYD05、バックアップサイトがSYD04という想定です。

参考資料
Configuring PowerHA with Global Replication Services (7.5)

1. 前提条件

PowerHAを利用するので、インスタンスを作成するときには必ずソフトウェア・ライセンスとしてIBM i PowerHAをチェックすることを忘れないでください。
GRSの複製の構成を行う前に、IBM iでのクラスターの構成を行う必要があります。クラスターの構成については、以下の記事が参考になると思います。

PowerVSでPowerHA SystemMirror for i 地理的ミラーリングを構成してみました

PowerHA SystemMirror for i マルチターゲット地理的ミラーリングを構成してみた

また、PowerVSの認証でiam.cloud.ibm.comへの接続が必要になりますので、IBM iインスタンスからIBM Cloudのパブリック・ネットワークのDNSである9.9.9.9への疎通ができることをあらかじめ確認しておいてください。私はなぜかpingが通らず、IBM i側での経路情報の調整で少し手間取りました。

この資料ではクラスターの作成およびノードの追加とデバイス・ドメインへの追加がすでにできていることとします。そしてGRSに関わる部分から説明していきたいと思います。

2. PowerHAの構成

クラスター資源グループの構成

ここからPowerHAの構成を行っていきます。この時点でのクラスター構成をWRKCLUコマンドで確認すると以下のようになっています。
WRKCLU

WRKCLU

またクラスター資源グループを構成するにあたって事前にIASPを作成しておきます。
CFGDEVASP
この構成にクラスター資源グループを追加していきます。WRKCLU オプション9またはCRTCRGコマンドを使用します。

CRTCRG CRG(IBMI75CRG) CRGTYPE(*DEV) 
        RCYDMN((IBMI751 *PRIMARY *LAST SYD05 *NONE) (IBMI752 *BACKUP *LAST SYD04 *NONE)) 
        CFGOBJ((IASP01 *DEVD *ONLINE)) 
        FLVMSGQ(QSYS/QSYSOPR) FLVWAITTIM(*NOMAX)   

自動フェイルオーバーの非活動化

省略時の設定では自動フェイルオーバーが設定されているので、QCST_CRG_CANCEL_FAILOVER ポリシーを設定することで自動フェイルオーバーを非活動化します。

ADDHAPCY PCY(QCST_CRG_CANCEL_FAILOVER) PCYDMN(IBMI75CRG) QUAL('SCOPE(*CRG)') VALUE('EVENT(*ALL)')

PCYDMNには対象のクラスター資源グループ名を指定します。

3. GRSの管理のためのPowerHA管理の構成

ストレージ資格情報の作成

PowerHAはPowerVS内の資源のコントロールと管理のためにPowerVS APIを使用するので、このための構成を行います。

デジタル証明書の作成

PowerHAはIBM CloudとのコミュニケーションのためにTLSを使用します。そのためデジタル証明書を利用します。
SYSTEM証明書の作成
最初にIBM iサイドでシステム証明書ストアを作成します。
ブラウザーより、http://mysystem:2001/dcm へアクセスします。
証明書ストアの作成から
SYSTEMを選択し、パスワードを指定し、作成します。
証明ストア
*SYSTEM証明書ストアは、クラスターに参加するすべてのノード上で作成してください。
・IBM Cloud証明書の取り込み
デジタル証明書マネージャーによく知られているCAを登録します。
引き続きIBM i Navigator for iのデジタル証明書マネージャーのインターフェースを使用します。
証明書ストアのオープンを選択して、*SYSTEMを選択します。パスワードを指定して証明書ストアをオープンします。
証明書の取り込みを選択します。
証明書の取り込み1

証明書の選択の画面ですべての証明書を選択して、取り込みを選択します。
証明書の取り込み2
これをすべてのノードで実行します。

APIキーの作成

APIキーでは最低以下のアクセスレベルを持つように作成してください。

・power-iaas.cloud-instance.read
・power-iaas.cloud-instance.modify

PowerHAでは、IBMクラウドユーザーに付けられたAPIキーではなく、サービスIDを使用することを推奨しています。これにより、操作がユーザーとしてではなく、サービスIDとして監査されることになります。
さらに、PowerHAのアクセスは、特定の個人を表すIDに結び付けられることがなくなります。
サービスIDの作成は以下の手順で行います。

  • IBM Cloudコンソールにアクセスして管理→アクセス(IAM)→サービスIDを選択します
  • もしサービスIDがない場合は、サービスIDを作成します
    Create Service ID
  • サービスIDを作成したらAPIキータブを選択して、APIキーを作成します
    Create API Key
  • APIキーを作成したらコピーもしくはダウンロードして保管しておきます
    Download API Key

プライマリーPowerVSワークスペースを認識するためのHA構成記述の作成

HA構成記述は、PowerVSワークスペースを表すために使用されます。ワークスペースの識別と制御に必要な情報だけでなく、認証情報(APIキー)も含まれています。
HA構成記述は、ADDHACFGDコマンドかWRKCLUコマンドのオプション11で作成します。

ADDHACFGD NAME(GRSSYD05) TYPE(*STGCTL) SUBTYPE(*PVS) PVSHOST((作成したapikey)) 

ADDHACFGD_1

同様にセカンダリーPowerVSワークスペースのためのHA構成記述を作成します。

 ADDHACFGD NAME(GRSSYD04) TYPE(*STGCTL) SUBTYPE(*PVS) PVSHOST((作成したapikey)) 

作成後、WRKCLUコマンドのオプション11で確認すると以下のような画面になります。
WRKCLU Option11

GRSSYD05の詳細をみると以下のような情報を確認することができます。
Option5

4. GRSに対応したボリュームの作成

まずはソース側のPowerVSのインスタンスへGRSボリュームの追加を行います。
IBM Cloud Console Add Volume

ボリュームの名前、層、数、サイズ、ストレージ・プールの選択を行う部分は通常のボリュームの構成と同じですが、追加でGRSの設定を行います。
"Volume Replication with GRS"にチェックを入れて構成します。

IBM Cloud Console GRS

IBM Cloud Console GRS

5. GRSの環境の作成

プライマリー・サイトのワークスペースのCRNを確認
IBM Cloud Console CRN

ワークスペースcrn.
crn:v1:bluemix:public:power-iaas:syd05:a/7cd6294fd15e40ab8df9d0bc516b8d85:bc3b21c2-e3aa-4bc3-8ba8-c2ec62181621::

プライマリー・サイトの補助ボリューム情報の取得
ワークスペースのストレージ・ボリュームから情報を取得します。
IBM Cloud Console Volume

次に行う補助ボリュームのオンボード処理のためにAuxiliary volume nameを控えておきます。

ボリュームID.
aux_volume-IBM751_IASP01_1-d66d1236-c08276244873

オンボーディング処理を実行するには、onboard auxiliary volume APIを使用し、オンボーディングしたいプライマリ・ボリュームの CRN と auxVolumeName 値を指定します。
ここからはCLIを使用して操作します。
IBM Cloud CLIの導入はこちらを参照してください。

IBM CloudへCLIでアクセスします。

% ibmcloud login --apikey @apikey.json -u xxx@yyy.com
API エンドポイント: https://cloud.ibm.com
リージョン: au-syd
認証中です...
OK

ターゲットのアカウント xxx


API エンドポイント:   https://cloud.ibm.com
Region:               au-syd
ユーザー:             xxx@yyy.com
アカウント:           xxx (7cd6294fd15e40ab8df9d0bc516b8d85) <-> 2435446
リソース・グループ:   リソース・グループがターゲットになっていません。'ibmcloud target -g RESOURCE_GROUP' を使用してください

セカンダリー・サイトのCRNを使用してプライマリー・サイトへ接続します。先ほどプライマリー・サイトのCRN情報を取得した時と同様にCRN情報を取得し、接続します。

% ibmcloud pi ws target crn:v1:bluemix:public:power-iaas:syd04:a/7cd6294fd15e40ab8df9d0bc516b8d85:5610c509-bbd0-4291-ba92-e0027f8611f0::
サービス crn:v1:bluemix:public:power-iaas:syd04:a/7cd6294fd15e40ab8df9d0bc516b8d85:5610c509-bbd0-4291-ba92-e0027f8611f0:: をターゲットにしています...

オンボーディング処理を行います。

% ibmcloud pi vol on cr -a aux_volume-IBM751_IASP01_1-d66d1236-c08276244873 -s crn:v1:bluemix:public:power-iaas:syd05:a/7cd6294fd15e40ab8df9d0bc516b8d85:bc3b21c2-e3aa-4bc3-8ba8-c2ec62181621::
アカウント xxx(ユーザー xxx@yyy.com) で、ボリューム・オンボードを作成しています ...

ID     143ff408-ece9-4805-a54f-77a6e18a69dc
説明   -

セカンダリー・サイトで状況を確認してみます。
IBM Cloud Console
複製用のボリュームが追加されていることがわかります。
セカンダリー・サイトでのオンボード処理が完了したら、ストレージボリュームをIBM iインスタンスにマッピングします。

これでPowerVS側の準備は完了しました。

6. コピー記述の追加

コピー記述はPowerHAにIASPの単一コピーの定義と管理に必要な情報になります。GRSでは、IASPが複製されるため、IASPのコピーが2つ存在します。したがって、PowerHAは2つのコピー記述を必要とします。
コピー記述に必要な情報は、IASPのコピーの場所を記述します。例えば、プライマリ(ソース)コピーのコピー記述は、以下のコマンドを使用して追加できます:

ADDPVSCPYD ASPCPY(CPYDSYD05) ASPDEV(IASP01) CRG(IBMI75CRG) SITE(SYD05) NODE(*CRG) PVSCFGD(GRSSYD05)

同様にバックアップ・コピー用のコピー記述を作成します。

ADDPVSCPYD ASPCPY(CPYDSYD04) ASPDEV(IASP01) CRG(IBMI75CRG) SITE(SYD04) NO
DE(*CRG) PVSCFGD(GRSSYD04)

7. コピー記述へのボリュームの追加

PowerHAがレプリケーションを管理・制御するために必要な情報として、IASPを表すストレージ内のボリュームに関する識別情報があり、この場合PowerHAはPowerVSのボリューム識別子(ボリュームID)を使用します。これらのボリュームIDは、プライマリーサイトとバックアップサイトの両方でコピー記述に追加する必要があります。

プライマリー(ソース)コピー記述へのボリュームの追加

ボリューム情報の追加のためにCHGPVSCPYDコマンドを使用します。プライマリーコピー記述に追加する場合は以下のように実行します。

CHGPVSCPYD ASPCPY(CPYDSYD05) ACTION(*ADDVOL)

実行すると追加するボリュームを選択する画面が次に表示されます。
CHGPVSCPYD
1を入力してF16を押してボリュームを追加します。
同様にターゲット(バックアップ)コピー記述でもターゲット・ワークスペースのボリュームを追加します。

CHGPVSCPYD ASPCPY(CPYDSYD04) ACTION(*ADDVOL)

同様にボリュームを追加します。
CHGPVSCPYD2

8. PVSセッションの開始

PowerHAのセッションは、レプリケーションの管理と制御に使用されます。この例では、以下のコマンドを使用してセッションを開始します。

STRPVSSSN SSN(GRS_SSN) TYPE(*GLOBALMIR) CRG(IBMI75CRG)

PVSセッションの表示

PowerHAによって管理されているGRSは以下のようにPVSセッションの表示コマンドによって表示・管理することができます。

DSPPVSSSN SSN(GRS_SSN)

この画面では、IASPの活動状況、レプリケーションの進捗に加えてどちらがプライマリーとして活動しているかなどの情報を得ることができます。
DSPPVSSSN

現在はノードIBMI751がソース、ノードIBMI752がターゲットになっていることがわかります。またコピーの状況も100%になっており、同期が取られていることがわかります。

ソース、ターゲットの切り替え

それではPowerHAの機能を使ってソースとターゲットを切り替えてみましょう。切り替えにはCHGCRGPRIコマンドかWRKCLU→9.クラスター資源グループの処理→Option3 1次の変更で切り替えることができます。

CHGCRGPRI CRG(IBMI75CRG) 

切り替え実行中の画面です。経過時間がカウントアップされるのがいいですね。画面中のユーザーHAADMINはPowerHA管理用に作成したユーザーです。システム提供のものではありません。
CHGCRGPRI
コマンドが完了すると完了したことを示すメッセージが表示されます。

> CHGCRGPRI CRG(IBMI75CRG)                                                
  クラスターIBMI75CLU内でクラスター資源グループIBMI75CRGの1次ノードが変更されました。               

切り替わったノードIBMI752でDSPPVSSSNコマンドを実行してみます。

DSPPVSSSN SSN(GRS_SSN)

DSPPVSSSN

ソースノードがIBMI752、ターゲットノードがIBMI751に変わっていることがわかります。

9. まとめ

この記事では PowerVSで提供されるGRS (Global Replication Service)とPowerHAを利用して、PowerVS上でのIBM iの災害対策環境を構築する手順を解説しました。PowerHAなのでIASP化が必要になりますが、比較的容易に構成できました。IASPを構成するストレージ全体の複製を作成することができますので、どのオブジェクト/ライブラリーを複製するかなどの考慮が必要なく、運用も比較的簡単なソリューションだと思います。PowerVS上のIBM iの災害対策の選択肢の1つとして検討してみてはいかがでしょうか?

4
1
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?