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 so that it contains:

    Copy
    DistributedConfig:
        serviceUser=svc_chicago_commit
        monitor=2
        journalPrefix=/chicago/backup/p4d_backup
        P4TICKETS=/chicago/p4root/.p4tickets
        P4LOG=/chicago/logs/chicago_commit.log

    with tab indentation,

    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
    • 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/TLS, 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

    When you create a server spec with the Services field set to commit-server, some database upgrades occur. For details, see P4 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 with

    p4 server -c edge-server tokyo_edge

    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.)

  5. Also, in that edge server specification, modify the DistributedConfig section to contain:

    Copy
    DistributedConfig:
        db.replication=readonly
        lbr.replication=readonly
        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


  6. where

    • The db.replication=readonly and lbr.replication=readonly values indicate the edge server will replicate metadata and archive data from the commit server
    • 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/TLS, 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