分散トランザクション処理機能 OpenTP1 解説

[目次][用語][索引][前へ][次へ]

4.2.6 アーカイブジャーナルファイル

<この項の構成>
(1) アーカイブジャーナルファイルの目的
(2) アーカイブジャーナルファイルの種類
(3) アーカイブジャーナルファイルの作成
(4) アーカイブジャーナルファイルの並列アクセス機能
(5) アーカイブジャーナルファイルの二重化
(6) アーカイブジャーナルファイルの状態
(7) アーカイブジャーナルファイルのアンロード
(8) システムジャーナルファイルの状態
(9) アーカイブジャーナルファイルのスワップ

(1) アーカイブジャーナルファイルの目的

クラスタ/並列システム形態でOpenTP1を使用する場合,システムジャーナルファイルを各ノードにアンロードする必要があります。この負担を軽減するために,各OpenTP1ノードのシステムジャーナルファイルを,専用のOpenTP1ノードにアーカイブできます。アーカイブしたファイルをアンロードするだけで,ほかのOpenTP1ノードのシステムジャーナルファイルをアンロードする必要がなくなります(グローバルアーカイブジャーナル機能)。アーカイブ専用のOpenTP1ノードで使用するファイルをアーカイブジャーナルファイルといいます。グローバルアーカイブジャーナル機能を使用すると,ノードごとにジャーナルをアンロードする必要がなくなります。

グローバルアーカイブジャーナルでは,アーカイブするジャーナルの種類を選択できます。選択するジャーナルの種類は,システムジャーナル定義のjnl_arc_rec_kindに選択するジャーナルレコード種別を指定します。ジャーナルの種類については,「4.2.2 システムジャーナルファイル」を参照してください。

グローバルアーカイブジャーナル機能については,「6.2.3 グローバルアーカイブジャーナル機能」を参照してください。

(2) アーカイブジャーナルファイルの種類

アーカイブジャーナルファイルは,最大16種類を作成できます。複数作成したファイルは,アーカイブするノードの範囲で分けられます。個々のアーカイブジャーナルファイルは,システムジャーナルファイルと同様に,物理ファイルとファイルグループ単位で管理されます。

使用目的別に分けたアーカイブジャーナルファイルのまとまりをリソースグループといいます。グローバルアーカイブジャーナルサービスは,リソースグループ名を使ってアーカイブジャーナルファイルを管理します。一つのリソースグループにアーカイブできるノードは,20ノードまでです。

リソースグループは,アーカイブジャーナルサービス定義のファイル名を示します。アーカイブジャーナルノードでリソースグループを幾つ使うかは,グローバルアーカイブジャーナルサービス定義で指定します。

(3) アーカイブジャーナルファイルの作成

アーカイブジャーナルファイル作成するときは,jnlinitコマンドでOpenTP1ファイルシステム上に物理ファイルを作成して,アーカイブジャーナルサービス定義で指定します。

リソースグループを定義するアーカイブジャーナルサービス定義では,ファイルグループ名と要素ファイル名,および物理ファイル名を指定します。

要素ファイルは,二重化できます。ファイルグループ名は,一つ以上の要素ファイルのまとまりに対応して任意に付ける名称です。アーカイブジャーナルファイルの並列アクセス機能を使わない(ファイルグループを構成する要素ファイルが一つだけ)場合は,要素ファイル名を省略できます。なお,ファイルグループを構成する要素ファイルの数は,最大8個です。

アーカイブジャーナルファイルを使う前に,ファイルグループごとにOpenTP1の開始と同時にオープンするかを事前に指定しておきます。また,コマンドの引数にファイルグループ名を指定して,アーカイブジャーナルファイルをファイルグループ単位で操作できます。なお,一つのリソースグループには,二つ以上のファイルグループが必要です。

(4) アーカイブジャーナルファイルの並列アクセス機能

一つのファイルグループを複数の要素ファイルで構成して,アーカイブジャーナルファイルを使えます。この機能をアーカイブジャーナルファイルの並列アクセス機能といいます。

アーカイブジャーナルファイルでは,複数のノードのジャーナルをアーカイブする入出力が集中します。このため,アーカイブジャーナルファイルの入出力がアーカイブするジャーナルの発生に追い付けなくなる場合があります。このような場合に,ファイルグループを複数の要素ファイルで構成してアーカイブジャーナルファイルへ並行にアクセスできるようにすると,アーカイブの性能を上げることができます。

一つのファイルグループを構成する物理ファイルは,SCSIインタフェースやハードディスクが重なるようになっていてもかまいませんが,これらには並行にアクセスできないため,並列アクセス機能の効果を十分に発揮できません。SCSIインタフェースやハードディスクは,重ならないようにしてください。また,複数の物理ファイルの容量は,一致していなくてもかまいませんが,一致していない場合OpenTP1は少ない容量の方をファイルグループの容量と見なします。資源を効率良く使えるように,容量はできるだけ一致させておいてください。

アーカイブジャーナルファイルの並列アクセス機能では,アーカイブジャーナルファイルの障害などで,並行してアクセスできる要素ファイルの数(以降,並列アクセス数といいます)が減ります。これによって,アーカイブするジャーナルの発生にアーカイブジャーナルファイルの入出力が追い付けなくなることを防ぐため,最低限保証したい並列アクセス数を指定できます。この最低限保証したい並列アクセス数を,最小分散数といいます。また,最大でどれだけ並行してアクセスするかを示す値を,最大分散数といいます。

アーカイブジャーナルサービス定義でファイルグループを指定するときに,要素ファイル名を付けます。さらに,アーカイブジャーナルサービス定義のjnl_max_file_dispersionオペランドに最大分散数を,jnl_min_file_dispersionオペランドに最小分散数を指定しておきます。

(5) アーカイブジャーナルファイルの二重化

一つの要素ファイルを二つの物理ファイルから構成して,アーカイブジャーナルファイルを二重化して使えます。二重化してファイルグループを運用した場合,OpenTP1はA系,B系に同じジャーナルを取得します。二重化しておくと,障害発生によるジャーナルの読み込み時に片方の系で障害が起こっても,残った系からデータを読み込めるため,信頼性が上がります。

(a) アーカイブジャーナルファイル定義の指定

アーカイブジャーナルファイルを二重化する場合は,アーカイブジャーナルファイル定義のjnl_dualオプションにYを指定します。このとき,一つのファイルグループに二つの物理ファイル(A系,B系)を指定しておきます。

A系とB系の物理ファイルは,同時に障害にならないようにディスクを分けることをお勧めします。また,A系とB系の物理ファイルの容量は,一致していなくてもかまいませんが,一致していない場合OpenTP1は少ない容量の方をジャーナルの容量と見なします。資源を効率良く使えるように,容量はできるだけ一致させておいてください。

(b) 片系運転可と片系運転不可

アーカイブジャーナルファイルを二重化した場合には,片系運転可または片系運転不可のどちらかを選べます。

片系運転可とするかどうかは,アーカイブジャーナルサービス定義で指定します。

片系運転可では,片方の系が障害になっても,その障害が対策されるまでの間,残りの系で運転を続けます。ただし,この場合,一時的に二重化されない時期が起こるため,この期間は信頼性が下がります。

(6) アーカイブジャーナルファイルの状態

アーカイブジャーナルファイルの状態は,システムジャーナルファイルと同様に,次の2種類に分けられます。

使用できる要素ファイルとは,その要素ファイルを構成する物理ファイルが必要な数だけオープンされていることを意味します。逆に,要素ファイルを構成する物理ファイルが必要な数だけオープンされていない場合は,その要素ファイルは使用できません。

使用可能状態のファイルグループは,現用または待機として,使用不可能状態のファイルグループは予約として,状態を管理します。なお,要素ファイルの必要数と物理ファイルの必要数は,アーカイブジャーナルサービス定義に指定した値で決まります。

アーカイブジャーナルファイルには,予約以外のファイルグループが二つ以上必要です。

(7) アーカイブジャーナルファイルのアンロード

アーカイブジャーナルファイルがアンロード待ち状態になった場合は,jnlunlfgコマンドでアンロードしてください。アーカイブジャーナルファイルのファイルグループがアンロードされていない状態でスワップ先がなくなった場合,グローバルアーカイブジャーナルサービスは異常終了します。

アンロードした通常ファイルは,システムジャーナルファイルの場合と同様に,DAMファイルの回復や稼働統計情報ファイルの編集ができます。また,ユーザジャーナルをオフラインのプログラムへ引き継げます。

グローバルアーカイブアンロードジャーナルファイルには,複数のOpenTP1ノードのシステムジャーナル情報が入っています。このジャーナルをマージした稼働統計情報の編集,および複数のOpenTP1ノードのジャーナルを時系列にソートするなど,各種のジャーナル編集ができます。

(a) アンロードチェックの抑止

通常はアンロード待ち状態になる待機のファイルグループを,現用のまま使える指定ができます。これをアンロードチェックの抑止といいます。アンロードチェックを抑止する場合は,アーカイブジャーナルサービス定義のjnl_unload_checkオペランドにNを指定してください。

アンロードチェックを抑止している場合は,OpenTP1の稼働中にジャーナルファイルをコマンドでアンロードしないでください。アンロードチェックの抑止を指定した場合にアンロードを実行するときは,いったんjnlclsfgコマンドで該当するファイルグループをクローズしてから,アンロードしてください。

アンロードチェックを抑止するとグローバルアーカイブアンロードジャーナルファイルは作成されないため,グローバルアーカイブアンロードジャーナルファイルを入力とするジャーナル編集コマンド(jnlcolcコマンド,jnlsttsコマンドなど)は実行できません。

アンロードチェックを抑止した場合は,ファイルグループの状態をjnllsコマンドで確認すると,アンロード待ち状態が出力されることがあります。アンロード待ち状態が出力された場合でも,実際は現用として使われています。

(8) システムジャーナルファイルの状態

グローバルアーカイブジャーナルサービスを使っているOpenTP1のシステムジャーナルサービスでは,次に示すジャーナルファイルの状態が追加となります。

該当するノードでアンロードが済んでいなくても,アーカイブ済みで上書きできる状態のファイルグループであれば,次回のスワップ先にできるファイルグループとなります。

(9) アーカイブジャーナルファイルのスワップ

待機のアーカイブジャーナルファイルには,スワップ先にできるものとできないものがあります。スワップ先にできるアーカイブジャーナルは,アンロード済みのファイルグループです。アンロードしていないファイルグループは,スワップ先にできません。アーカイブジャーナルファイルのスワップ先がない場合,OpenTP1は異常終了します。OpenTP1が異常終了した場合の処置は,「5.3.3 ファイル障害の対策」を参照してください。

アーカイブジャーナルファイルのスワップを次の図に示します。

図4-12 アーカイブジャーナルファイルのスワップ

[図データ]