テクニカルノート126  


オフライン・チェックポイント
バックアップ処理中のサーバ停止時間を短縮する


概要

チェックポイント処理を行うと、すべてのPERFORCEデータベース・ファイルがロックされ、処理実行中はサーバにアクセスできなくなります。PERFORCEサーバのサイズの増大に伴い、チェックポイント作成の所要時間が長くなり、ユーザの作業の妨げになることがあります。以下で説明する「オフライン・チェックポイント」の手順によって、チェックポイントの処理に伴いサーバが使用できなくなる期間を劇的に短縮できます。


詳細

「オフライン・チェックポイント」処理では、PERFORCEデータベースの2番目のインスタンスを作成します。そして、この2番目の「オフライン」のデータベース・インスタンスに対してチェックポイントを実行します。チェックポイントをオフラインで取得することによって、ユーザは長時間に及ぶチェックポイント処理の実行中に主要(実稼動)サーバへのアクセスを妨げられることがなくなります。

PERFORCEサーバのオフライン・インスタンスは、実稼動サーバのインスタンスとは異なるディスク・ボリュームに作成して、パフォーマンスへの悪影響を軽減するべきです。また、別のホスト・マシンにオフライン・サーバをセットアップして、実稼動サーバのインスタンスを完全に隔離することも可能です。

オフラインでのチェックポイント取得処理を設定するための前提条件として、オフラインのPERFORCEデータベース・ファイルの格納場所を指定します。下の例では、オフラインのPERFORCEサーバ・ルートの位置として D:\Offline_P4ROOT が使用されています。


オフライン・サーバへのチェックポイントの導入

オフラインによるチェックポイント処理は、オフライン・サーバに現在の実稼動サーバのチェックポイントを導入することから始まります。オフライン・サーバに導入する手順としては、まず実稼動PERFORCEサーバ上でチェックポイントを取得し、このチェックポイントをオフライン用の場所にコピーした後、オフライン用の場所のチェックポイントをリストアします。例を示します。
  1. 実稼動サーバでチェックポイントを取得する
     
    cd C:\P4ROOT
    p4d -r C:\P4ROOT -jc
    
     
  2. チェックポイントをオフライン用の場所にコピーする
     
    copy C:\P4ROOT\checkpoint.NNN D:\Offline_P4ROOT\checkpoint.NNN
     
  3. オフライン用の場所のチェックポイントをリストアする
     
    p4d -r D:\Offline_P4ROOT -jr checkpoint.NNN
     
オフライン・サーバのインスタンスが破壊された場合や実稼動サーバと同期していない状態になった場合は、上記に示したとおり、実稼動サーバから取得した新しいチェックポイントをオフライン・サーバに導入して、処理をやり直してください。


オフライン・チェックポイントを取得する
 
  1. 実稼動サーバのジャーナル・ファイルをローテートする(番号付きジャーナルを作成する)
     
    p4d -r C:\P4ROOT -jj D:\Offline_P4ROOT\journal
     
    -jjオプションは、番号付きのジャーナル・ファイルを作成するようサーバに命令します。引数がない場合、-jjオプションはサーバ・ルート位置に番号付きのジャーナルを作成します。パス引数を指定することにより、番号付きのジャーナルを書き込む場所を指定できます。この例では、オフライン用のバックアップ・ディレクトリが実稼動サーバのルートと同じマシン上にあるため、番号付きのジャーナルを自動的にオフライン用ルート・ディレクトリに作成できます。同じマシン上にない場合は、上述した導入処理のとおり、番号付きのジャーナルをオフライン用ルートに手動でコピーしなければなりません。
     
     
  2. 実稼動機のジャーナルをオフライン・サーバにリストアする
     
    p4d -r D:\Offline_P4ROOT -jr journal.NNN
     
  3. ジャーナルを初期化、および番号付けせずにオフライン・サーバでチェックポイントを取得する(-jd)
     
    p4d -r D:\Offline_P4ROOT -jd checkpoint.mmddyyyy
     
    これで、実稼動サーバを再構築する必要が生じたときに使用可能なオフライン・チェックポイントが作成されました。

    最後の手順における-jdオプションの使用方法に注意してください。-jdオプションは、チェックポイントの作成時にジャーナルを初期化しないように、しかも番号付きジャーナルを作成しないようにサーバに指示します。オフライン・サーバで、-jcオプションの代わりに-jcオプションを使用すると、ジャーナル・カウンタの値は増えてしまい、次に実稼動機のジャーナルを再生させようとすると 'out of sequence' のエラーが出力されて失敗します。
     
警告: 実稼動PERFORCEサーバと同じシステムにオフライン・チェックポイントを作成する場合は、必ず"-r"オプションを使用してP4ROOTフォルダへのパスを指定してください。これにより、誤って「本番の」PERFORCEデータベースに対してコマンドを実行してしまうことを防ぎます。

注:
実稼動サーバのジャーナルは、ユーザ固有の要件に従って、1日1回または1時間に1回など任意の間隔で初期化し、新しい番号付きジャーナルを作成することができます。

実稼動のジャーナルが初期化され、番号付きジャーナルにコピーされると、実稼動サーバはこの処理の間、一時的に停止します。多くの場合、これはごく短い間ですが、大きいジャーナル・ファイルがある稼働率の高いサーバでは顕著に現れるかもしれません。いずれの場合でも、ジャーナルの初期化およびコピー処理は、チェックポイントを取得する処理よりも何倍も速く実行されます。

オフライン・サーバは起動させる必要がないため、オフライン・チェックポイントおよびリストア処理には追加のPERFORCEライセンスは必要ありません。しかし、オフライン・サーバのインスタンスを起動または調査したい場合は、ライセンス・ファイルが必要になります。この目的でライセンスを必要とする場合、弊社テクニカルサポートにご連絡ください。

 
戻る