転送レプリカサーバに対してマスターサーバを設定する
ここでは、マスターサーバ上で転送レプリカサーバを設定する方法について説明します。 ポート1667を使用するように転送レプリカサーバを設定するため、このサーバをfwd-1667という名前にします。
$ p4 server fwd-1667
デフォルトのサーバ仕様が表示されます。
仕様の設定
マスターサーバで、いくつかの構成可能変数を追加してその値を設定することにより、転送レプリカサーバのサーバ仕様を設定します。 以下の例では、転送レプリカサーバのServerIDがfwd-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」を参照してください。
-
複製サービス用のサービスユーザを作成します。 以下に例を示します。
$ p4 user -f service
デフォルトのユーザ仕様がデフォルトのエディタで表示されます。 このユーザのタイプをserviceにするため、以下の行をユーザ仕様に追加します。
Type: service
- ユーザ仕様を保存し、デフォルトのエディタを終了します。
-
p4 groupコマンドを使用してサービスユーザ用のグループを作成し、timeoutフィールドの値を設定します。 サービスユーザのログアウトを防ぐため、timeoutフィールドの値としてunlimitedを使用することをお勧めします。 詳細については、サービスユーザのチケットとタイムアウトを参照してください。
-
プロテクションテーブル内で、サービスユーザグループのプロテクションを「
super
」に設定します。 詳細については、「サービスユーザ」を参照してください。 - マスターサーバ上で、セキュリティレベルの値として「3」以上を設定します。 詳細については、「サーバセキュリティレベル」を参照してください。
以下に例を示します。
$ p4 configure set security=4 - 以下のコマンドを使用して、serviceユーザをパスワードで保護します。
$ p4 passwd service
次の手順