Helix Coreサーバ管理者ガイド: 基本 (2019.1)

Helix Coreサーバ(p4d)リファレンス

Perforceサービスの開始、またはチェックポイント/ジャーナル作成(システム管理)タスクを実行します。

構文

p4d [ options ]
p4d.exe [ options ]
p4s.exe [ options ]
p4d -j? [ -z | -Z ] [ args ... ]

説明

コマンドの最初の3つの形式は、Helixサーババージョン管理サービスを管理するバックグラウンドプロセスを実行します。

4番目の形式は、チェックポイントやジャーナルの作成を含むシステム管理タスクに使用します。

UNIXおよびmacOS上での実行ファイルはp4dです。

Windows上での実行ファイルはp4d.exe(サーバとして動作)またはp4s.exe(サービスとして動作)です。

終了ステータス

起動に成功した後、通常、p4dは終了しません。以下の起動メッセージ

Perforce server starting...

を出力し、バックグラウンドで動作します。

起動に失敗すると、p4dは0以外のエラーコードを返します。

また、-jチェックポイントまたはジャーナルオプション付きで起動した場合も、エラーが発生すると、p4dは0以外のエラーコードを返して終了します。

オプション

このセクションでは、次のオプションについて説明します: サーバオプション全般オプションチェックポイントオプションジャーナル復元オプション複製とマルチサーバのオプションジャーナルのダンプと復元のフィルタリング証明書の処理方法構成オプション

サーバオプション

サーバオプション 意味

-d

デーモンとして(バックグラウンドで)実行されます。

-f

(フォークなしの)シングルスレッドプロセスとして実行されます。

-i

UNIX上のinetdから実行されます。

-q

起動メッセージなどを表示せずに実行します。

--pid-file[=file]

P4ROOTで指定されたディレクトリ内のserver.pidという名前のファイルにPIDを書き込むか、またはfileで指定されたファイルにPIDを書き込みます。これにより、多数のサーバインスタンスから1つを特定することが容易になります。

fileのパラメータには完全パスを指定できます。ファイルがP4ROOTにある必要はありません。

--daemonsafe

-dと同様、p4dをバックグラウンドにフォークしますが、さらにstdio(標準入出力)ファイルを閉じます。

-xi

Helix Coreサーバ(およびそのメタデータ)をUnicodeモードで動作するように不可逆的に再構成します。Unicodeモードが必要でない限り、このオプションは使用しないでください。詳細については、「リリースノート 」と「Perforce国際語モードに関する注意事項」を参照してください。

-xu

データベースをアップグレードして終了します。

アップグレードはサーバがDVCS個人サーバである場合以外は、手動で実行する必要があります。DVCS個人サーバでは、アップグレード手順は自動で実行されます。

-xv

低レベルのデータベース検証を実行し、終了します。

-xvU

高速検証を実行します。データベーステーブルはロックせず、各テーブルのアンロック数がゼロであることのみ検証されます。

-xD [serverID]

当該サーバの(server.idファイルに格納されている)サーバのserverIDを表示(または設定)し、終了します。

全般オプション

全般オプション 意味

-h, -?

ヘルプメッセージを出力します。

-V

バージョン番号を出力します。

-A auditlog

監査ログファイルを指定します。P4AUDIT設定をオーバーライドします。デフォルト設定はnullです。

-Id description

p4 serverで使用するサーバの説明です。P4DESCRIPTION設定をオーバーライドします。

-In name

p4 configureで使用するサーバ名です。P4NAME設定をオーバーライドします。

-J journal

ジャーナルファイルを指定します。P4JOURNAL設定をオーバーライドします。デフォルト設定はjournalです。(ジャーナル作成を無効にする場合-J offを使用します。)

-L log

ログファイルを指定します。P4LOG設定をオーバーライドします。デフォルト設定はSTDERRです。

-p port

接続待ちのポートを指定します。P4PORTを書き換えます。デフォルト設定は1666です。

-r root

サーバルートディレクトリを指定します。P4ROOTを書き換えます。デフォルト設定は現在の作業ディレクトリです。

-v subsystem=level

トレースオプションを設定します。P4DEBUG設定の値をオーバーライドします。デフォルト設定はnullです。

-C1

通常は大文字と小文字を区別するプラットフォームにおいて、大文字と小文字を区別しないモードで動作するようサービスに強制します。

--pid-file[=name]

サーバのPIDを特定のファイルに書き込みます。

ファイルのデフォルト名はserver.pidです。

チェックポイントオプション

チェックポイントオプション 意味

-c command

データベーステーブルをロックしてcommandを実行し、テーブルをアンロックして終了します。

-jc [ prefix ]

ジャーナル-作成(Journal-create)を行い、チェックポイントと.md5ファイルを作成し、ジャーナルの保存/トランケートを行います。

この場合、チェックポイントのファイル名はprefix.ckp.n、ジャーナルファイル名はprefix.jnl.nとなります。このうちprefixの部分はコマンドラインで指定することができ、nはシーケンス番号です。prefixが指定されていない場合は、デフォルトのファイル名checkpoint.nおよびjournal.nが使用されます。プレフィックスの一部に任意のディレクトリを指定することにより、そのディレクトリにチェックポイントおよびジャーナルを格納することができます。

警告

このオプションを使用する場合、コマンドライン上の最後のオプションとして使用する必要があります。

-jd file

ジャーナル-チェックポイント(Journal-checkpoint)。ジャーナルの保存/トランケートを行わずに、チェックポイントと.md5ファイルを作成します。

-z -jd file

ジャーナル-チェックポイント(Journal-checkpoint)。ジャーナルの保存やトランケートを実行することなく、圧縮されたチェックポイントと.md5ファイルを作成します。

-jj [ prefix ]

ジャーナルのみ(Journal-only)。チェックポイントを作成せずに、ジャーナルの保存またはトランケートを行います。

-jr file

ジャーナル-復元(Journal-restore)。チェックポイントやジャーナルファイルからメタデータを復元します。

コマンドラインで-r $P4ROOTオプションを指定する場合、-rオプションを-jrオプションよりも前に記述する必要があります。

-z -jr file

ジャーナル-復元(Journal-restore)。圧縮されたチェックポイントまたはジャーナルファイル(あるいはその両方)からメタデータを復元します。

コマンドラインで-r $P4ROOTオプションを指定する場合、-rオプションを-jrオプションよりも前に記述する必要があります。

-jv file

fileで指定されるチェックポイントまたはジャーナルの整合性を、以下の点において検証します。

  • チェックポイントまたはジャーナルは冒頭から末尾まで読み取り可能かどうか。
  • 圧縮されている場合、正常に解凍できるかどうか。
  • MD5ファイルがある場合、そのチェックポイントのMD5と一致するかどうか。
  • 想定されるヘッダとトレーラが存在するかどうか。

このコマンドは、ジャーナルを再生しません。

圧縮されたジャーナルまたは圧縮されたチェックポイントの整合性を検証するには、-zオプションと-jvオプションを組み合わせて使用します。

-z

チェックポイントとジャーナルを圧縮します(gzip形式を使用)。

このオプションを-jdオプションと併用すると、Helixサーバは自動でそのチェックポイントファイルに拡張子.gzを追加します。そのため、以下のコマンド:

p4d -jd -z myCheckpoint

は、myCheckpoint.gzmyCheckpoint.md5の2つのファイルを作成します。

-Z

チェックポイントを圧縮します(gzip形式を使用)が、ジャーナルは圧縮せずにレプリカサーバで使用できるようにします。したがって、このオプションは-jdではなく-jcに適用されます。

注意

このオプションを使用して、ジャーナルをローテーションするチェックポイントを取得することができます(例: p4d -Z -jc)。

復元処理を実行する場合、-Zオプションは指定しません(例: p4d -jr)。

ジャーナル復元オプション

ジャーナル復元オプション 意味

-jrc file

整合性チェックを伴うジャーナル-復元(Journal-restore)。このオプションではデータベースがロックされるため、p4 replicateコマンドにより起動されたレプリカサーバのみで使用されることが意図されています。

-jrF file

既存のデータベースにチェックポイントを再現します。(誤ってチェックポイントが既存のデータベースディレクトリに再現されていないかどうかを確認するには、-jrオプションで行われたチェックをバイパスします。)

-b bunch -jr file

ジャーナルレコードのbunch行を読み取り、ソートし、重複を削除した後にデータベースを更新します。デフォルトは5000ですが、1に設定してシリアル処理を強制することができます。このオプションの組み合わせは、p4 replicateコマンドにより起動されたレプリカサーバでの使用が意図されています。

-f -jr file

レコード削除の失敗を無視します。この意味での-fは、-jrがあるときにのみ適用されます。このオプションの組み合わせは、p4 replicateコマンドにより起動されたレプリカサーバでの使用が意図されています。デフォルトで、レコードの削除に失敗した場合、ジャーナルの復元は中断します。

すべてのジャーナル復元コマンドについて、コマンドラインで-r $P4ROOTオプションを指定する場合、-rオプションを-jrオプションよりも前に記述する必要があります。

-m -jr file

レプリカネットワークへ転送する新しいリビジョンをスケジュールします。アーカイブファイルにp4 pull -uを使用し、メタデータにはp4 replicateを使用する環境でのみ必要です。p4 pullのみから作られる複製環境では必要ありません。

-s -jr file

復元されたジャーナルレコードを通常のジャーナルに記録して、サーバのジャーナルからそのサーバのダウンストリームにあるレプリカへとレコードが伝播されるようにします。このオプションの組み合わせはPerforceサポートと共に使用することが意図されています。

複製とマルチサーバのオプション

複製とマルチサーバのオプション 意味

-a host:port

マルチサーバ環境で、ライセンスとプロテクションデータを取得する認証サーバを指定します。P4AUTH設定をオーバーライドします。デフォルト設定はnullです。

-g host:port

マルチサーバ環境で、チェンジリスト番号を取得するチェンジリストサーバを指定します。P4CHANGE設定をオーバーライドします。デフォルト設定はnullです。

-t host:port

レプリカに対し、データを取得するターゲット(マスター)サーバを指定します。P4TARGET設定をオーバーライドします。デフォルト設定はnullです。

-u serviceuser

レプリカに対し、マスターサーバとの通信時に指定されたserviceuserとして認証します。レプリカの操作は、サービスユーザに有効なチケットが与えられていなければ成功しません。

ジャーナルのダンプと復元のフィルタリング

ジャーナルのダンプ/復元のフィルタリング 意味

-jd file db.table

db.tableに保存されるデータのみが含まれるfileのチェックポイントを作成して、db.tableをダンプします。

このコマンドは非ジャーナルのテーブルにも使用できます。

-k db.table1,db.table2,... -jd file

1つのダンプfileに、これらの名前の各テーブルをダンプします。

-K db.table1,db.table2,... -jd file

ダンプfileに、これらの名前以外のすべてのテーブルをダンプします。

-P serverid -jd file

フィルタの読み込み元のserveridを指定し、p4d -jdにフィルタパターンを設定します(p4 help serverを参照するか、p4 help exportで説明される古い構文を使用します)。

このオプションは、フィルタ済みのレプリカをそのまま読み込む場合に有用です。

-k db.table1,db.table2,... -jr file

fileから復元します。-kオプションでリスト指定されるテーブル名のジャーナルレコードのみが含まれます。

-K db.table1,db.table2,... -jr file

fileから復元します。-Kオプションでリスト指定されるテーブル名のジャーナルレコードすべてが除外されます。

証明書の処理方法

証明書の処理方法 意味

-Gc

サーバ用のSSL資格情報ファイルを生成します。プライベートキーおよび証明書ファイルをP4SSLDIRに作成し、終了します。

P4SSLDIRが、コマンドを起動するユーザが所有するディレクトリに設定され、そのユーザに対してのみ読み取り可能である必要があります。P4SSLDIRconfig.txtが存在する場合、特定の性質を持つ自己署名証明書が生成されます。

-Gf

サーバのパブリックキーのフィンガープリントを表示して、終了します。

管理者はこのフィンガープリントをエンドユーザに伝え、ユーザはp4 trustコマンドを使用して(接続先のサーバの)フィンガープリントが正確かどうかを知ることができます。

構成オプション

構成オプション 意味

-cshow

サービスを開始せずにdb.configの内容を表示します。(サービスを実行せずにp4 configure show allserversを実行した場合と同じです。)

-cset server#var=val

サービスを開始せずにHelixサーバの構成可能変数を設定します。さらにオプションで、構成可能変数が適用されるサーバを指定できます。以下に例を示します。

p4d -r . "-cset replica#P4JOURNAL=off"
p4d -r .  "-cset replica#P4JOURNAL=off replica#server=3"

variable=value」の表記すべてを引用符で囲むことをお勧めします。

-cunset server#var

指定した構成可能変数を指定解除します。

使用上の留意点

  • すべてのシステムで、ジャーナル作成はデフォルトで有効になっています。p4dの起動時にP4JOURNALが未設定の場合、ジャーナルが作成されるデフォルトの場所は、$P4ROOTになります。ジャーナル作成を手動で無効にするには、P4JOURNALを明示的にoffに設定しなければなりません。
  • チェックポイントの作成とジャーナルのトランケートは頻繁に行ってください。夜間バックアップ作業の一環として、できる限り毎日行います。
  • チェックポイントとジャーナル作成によって保存されるのは、Helixサーバのメタデータ(保存されているファイルに関する情報)に限られます。保存ファイルそのもの(ソースコードの含まれるファイル)はP4ROOTにあります。これも、日常のバックアップの手順の一環としてバックアップする必要があります。
  • ジャーナルファイルとチェックポイントをHelixサーバデータベースとは異なるハードドライブまたはネットワーク上の場所に保存することをお勧めします。
  • ユーザがトリガを使用する場合は、-f(フォークなしモード)オプションを使用しないでください。トリガスクリプトを実行するには、Perforceサービスによる「フォーク」(コピーの生成)が可能でなくてはなりません。
  • ハードウェアが故障した場合、チェックポイントとジャーナルファイルからメタデータを復元するために必要なオプションは、データが破損しているかどうかによって異なります。
  • P4ROOTのファイルが消失した後にバックアップからデータ復旧を行う場合には、ジャーナルファイルが必要になることがよくあります。そのため、ジャーナルファイルは、P4ROOTとは別のファイルシステムに配置することを強くお勧めします。このようにして、万一P4ROOTが存在するファイルシステムが破損しても、ジャーナルには引き続きアクセスすることできます。
  • データベースのアップグレードオプション(-xu)には、相当のディスク容量が必要な場合があります。詳細については、「リリースノート 」を参照してください。

一般的なタスク

サービスを起動します。接続待ちポートは1999、ジャーナル作成機能は有効、ジャーナルの書き込み先はjournalfileです。

p4d -d -p 1999 -J /opt/p4d/journalfile

デフォルト以外のジャーナルファイルを使用してサーバのチェックポイントを作成します。-Jオプション(または環境変数P4JOURNAL)は、サーバの起動時に指定したジャーナルファイルと一致している必要があります。

チェックポイントの作成:

p4d -J /p4d/jfile -jc

または

P4JOURNAL=/p4d/jfile ; export P4JOURNAL; p4d -jc

チェックポイントとジャーナルを圧縮します。その際、myCheckpoint.gzmyCheckpoint.md5という2つのファイルが作成されます。 p4d -jd -z myCheckpoint

P4ROOTディレクトリ内のファイルを使用して、圧縮されたチェックポイントをサーバから作成します。

p4d -r $P4ROOT -z -jc

P4ROOTディレクトリ内のファイルを使用して、圧縮されたチェックポイントをサーバから作成します。このチェックポイントには、ユーザ定義プレフィックスの「ckp」が付加されます。

p4d -r $P4ROOT -z -jc ckp

ルートディレクトリP4ROOTを使用して、checkpoint.3というサーバ用のチェックポイントからメタデータを復元します。

p4d -r $P4ROOT -jr checkpoint.3

ルートディレクトリP4ROOTを使用して、checkpoint.3.gzというサーバ用の圧縮チェックポイントからメタデータを復元します。

p4d -r $P4ROOT -z -jr checkpoint.3.gz