Helix Coreサーバ管理者ガイド (2020.1)

転送レプリカサーバに対してマスターサーバを設定する

ここでは、マスターサーバ上で転送レプリカサーバを設定する方法について説明します。 ポート1667を使用するように転送レプリカサーバを設定するため、このサーバをfwd-1667という名前にします。

$ p4 server fwd-1667

デフォルトのサーバ仕様が表示されます。

仕様の設定

マスターサーバで、いくつかの構成可能変数を追加してその値を設定することにより、転送レプリカサーバのサーバ仕様を設定します。 以下の例では、転送レプリカサーバのServerIDfwd-1667、転送レプリカサーバのホスト名がforward、転送レプリカサーバのAddress:forward:1667になっています。

ServerID:	fwd-1667
Name:		fwd-1667
Type:		server
Services:	forwarding-replica
Address:	forward:1667
DistributedConfig:
	db.replication=readonly
	lbr.replication=readonly
	lbr.autocompress=1
	startup.1=pull -i 1
	startup.2=pull -u -i 1
	startup.3=pull -u -i 1
	P4TARGET=master:1666
	serviceUser=service
	monitor=1 # optional but required if using the 'p4 monitor show' command
	journalPrefix=/p4/journals/fw-replica # recommended
	P4TICKETS=/p4/.p4tickets # recommended
	P4LOG=/p4/logs/fw-replica.log # recommended
Description:
    Forwarding replica pointing to master:1666
注意
  • オプションフィールドの場合、自分専用の命名規則を使用してかまいません。
  • Addressフィールドについては、「通信ポート情報」を参照してください。
  • DistributedConfig:セクションには、

    any#P4LOG=perforce.log

    any#serverlog.file.2=logs/commands.csv

    などのように「 section might contain fields starting any#」で始まるフィールドが記述されている場合があります。

    この「any#」は、マスターサーバ上で設定されるオプションで、任意のマスターサーバにデフォルトで適用されます。 レプリカに対して「any#」で始まるフィールドを上書きするには、そのフィールドの前または後に上書き後のフィールドを追加します。

    以下に例を示します。

    any#P4LOG=perforce.log

    any#serverlog.file.2=logs/commands.csv

    P4LOG=perforce.read-only.log

    serverlog.file.2=logs/my-subdirectory/commands.csv

サービスユーザの作成

複製環境とマルチサーバ環境では、サービスユーザが必要になります。 詳細については、『Helix Core P4コマンドリファレンス』の「p4 user」を参照してください。

  1. 複製サービス用のサービスユーザを作成します。 以下に例を示します。

    $ p4 user -f service

    デフォルトのユーザ仕様がデフォルトのエディタで表示されます。 このユーザのタイプをserviceにするため、以下の行をユーザ仕様に追加します。

    Type: service
  2. ユーザ仕様を保存し、デフォルトのエディタを終了します。
  3. p4 groupコマンドを使用してサービスユーザ用のグループを作成し、timeoutフィールドの値を設定します。 サービスユーザのログアウトを防ぐため、timeoutフィールドの値としてunlimitedを使用することをお勧めします。 詳細については、サービスユーザのチケットとタイムアウトを参照してください。

  4. プロテクションテーブル内で、サービスユーザグループのプロテクションを「super」に設定します。 詳細については、「サービスユーザ」を参照してください。

  5. マスターサーバ上で、セキュリティレベルの値として「3」以上を設定します。 詳細については、「サーバセキュリティレベル」を参照してください。
    以下に例を示します。
    $ p4 configure set security=4
  6. 以下のコマンドを使用して、serviceユーザをパスワードで保護します。
    $ p4 passwd service

次の手順

転送レプリカを設定する