Create commit and Edge Server configurations

  1. On the Commit Server, create the Commit Server specification:

    p4 server -c commit-server chicago_commit

    and modify the DistributedConfig section to contain:

    serviceUser=svc_chicago_commit
    monitor=2
    lbr.autocompress=1
    journalPrefix=/chicago/backup/p4d_backup
    P4TICKETS=/chicago/p4root/.p4tickets
    P4LOG=/chicago/logs/chicago_commit.log

    where:

    • serviceUser is the name of the service user account that will be used for communication with Edge Servers
    • monitor=2 enables monitoring of active commands and idle connections on this Commit Server with p4 monitor show
    • lbr.autocompress=1 enables compressed storage for RCS file types on the Commit Server and is recommended in commit-edge environments for optimal archive file replication performance

    • journalPrefix is the prefix path used for the location and name of Commit Server checkpoints and rotated journals. When replicating metadata, Edge Servers periodically need to locate and read rotated Commit Server journals. The value of journalPrefix identifies the name and location of those journals.

    • P4TICKETS contains the path to the tickets file used by the Commit Server serviceUser when communicating with Edge Servers.
      If Edge Servers use SSL, configure P4TRUST for the Commit Server by adding:

      P4TRUST=/chicago/p4root/.p4trust

      to the DistributedConfig to define a trust file location used by the Commit Server serviceUser when communicating with Edge Servers.

    • P4LOG contains the path to the Commit Server's log file

    Note

    When you create a server spec with the Services field set to commit-server, some database upgrades occur. For details, see Helix Core Schema Documentation on Upgrades. In addition, any open files with the +l exclusive open file type modifier cause a db.excl record to be created along with an associated journal record. A large number of such records might affect replication performance.

  2. On the Commit Server, set the serverID of the Commit Server:
    p4 serverid chicago_commit
  3. On the Commit Server, set the security level to require ticket-based authentication in your multi-server environment:

    p4 configure set security=3

    Higher security levels provide additional security checks in multi-server environments. See Server security levels.

  4. On the Commit Server, create the Edge Server specification:

    p4 server -c edge-server tokyo_edge
  5. and set the ExternalAddress to the P4PORT that will be used by the Edge Server. (If the Edge Server uses ssl, the port must include the ssl prefix.)
    Also, modify the DistributedConfig section to contain:

    db.replication=readonly
    lbr.replication=readonly
    lbr.autocompress=1
    rpl.compress=4
    startup.1=pull -i 1
    startup.2=pull -u -i 1
    startup.3=pull -u -i 1
    P4TARGET=chicago.perforce.com:1666
    serviceUser=svc_tokyo_edge
    monitor=1
    journalPrefix=/tokyo/backup/p4d_backup
    P4TICKETS=/tokyo/p4root/.p4tickets
    P4LOG=/tokyo/logs/tokyo_edge.log

    where

    • The db.replication=readonly and lbr.replication=readonly values indicate the Edge Server will replicate metadata and archive data from the Commit Server
    • lbr.autocompress=1 enables compressed storage for RCS file types on this Edge Server and is recommended in commit-edge environments for optimal archive file replication performance
    • rpl.compress=4 enables compression of journal data sent by the Commit Server to this Edge Server and is recommended if the Edge Server is remote to the Commit Server
      • For Edge Servers that are local to the Commit Server, compression can be disabled by removing the rpl.compress=4 from the DistributedConfig before saving
    • The startup.N values define one metadata (pull -i 1) and two archive (pull -u -i 1) pull threads that the Edge Server will run on startup to facilitate metadata and archive replication
    • P4TARGET specifies the P4PORT (host:port) of the Commit Server this Edge Server will replicate from
    • serviceUser is the name of the service user account that will be used for communication with Commit Server

    • monitor=1 enables monitoring of active commands on this Edge Server with p4 monitor show

    • journalPrefix is the prefix path used for the location and name of Edge Server checkpoints and rotated journals
    • P4TICKETS contains the path to the tickets file used by the Edge Server serviceUser when communicating with Commit Server.
      If the Commit Server uses SSL, configure P4TRUST for the Edge Server by adding:

      P4TRUST=/tokyo/p4root/.p4trust

      to the DistributedConfig to define a trust file location used by the Edge Server serviceUser when communicating with the Commit Server.

    • P4LOG contains the path to the server log file used by the Edge Server.

Next step

Create and start the Edge Servers