Create commit and edge server configurations

Before you create commit and edge server configurations:

  • To avoid configuration problems, check that the value of serverID matches the value of P4NAME if both are set. We recommend setting serverID, but support P4NAME for backward compatibility.

  • If your server version is prior to 2016.1, see the Knowledge Base article, Setting up a commit/edge server environment.

Steps for server versions 2016.1 and later

  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

  2. On the commit server, set the server ID 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