Hitachi

インナレプリカ機能 HiRDB Staticizer Option Version 10


3.6.4 インナレプリカグループの統合

オンライン業務中,レプリカデータベースを使った運用の必要がなくなり,現在のレプリカRDエリアのデータで業務を運用する場合,RDエリアを統合できます。統合とは,レプリカRDエリアとオリジナルRDエリアのうち,残すRDエリアへ削除するRDエリアの構成情報(定義)をコピーし,不要になったRDエリアの定義,世代番号などを削除し,インナレプリカグループ内のRDエリアを一つにまとめることを指します。統合によって,インナレプリカグループは解消され,インナレプリカ機能を使用する前の通常のRDエリアの状態に戻ります。統合後のRDエリア名は,オリジナルRDエリアの名称に戻ります。

インナレプリカグループの統合は,インナレプリカグループ内にレプリカRDエリアが一つだけの状態のときに実行できます。複数のレプリカRDエリアが存在するインナレプリカグループを統合する場合には,不要なレプリカRDエリアを削除し,残すレプリカRDエリアを一つだけにした状態で,インナレプリカグループの統合をします。

次の図に示す,二つのレプリカRDエリアが存在するオリジナルRDエリアRD01とRD02のインナレプリカグループを世代番号2のレプリカRDエリアに統合する例の場合,まず,不要な世代番号1のレプリカRDエリアを削除し,世代番号2のレプリカRDエリアを残した状態にしてからインナレプリカグループを統合します。統合すると,統合後のRDエリア名は,オリジナルRDエリアのRD01とRD02になります。

図3‒7 インナレプリカグループの統合例

[図データ]

前述の図に示すインナレプリカグループの統合は,次の手順で実施します。

1.ボリュームの二重化の解除

2.統合するインナレプリカグループ内のすべてのRDエリアの閉塞かつクローズ

3.不要な世代のレプリカRDエリアの定義の削除

4.インナレプリカグループの統合

5.不要なHiRDBファイルシステム領域の世代番号の削除
  1. オリジナルRDエリアの閉塞解除およびオープン

  2. HiRDBファイルシステム領域の世代番号の削除

6.バックアップファイルの取得

7.統合先RDエリアへのグローバルバッファの割り当て

以降,各操作について説明します。なお,各操作の終了後,実行結果が正しいかどうかを確認することをお勧めします。各操作で使用するコマンドの実行結果の確認方法については,マニュアル「HiRDB コマンドリファレンス」を参照してください。

〈この項の構成〉

(1) ボリュームの二重化の解除

解除方法については,ご使用のミラーリング機能のマニュアル,または取扱説明書を参照してください。

日立ディスクアレイシステムの場合はペアを解除して(pairsplit -S),ボリュームをシンプレックス(SMPL)にしてください。

(2) 統合するインナレプリカグループ内のすべてのRDエリアの閉塞かつクローズ

インナレプリカグループ内のすべてのRDエリアをpdholdコマンドで閉塞かつクローズ状態にします。pdholdコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdholdコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。図「インナレプリカグループの統合例」のpdholdコマンドの実行例を,次に示します。

pdholdコマンドの実行例
pdhold -r RD01,RD01_GN1,RD01_GN2,RD02,RD02_GN1,RD02_GN2 -c

閉塞かつクローズ状態にする,RD01とRD02のインナレプリカグループ内のすべてのRDエリア名を-rオプションに指定します。閉塞かつクローズ状態にするモードは,-cオプションで指定しています。

(3) 不要な世代のレプリカRDエリアの定義の削除

HiRDBのpdmodコマンドでremove rdarea文を実行して,不要な世代のレプリカRDエリアを削除します。図「インナレプリカグループの統合例」の例では,世代番号1のレプリカRDエリアの定義を削除します。図「インナレプリカグループの統合例」のremove rdarea文の指定例,およびpdmodコマンドの実行例を,次に示します。

remove rdarea文の指定例(remove rdarea文のファイル名:/usr/rm01)
// レプリカRDエリアRD01_GN1の削除指定
remove rdarea RD01_GN1;
                 // 削除するRDエリア名(レプリカRDエリア)の指定
 
// レプリカRDエリアRD02_GN1の削除指定
remove rdarea RD02_GN1;
pdmodコマンドの実行例
pdmod -a /usr/rm01

/usr/rm01ファイルに記述された上記に示すremove rdarea文を実行します。

注意
  • remove rdarea文は,ペアボリュームの状態でも,ペアボリュームが分離していても実行できます。

  • ペアボリュームが分離されている状態のときに,remove rdarea文を実行すると,RDエリアの構成情報(定義)が削除され,削除するRDエリアのHiRDBファイルも削除されます。ペアボリュームの状態のときにremove rdarea文を実行すると,RDエリアの構成情報(定義)だけを削除します。

pdmodコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdmodコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(4) インナレプリカグループの統合

HiRDBのpdmodコマンドでrecast rdarea文を実行して,インナレプリカグループを統合します。図「インナレプリカグループの統合例」の例の場合,世代番号1のレプリカRDエリアが「不要な世代のレプリカRDエリアの定義の削除」で示す操作によって削除され,レプリカRDエリアは世代番号2だけが残った状態でインナレプリカグループを統合することになります。図「インナレプリカグループの統合例」のrecast rdarea文の指定例,およびpdmodコマンドの実行例を,次に示します。

recast rdarea文の指定例(recast rdarea文のファイル名:/usr/recast01)
// RD01のインナレプリカグループ内の統合指定
recast rdarea RD01 globalbuffer gbufrp01;
       // 統合するインナレプリカグループのオリジナルRDエリア名と
       // 割り当てられていたグローバルバッファ名の指定
 
// RD02のインナレプリカグループ内の統合指定
recast rdarea RD02 globalbuffer gbufrp02;
pdmodコマンドの実行例
pdmod -a /usr/recast01

/usr/recast01ファイルに記述された上記に示すrecast rdarea文を実行します。

注意
  • recast rdarea文は,ペアボリュームの状態でも,ペアボリュームが分離していても実行できます。

  • ペアボリュームが分離されている状態のときに,recast rdarea文を実行すると,RDエリアの構成情報(定義)が削除され,削除するRDエリアのHiRDBファイルも削除されます。ペアボリュームの状態のときにrecast rdarea文を実行すると,RDエリアの構成情報(定義)だけを削除します。

  • 次回以降のHiRDB開始時には,統合後のRDエリアRD01,RD02に対してrecast rdarea文に指定したグローバルバッファを割り当てられません。そのため,HiRDBの終了後,統合後のRDエリアRD01,RD02にシステム共通定義のpdbufferオペランドでrecast rdarea文に指定したグローバルバッファを割り当ててください(「統合先RDエリアへのグローバルバッファの割り当て」参照)。

pdmodコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdmodコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。

(5) 不要なHiRDBファイルシステム領域の世代番号の削除

統合するインナレプリカグループ内のすべてのレプリカRDエリアに対する世代番号を削除します。図「インナレプリカグループの統合例」の場合は,世代番号1と2を削除します。

(a) オリジナルRDエリアの閉塞解除およびオープン

統合して残ったオリジナルRDエリアの運用を再開するために,オリジナルRDエリアの閉塞状態を解除し,オープン状態に設定します。閉塞解除およびオープン設定には,HiRDBのpdrelsコマンドを使用します。pdrelsコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdrelsコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。図「インナレプリカグループの統合例」の場合,世代番号1を削除するために,オリジナルRDエリアの閉塞状態を解除し,オープン状態にします。次に,pdrelsコマンド実行例を示します。

pdrelsコマンドの実行例
pdrels -r RD01,RD02 -o

閉塞状態を解除し,オープンするオリジナルRDエリア名を指定しています。-oオプションを指定することで,閉塞解除したRDエリアをオープン状態にします。

(b) HiRDBファイルシステム領域の世代番号の削除

HiRDBのpdmodコマンドでremove generation文を実行して,不要なHiRDBファイルシステム領域の世代番号を削除します。図「インナレプリカグループの統合例」の場合は,世代番号1と2を削除します。図「インナレプリカグループの統合例」のremove generation文の指定例,およびpdmodコマンドの実行例を,次に示します。

remove generation文の指定例(remove generation文のファイル名:/usr/rmg01)
// レプリカ用の領域/HiRDB_P/area01_GN1の世代番号1削除指定
remove generation for HiRDB file system area "/HiRDB_P/area01_GN1";
     // 削除する世代番号1のHiRDBファイルシステム領域
     // /HiRDB_P/area01_GN1を指定
 
// レプリカ用の領域/HiRDB_P/area01_GN2の世代番号2の削除指定
remove generation for HiRDB file system area "/HiRDB_P/area01_GN2";
     // 削除する世代番号2のHiRDBファイルシステム領域
     // /HiRDB_P/area01_GN2を指定
pdmodコマンドの実行例
pdmod -a /usr/rmg01

/usr/rmg01ファイルに記述された上記に示すremove generation文を実行します。

(6) バックアップファイルの取得

統合して残ったオリジナルRDエリアのバックアップファイルを取得します。統合によってRDエリアの構成が変更されたため,マスタディレクトリ用RDエリアおよびデータディクショナリ用RDエリアのバックアップファイルも取得します。バックアップファイルは,HiRDBのpdcopyコマンドで取得します。次に,図「インナレプリカグループの統合例」のpdcopyコマンドの実行例を示します。

pdcopyコマンドの実行例
pdcopy -m /hirdb/rdarea/rdmast/rdmast01
       -M r
       -b /usr/hirdb/pdcopy/backup06
       -r RDMSTR01,RDDIC01,RD01,RD02
       -p /usr/hirdb/pdcopy/list06

-mオプションには,マスタディレクトリ用RDエリアの先頭のHiRDBファイル名を指定しています。-Mオプションには,バックアップ取得モードとして,「バックアップ取得時にバックアップ取得対象のRDエリアを参照できるが,更新はできないモード(r)」を指定します。

-rオプションには,バックアップ対象のRDエリア名を指定します。ここでは,マスタディレクトリ用RDエリア,データディクショナリ用RDエリアおよび統合されて残ったオリジナルRDエリアのバックアップの取得を指定します。

バックアップ先のファイル名は,-bオプションに指定します。-pオプションには,pdcopyコマンドの処理結果リストの出力先を指定しています。

pdcopyコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdcopyコマンドについては,マニュアル「HiRDB コマンドリファレンス」を参照してください。

バックアップの取得方法については,マニュアル「HiRDB システム運用ガイド」を参照してください。

また,pdcopyコマンドの実行前に,pdlogswap -d sys -wコマンドを実行してシステムログファイルをスワップしてください。

(7) 統合先RDエリアへのグローバルバッファの割り当て

統合したRDエリアには,再起動時,統合前のオリジナルRDエリアで使用されていたグローバルバッファが割り当てられます。統合先のレプリカRDエリアのページサイズが統合元オリジナルRDエリアより大きい場合は,グローバルバッファのサイズを見直す必要があります。これをしないと,次回のHiRDB開始以降,統合したRDエリアには統合前のグローバルバッファが割り当てられてしまいます。グローバルバッファの割り当ては,HiRDBのシステム共通定義(pdsys)ファイル内に,オペランド「pdbuffer」で指定します。システム共通定義(pdsys)の変更は,HiRDB管理者が,HiRDBの停止中に実施します。次に,図「インナレプリカグループの統合例」のオペランドの指定例を示します。

変更するオペランドの指定例
pdbuffer -a gbufrp01 -r RD01 -n 50
pdbuffer -a gbufrp02 -r RD02 -n 100

統合先のRDエリアRD01にグローバルバッファgbufrp01を,統合先のRDエリアRD02にグローバルバッファgbufrp02を割り当てます。

(8) 統合後の注意事項

統合前にレプリカRDエリアのバックアップファイルを取得していた場合,そのバックアップファイルは,統合されたRDエリア(オリジナルRDエリア)の回復には使用できません。