26.7.12 複製ディスク機能を用いた系切り替え構成の回復方法
複製ディスクで片方のディスクに障害が発生した場合,及びマシンダウンなどによって系切り替えが発生すると,2つのディスクの整合性がとれていない状態になります。この状態を回復するために,整合性をとる方法について説明します。
ディスクの同期をとるには,pdfssyncコマンドを使用します。pdfssyncコマンドでの同期の取得には,更新可能モード(pdfssync -k upd)と参照可能モード(pdfssync -k ref)があり,同期の取得方法が異なります。ディスクの状態については,次のどちらかの方法で確認します。
-
HiRDBファイルシステム領域の状態表示コマンド(pdfstatfs -A)
-
システムログファイルに出力されているKFPI21612-Eメッセージ
待機系のディスクに障害が発生した場合,待機系を停止させます。障害回復後に,pdstartコマンドで待機系を再開始してください。
(1) 更新可能モード(pdfssync -k upd)での同期の取得
pdfssyncコマンドの更新可能モードは,HiRDBファイルシステム領域を更新するコマンド,SQLと同時実行ができるモードです。更新可能モードでの回復方法を次に示します。
(a) 更新可能モードでのHiRDBファイルシステム領域の回復方法
-
障害が発生したデバイスを使用可能な状態にします。
-
障害が発生したデバイスを,以前HiRDBファイルシステム領域を作成していたデバイスに交換する場合,シンボリックリンクを作成する前に次のコマンドで管理領域をクリアしてください。
dd if=/dev/zero of=新しいHiRDBファイルシステム領域のデバイス名 bs=4096 count=1
-
pdfssyncコマンドを更新可能モードで実行し,障害が発生したHiRDBファイルシステム領域の同期を取得してください。HiRDBファイルシステム領域が次のどれかに該当する場合は,更新可能モードで同期の取得ができません。参照可能モードで実行してください。
-
フロントエンドサーバ,バックエンドサーバ,又はディクショナリサーバが存在しないシステムマネジャのユニットのHiRDBファイルシステム領域
-
監査証跡ファイルを格納しているHiRDBファイルシステム領域
-
システムログファイルの自動拡張を適用している場合,システムログファイルを格納しているHiRDBファイルシステム領域
-
(b) 回復時の注意事項
-
更新可能モードでの回復中のHiRDBファイルシステム領域に対して,次のコマンド,ユティリティで更新しないでください。更新した場合,pdfssyncコマンドが正常に終了し,pdfstatfsコマンドで正常な状態に見えても,整合性の取れていない状態になるおそれがあります。
-
pdlogunld※
-
pdlogchg
-
pdcopy
-
pdrstr
-
pdfmkfs
-
pdloginit
-
pdlogrm
-
pdstsinit
-
pdstsrm
- 注※
-
自動ログアンロード機能を使用して,回復対象のUTL用のHiRDBファイルシステム領域にアンロードログファイルを出力している場合,pdlogatulコマンドで自動ログアンロード機能を停止してください。使用可能なシステムログファイルが不足する可能性がある場合は,pdlogunldコマンドでシステムログファイルをアンロード済み状態にしてください。
-
(2) 参照可能モード(pdfssync -k ref)での同期の取得
参照可能モードは,HiRDBファイルシステム領域を更新するコマンド,SQLと同時実行ができないモードです。そのため,HiRDBファイルシステム領域が更新されないようにする必要があります。参照可能モードでの回復方法を次に示します。
(a) システムログファイルの回復方法
システムログファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。
-
障害が発生したデバイスを使用できる状態にします。
-
障害が発生したデバイスを,以前HiRDBファイルシステム領域を作成していたデバイスに交換する場合,シンボリックリンクを作成する前に次のコマンドで管理領域をクリアしてください。
dd if=/dev/zero of=新しいHiRDBファイルシステム領域のデバイス名 bs=4096 count=1
-
障害が発生したHiRDBファイルシステム領域に現用ファイルが含まれている場合,別のHiRDBファイルシステム領域に含まれるファイルグループにスワップするまで,pdlogswap -d sysコマンドを実行します。
-
障害が発生したHiRDBファイルシステム領域に配置したすべてのファイルグループを,pdlogcls -d sysコマンドでクローズします。
-
pdlogls -d sysコマンドで状態を確認し,3.でクローズしたファイルグループが次のすべての条件を満たすまで待ちます。
-
ファイルグループのオープン状態がクローズ中
-
ファイルグループのアンロード状態がアンロード済み状態
-
HiRDB Datareplicatorによるデータ連動情報の抽出状態が抽出済み状態
-
pdlogchgコマンド又はpdlogunldコマンドで使用していない状態
-
ファイルグループのオンライン再編成上書き状態が,オンライン再編成上書き可能状態
pdlogls -d sysコマンドの結果と確認方法を次に示します。
pdlogls -d sys HOSTNAME : host1(110029) Group Type Server Gen No. Status Run ID Block No. Ex-Status logfg01 sys sds 13 oc-d--u 5afce1a5 8ba5 908c -------- logfg02 sys sds e os----u 5afce1a5 64db 6c9d -------- logfg03 sys sds f cn----u 5afce1a5 6c9e 745e -------- logfg04 sys sds 10 os----u 5afce1a5 745f 7c20 -------- logfg05 sys sds 11 os----u 5afce1a5 7c21 83e2 -------- logfg06 sys sds 12 os----u 5afce1a5 83e3 8ba4 --------
上記の結果から,logfg03が回復可能な状態であることが確認できます。下線部分の情報の詳細を次に示します。
-
ファイルグループのオープン状態(Statusの1つめ)
'c':クローズ中
-
ファイルグループのアンロード状態(Statusの3つめ)
HiRDB Datareplicator連携をしていない場合
'-':アンロード済み状態
HiRDB Datareplicator連携をしている場合
'-':アンロード済み,かつHiRDB Datareplicatorによるデータ連動情報の抽出済み状態
-
ファイルグループのHiRDBでの状態(Statusの5つめ)
'-':pdlogchg若しくはpdlogunldコマンドで使用していないか,又は回復処理で使用していない状態
-
ファイルグループのオンライン再編成上書き状態(Ex-Statusの1つめ)
'-':オンライン再編成上書き可能状態
-
-
障害が発生したHiRDBファイルシステム領域に対して,pdfssyncコマンドを実行してディスクの同期をとります。
-
3.でクローズしたファイルグループをpdlogopen -d sysコマンドでオープンします。
(b) シンクポイントダンプファイルの回復方法
シンクポイントダンプファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。
-
障害が発生したデバイスを使用できる状態にします。
-
回復対象のHiRDBファイルシステム領域に上書きできない状態のファイルグループが含まれている場合,pdlogsync -wコマンドで上書きできる状態にします。
-
回復対象のHiRDBファイルシステム領域に配置したすべてのファイルグループを,pdlogcls -d spdコマンドでクローズします。
-
回復対象のHiRDBファイルシステム領域に対して,pdfssyncコマンドを実行してディスクの同期をとります。
-
3.でクローズしたファイルグループをpdlogopen -d spdコマンドでオープンします。
(c) ステータスファイルの回復方法
ステータスファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。
-
障害が発生したデバイスを使用できる状態にします。
-
回復対象のHiRDBファイルシステム領域に現用ファイルが含まれている場合,別のHiRDBファイルシステム領域に含まれる論理ファイルにスワップするまで,pdstsswapコマンドを実行します。
-
回復対象のHiRDBファイルシステム領域に配置したすべての論理ファイルを,pdstsclsコマンドでクローズします。
-
回復対象のHiRDBファイルシステム領域に対して,pdfssyncコマンドを実行してディスクの同期をとります。
-
3.でクローズした論理ファイルをpdstsopenコマンドでオープンします。
(d) RDエリアの回復方法
RDエリアの構成ファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。
-
障害が発生したデバイスを使用できる状態にします。
-
障害が発生したディスクに配置しているすべてのRDエリアを,参照可能バックアップ閉塞状態※(pdhold -b),又はコマンド閉塞かつクローズ状態(pdhold -c)にします。
-
pdfssyncコマンドでディスクの同期をとります。
-
2.で閉塞させたRDエリアの閉塞状態を,RDエリアの閉塞解除コマンド(pdrels)で解除します。
- 注※
-
参照可能バックアップ閉塞(更新WAITモード:pdhold -b -w)にする場合,更新するSQLのトランザクションは排他待ちになります。RDエリアの回復が完了するまでの時間を見積もり,トランザクションの排他待ち時間をシステム定義のpd_lck_wait_timeoutオペランド,又はクライアント環境定義のPDLCKWAITTIMEに設定してください。
(e) 監査証跡ファイルの回復方法
監査証跡ファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。なお,監査証跡ファイルは,HiRDB起動中は回復できないため,HiRDBを停止させる必要があります。
-
障害が発生したデバイスを使用できる状態にします。
-
HiRDBを停止します。
-
回復対象のHiRDBファイルシステム領域に対して,pdfssyncコマンドを実行してディスクの同期をとります。
-
HiRDBを開始します。
(f) アンロードログファイルの回復方法
アンロードログファイルを格納しているデバイスに障害が発生した場合の回復方法を次に示します。
-
障害が発生したデバイスを使用できる状態にします。
-
自動ログアンロード機能を使用している場合は,pdlogatul -t -wコマンドで中断させます。pdlogunldコマンドでアンロードしている場合は,pdlogunldコマンドを中止させるか,又は出力先を障害が発生したHiRDBファイルシステム領域以外に変更してください。
-
回復対象のHiRDBファイルシステム領域に対して,pdfssyncコマンドを実行してディスクの同期をとります。
-
自動ログアンロード機能を使用している場合は,pdlogatul -bコマンドで再開始します。pdlogunldコマンドでアンロードしている場合は,出力先を障害が回復したHiRDBファイルシステム領域にして,コマンドの実行を再開します。
(g) 回復時の注意事項
-
待機系のディスクに障害が発生して書き込みが失敗した場合,待機系へ系切り替え後の動作が保証できないため,待機系を停止します。この場合,待機系のディスク障害を回復してから,待機系を起動してください。
-
回復作業中は,障害が発生したHiRDBファイルシステム領域を更新しないでください。次に示す更新を行うと,プライマリファイルとセカンダリファイルの間で,ファイルの内容に不整合が発生することがあります。
-
pdfmkfsコマンド
-
pdmodコマンド
-
pdloginitコマンド
-
pdlogrm コマンド
-
pdlogchgコマンド
-
pdlogunldコマンド
-
pdstsinitコマンド
-
pdstsrmコマンド
-
pdrstrコマンド
-
pdfrstrコマンド
-
pdfrmコマンド
-