インナレプリカ機能 HiRDB Staticizer Option Version 8
ここでは,インナレプリカグループ内のRDエリアの構成変更と構成情報の複写について説明します。また,(3)では構成変更の例として,インナレプリカグループ内のRDエリアを拡張する手順について説明します。
インナレプリカグループ内のRDエリアに対して,通常のRDエリア(インナレプリカ機能を使っていないRDエリア)と同様に,次の操作ができます。
このような操作を実行すると,処理対象となったRDエリアの構成情報(定義情報)が変更されます。構成情報が変更されると,インナレプリカグループ内のRDエリア間で構成情報に違いが生じてしまいます。このままではRDエリア間で不統一になり,運用上,データの不整合が生じるおそれがあります。このため,構成変更をした場合には,変更内容をインナレプリカグループ内のすべてのRDエリアへ矛盾なくコピーする必要があります。構成情報のコピーについては,「(2) インナレプリカグループ内のRDエリアの構成情報の複写」で説明します。
インナレプリカグループ内のRDエリアの拡張や再初期化,属性変更などによってRDエリアの構成情報に変更があった場合,そのRDエリアのデータベース実体をインナレプリカ内の別のRDエリアへコピーして運用するとき,構成定義の変更を別のRDエリアへも矛盾なくコピーする必要があります。HiRDBのpdmodコマンドでdefine copy rdarea文を実行すると,RDエリアの構成情報を矛盾なくコピーできます。そのあと,分離していたボリュームをペアボリュームに戻すと,実体も矛盾なくコピーできます。
例えば,オリジナルRDエリアの容量を拡張した場合,レプリカRDエリアが独立して運用している間は,そのまま運用を続行できます。再度,オリジナルRDエリアのデータをレプリカRDエリアへコピーして運用する場合,運用する前に構成情報の変更を,レプリカRDエリアへコピーします。次の図に示す例では,オリジナルRDエリアがカレント状態で,現在運用中のRDエリアはオリジナルRDエリアだけです(レプリカRDエリアは閉塞かつクローズ状態)。ここでは,すべてのレプリカRDエリアへ構成情報をコピーします。
図3-6 インナレプリカグループ内のRDエリアの構成情報と実体の複写
前述の図に示す例の場合は次の手順で,構成情報と実体をコピーします。
なお,インナレプリカグループ内のRDエリアの拡張については,「(3) インナレプリカグループ内のRDエリアの拡張」で説明します。
図3-6のように,オリジナルRDエリアの拡張のためにHiRDBファイルを追加した場合,define copy rdarea文をpdmodコマンドで実行し,二つのレプリカRDエリアへ,拡張したオリジナルRDエリアの構成情報をコピーします。
次に,図3-6の場合のdefine copy rdarea文の指定例とpdmodコマンドの実行例を示します。
// オリジナルRDエリアの構成情報をレプリカRDエリア1へコピー define copy rdarea RD01_GN01 // コピー先のレプリカRDエリアを指定 reproduce RD01; // コピー元のオリジナルRDエリアを指定 // オリジナルRDエリアの構成情報をレプリカRDエリア2へコピー define copy rdarea RD01_GN2 // コピー先のもう一つのレプリカRDエリアを指定 reproduce RD01; // コピー元のオリジナルRDエリアを指定
pdmod -a /usr/dfcpy01
図3-6の例の場合,構成情報だけではなく,HiRDBファイルの実体を二つのレプリカRDエリアへコピーする必要があります。これは,分離していたボリュームをペアボリュームに戻すことでできます。
ここでは,インナレプリカグループ内のRDエリアの構成変更例として,オリジナルRDエリアの拡張を取り上げます。オリジナルRDエリアRD01を拡張する例を使って,拡張の手順について説明します。この例では,新たな領域(HiRDBファイルシステム領域)を作成し,そこにHiRDBファイルを追加することでオリジナルRDエリアを拡張します。新たに設ける領域は,ミラーリング機能を使って二重化したボリューム(ペアボリューム)へ割り当てます。ペアボリュームを用意することで,レプリカRDエリアも拡張します。オリジナルRDエリアの拡張は,次の手順で実施します。
以降,各操作内容について説明します。なお,各操作の終了後,実行結果が正しいかどうかを確認することをお勧めします。各操作で使用するコマンドの実行結果の確認方法については,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
// 新たに設けるHiRDBファイルシステム領域の世代番号の登録 create generation for HiRDB file system area "/HiRDB_P/area09_GN1" // 新たに設けるレプリカRDエリア用の // HiRDBファイルシステム領域HiRDB_P/area09_GN1を指定 server name bes1 // 対象とするサーバ名を指定 generation number 1 // 割り当てる世代番号:1を指定 reproduce "/HiRDB_P/area09"; // 新たに設けるオリジナルRDエリア用の // HiRDBファイルシステム領域/HiRDB_P/area09を指定 // 新たに設けるHiRDBファイルシステム領域の世代番号の登録 create generation for HiRDB file system area "/HiRDB_P/area09_GN2" // 新たに設けるレプリカRDエリア用の // HiRDBファイルシステム領域HiRDB_P/area09_GN2を指定 server name bes1 // 対象とするサーバ名を指定 generation number 2 // 割り当てる世代番号:2を指定 reproduce "/HiRDB_P/area09"; // 新たに設けるオリジナルRDエリア用の // HiRDBファイルシステム領域/HiRDB_P/area09を指定
pdmod -a /usr/exgen01
pdfmkfs -n 10 -l 10 -k DB -e 20 -i /HiRDB_P/area09
HiRDBのpdmodコマンドでexpand rdarea文を実行して,オリジナルRDエリアを拡張します。次に,expand rdarea文の指定例およびpdmodコマンドの実行例を示します。
// オリジナルRDエリアRD01の拡張指定 expand rdarea RD01 // 拡張するオリジナルRDエリアRD01を指定 file name "/HiRDB_P/area09/file09" // 追加するHiRDBファイル名を指定 initial 10000 segments; // HiRDBファイルのセグメント数を指定
pdmod -a /usr/expnd01
pdmodコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdmodコマンドについては,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
拡張したオリジナルRDエリアのバックアップファイルを取得します。拡張によってRDエリアの構成が変更されたため,マスタディレクトリ用RDエリアおよびデータディクショナリ用RDエリアのバックアップファイルも取得します。バックアップファイルは,HiRDBのpdcopyコマンドで取得します。
pdcopy -m /hirdb/rdarea/rdmast/rdmast01 -M r -b /usr/hirdb/pdcopy/backup05 -r RDMSTR01,RDDIC01,RD01 -q 0 -p /usr/hirdb/pdcopy/list05
pdcopyコマンドは,HiRDB管理者が,HiRDBの稼働中に実行します。複数のサーバマシンでHiRDBシステムを構成している場合,システムマネジャがあるサーバマシンで実行します。pdcopyコマンドについては,マニュアル「HiRDB Version 8 コマンドリファレンス」を参照してください。
RDエリアの拡張によってオリジナルRDエリアの構成情報に変更があった場合,拡張されたデータをインナレプリカグループ内のレプリカRDエリアとして使用するとき,この変更内容をレプリカRDエリアへ複写する必要があります。構成情報の複写方法については,「(2) インナレプリカグループ内のRDエリアの構成情報の複写」を参照してください。また,構成情報の変更に伴い,変更のあったRDエリアのデータもインナレプリカグループ内のオリジナルRDエリアを含むほかのRDエリアへ複写し,構成情報と矛盾しないようにします。レプリカRDエリア用の追加HiRDBファイルは(a)で生成したペアボリュームを分離することで作成できますが,構成情報はRDエリア内にも保持しているため,再度,拡張部分でない領域も含めてすべてペアボリュームをペア化し,レプリカRDエリア全体をコピーし直す必要があります。
All Rights Reserved. Copyright (C) 2006, 2016, Hitachi, Ltd.