Add Secondary Servers

The first SAFR Server you install will automatically become the primary server. All subsequent servers you install will be secondary servers. There are two types of secondary servers:

Add a Secondary Server While Connected to the Internet

If your system is connected to the Internet, do the following to add a secondary server:

  1. Download and install SAFR Platform on the additional machine.
  2. Log in to the SAFR auto-discovery process:
    • Connect the Desktop Client to the primary server (for macOS and Windows) as described here.
    • Connect your Web Console to the primary server as described here.
  3. During auto-discovery, the following automatically happens:
    1. The secondary server contacts a SAFR Licensing Server in the cloud to acquire a license.
    2. The SAFR Licensing Server authenticates the SAFR account credentials.
    3. The SAFR Licensing Server identifies the license and deployment type.
    4. A suitable license is returned to the secondary server and information about the primary server is returned to the secondary server, including the hostname.
  4. If your new secondary server is on a Windows or Linux machine, you will be prompted to choose which kind of secondary server you want: simple or redundant. If your new secondary server is on a macOS machine no prompt will occur; macOS secondary servers are always simple.
  5. Auto-discovery will now continue, with the following automatically occurring:
    1. The secondary server re-configures itself to reference the primary server.
    2. The secondary server registers itself with the primary server.
    3. The primary server updates its local database.
    4. If you're using a Software-Based Load Balancing Configuration, the primary server now adds the new secondary server to its load balancer configuration and uses it as an additional node in its cluster.

Add a Secondary Server While Offline

If you are not connected to the Internet, you can still connect your new secondary server to the primary server, but the auto-discovery process is not available. You must instead manually configure the newly installed secondary server to locate the primary server. If your new secondary server is on a Windows or Linux machine, you'll need to choose which kind of secondary server you want: simple or redundant. If your new secondary server is on a macOS machine no such decision is required; macOS secondary servers are always simple.

  1. Download and install SAFR Platform on the second machine.

  2. Run the safr-worker script on your secondary server by doing the following:

    For macOS:

    1. Open Terminal.

    2. Run the following command, substituting the primary SAFR hostname for HOSTNAME:

      sudo /Library/RealNetworks/SAFR/bin/safr-worker HOSTNAME

    For Windows

    1. On the primary server record the contents of C:\ProgramData\RealNetworks\SAFR\mongo\.adminpass and C:\ProgramData\RealNetworks\SAFR\mongo\mongod.keyfile

    2. On the new secondary server, open a command prompt by right-clicking on the Start menu, selecting Run, and entering cmd.

    3. If you want it to be a simple secondary server, in the new command prompt run the following command, substituting the password from .adminpass in Step 1 for PASSWORD and the primary server hostname for HOSTNAME:

      python "C:\Program Files\RealNetworks\SAFR\bin\safr-worker.py" -p PASSWORD HOSTNAME

      OR

    4. If you want it to be a redundant secondary server, in the new command prompt run the following command, substituting the mongod.keyfile contents from Step 1 for KEYFILE, the password from .adminpass in Step 1 for PASSWORD, and the primary server hostname for HOSTNAME:

      python "C:\Program Files\RealNetworks\SAFR\bin\safr-worker.py" -s KEYFILE -p PASSWORD HOSTNAME

    For Linux

    1. On the primary server, record the contents of /opt/RealNetworks/SAFR/mongo/.adminpass and /opt/RealNetworks/SAFR/mongo/mongod.keyfile

    2. On the primary server, open /opt/RealNetworks/SAFR/virgo/config/virgo-factory.conf

    3. Within that file, look for a section that looks something like:

      "global":{
          "environment": "CUSTOM",
          "user-id": "ubuntu18int2tst",
          "user-encrypted-password": "%qy4Effq2cxYUrEopuIFSY3LE22hDBMOG6NdeqTWfok4=",
          "status-interval":5000,
          "remote-control-enabled":true
      },
    4. Record the "user-id" and "user-encrypted-password" values. These will be your SAFRUSER and SAFRPASSWORD values in the steps below.

    5. If you want it to be a simple secondary server, on the new secondary server run the following command.

      sudo python /opt/RealNetworks/SAFR/bin/safr-worker.py -p PASSWORD -u SAFRUSER -x SAFRPASSWORD HOSTNAME

      where:

      • PASSWORD = the password from .adminpass in Step 1
      • SAFRUSER = "user-id" from Step 4. Don't include the enclosing double quotation marks.
      • SAFRPASSWORD = "user-encrypted-password" from Step 4. Don't include the enclosing double quotation marks.
      • HOSTNAME = the primary server hostname

      OR

    6. If you want it to be a redundant secondary server, on the new secondary server run the following command.

      sudo python /opt/RealNetworks/SAFR/bin/safr-worker.py -s KEYFILE -p PASSWORD -u SAFRUSER -x SAFRPASSWORD HOSTNAME

      where:

      • KEYFILE = the contents of mongod.keyfile from Step 1
      • PASSWORD = the password from .adminpass in Step 1
      • SAFRUSER = "user-id" from Step 4. Don't include the enclosing double quotation marks.
      • SAFRPASSWORD = "user-encrypted-password" from Step 4. Don't include the enclosing double quotation marks.
      • HOSTNAME = the primary server hostname

Error Messages

When attempting to join a new secondary server, you might encounter the following error messages:

Error Message Description
System is offline Network or system connectivity issue. Attempt to access the system at a later time.
SAFR master host is not reachable Ensure all servers are connected to the same network and try again.
Improperly configured SSL certificate Installing non self-signed SSL certificates is recommended when setting up multiple servers. See the SSL Certificates page for information about how to install an SSL certificate.
Secure connection error. Check server for valid SSL certificate Installing non self-signed SSL certificates is recommended when setting up multiple servers. See the SSL Certificates page for information about how to install an SSL certificate.
Incomplete server connection Attempt to join again; a persistent issue may require either uninstalling and reinstalling SAFR Platform on your servers or contacting your SAFR support representative.

Secondary Server Health Checks

See Also