Configure High Availability and Scalability

Cluster

Create Cluster

In this procedure, we refer to the primary server as primary and to the two secondary servers as node A and node B.

Before You Begin

When a secondary server joins a cluster, all of the data on the secondary server is discarded. If you need to retain the data for future use, back up the secondary server before joining it to the cluster.

Procedure
    Step 1   Deploy the .OVA to all three servers.
    Step 2   For all three Cisco Jabber Guest servers, make sure that you set the FQDN. For more information, see Set FQDN of Cisco Jabber Guest Server.
    Step 3   Sign in to each server as root.
    Step 4   To establish the primary, on one of the three servers:
    1. Type cluster initiate, and follow the on-screen prompts. It takes a minute or two for the database to stabilize in its new configuration.
    2. Verify that the database has stabilized by typing cluster status. When the database has stabilized, the status shows: ---> <IP address/hostname of primary> PRIMARY. The symbol ---> indicates the current server.
    3. Restart Tomcat: service tomcat-as-standalone.sh restart.
    Step 5   To join node A to the cluster, on one of the remaining servers:
    1. Type cluster join <IP address/hostname of primary>, and follow the on-screen prompts. It takes a minute or two for the database to stabilize in its new configuration.
    2. Verify that the database has stabilized by typing cluster status. When the database has stabilized, the status shows: ---> <IP address/hostname of node A> SECONDARY.
    3. Restart Tomcat: service tomcat-as-standalone.sh restart.
    Step 6   To join node B to the cluster, on the remaining server:
    1. Type cluster join <IP address/hostname of primary>, and follow the on-screen prompts. It takes a minute or two for the database to stabilize in its new configuration.
    2. Verify that the database has stabilized by typing cluster status. When the database has stabilized, the status shows as: ---> <IP address/hostname of node B> SECONDARY.
    3. Restart Tomcat: service tomcat-as-standalone.sh restart.
    Step 7   Allow node A to communicate with node B:
    1. Type cluster allow <IP address/hostname of node B>.
    2. Verify that communication is allowed by typing cluster status. When communication is allowed, the status of node B changes from ---> <IP address/hostname of node B> not reachable/healthy to ---> <IP address/hostname of node B> SECONDARY.
    Step 8   Allow node B to communicate with node A:
    1. Type cluster allow <IP address/hostname of node A>.
    2. Verify that communication is allowed by typing cluster status. When communication is allowed, the status of node A changes from ---> <IP address/hostname of node A> not reachable/healthy to ---> <IP address/hostname of node A> SECONDARY.

    What to Do Next

    For each of the three servers in the cluster, configure the appropriate SIP trunk in Cisco Unified Communications Manager or zones in Cisco TelePresence Video Communication Server, depending on the type of servers deployed in your network.

    Change IP Address or Hostname of Server in Cluster

    You can modify the IP address or hostname of a server in the cluster if it changes for any reason.

    In this procedure, we refer to the server that we change the IP address or hostname of as the target server.

    Procedure
      Step 1   Make a note of the current IP address or hostname of the target server. You need to enter it during Step 4.b.
      Step 2   (Optional)If you are changing the IP address or hostname of the primary server, demote the primary server to a secondary server, otherwise proceed to Step 3:
      1. On the primary server, type cluster stepdown.
      2. Verify that the target server has been demoted from the primary server to a secondary server by typing cluster status.
      3. Make a note of which server is now the primary server.
      Step 3   Change the IP address or hostname of the target server.
      Step 4   In the cluster, change the IP address or hostname of the target server:
      1. Sign in to the primary server as root.
      2. Type cluster move <old IP address/hostname of target server> <new IP address/hostname of target server>.
      3. Verify that the IP address or hostname of the target server has changed by typing cluster status.
      Step 5   On the other secondary server (node B), block communication from the old IP address or hostname of the target server and allow communication with the new IP address or hostname of the target server:
      1. Sign in to node B as root.
      2. On node B, block communication from the old IP address or hostname of the target server by typing cluster disallow <old IP address/hostname of target server>.
      3. On node B, allow communication with the new IP address or hostname of the target server by typing cluster allow <new IP/hostname of target server>.
      Step 6   Make sure that each server in the cluster is healthy by typing: cluster status.
      Step 7   On the target server, restart Tomcat:
      service tomcat-as-standalone.sh restart
      Step 8   If you changed the IP address or hostname of the primary server, in Cisco Jabber Guest Administration, update the domain used for links:
      1. Sign in to Cisco Jabber Guest Administration as an administrator.
      2. Click Settings, and then click Links.
      3. For Domain used for Links, enter the IP address or hostname of the new primary server.
      4. Click Update.

      What to Do Next

      If you are using a self-signed certificate, you must generate a new certificate after you change the IP address or hostname of the server.

      Related Tasks
      Change Virtual Machine Properties of a vCenter-hosted Server
      Change Virtual Machine Properties of a UC Virtualization Foundation, UC Virtualization Hypervisor, or ESXi-hosted Server
      Generate New Self-Signed Certificate

      Demote Primary Server to Secondary Server

      You can demote or stepdown a primary server to a secondary server. For example, if you need to do maintenance on the primary server.

      A new primary server is elected from the remaining servers in the cluster.

      Procedure
        Step 1   Sign in to the primary server as root.
        Step 2   Type cluster stepdown.
        Step 3   Verify that the server has been demoted to secondary by typing cluster status.

        Upgrade Cluster

        In this procedure, we refer to the primary server as node A and to the two secondary servers as node B and node C.

        Procedure
          Step 1   Make a note of which nodes are the primary and secondary servers:
          1. Sign in to one of the Cisco Jabber Guest servers as root.
          2. Type cluster status.
          Step 2   Make sure that you have backed up each server in the cluster.
          Step 3   Download JabberGuest-11.x.x.x-Upgrade-Only.iso.
          Step 4   Open vSphere Client.
          Step 5   If a CD/DVD drive is not connected to the virtual machine, add one:
          1. In the Virtual Machine Properties window, click the Hardware tab, and then click Add to bring up the Add Hardware window.
          2. In the Add Hardware window, select CD/DVD Drive as the device type, and then click Next.
          3. For the CD/DVD Media type, click Use physical drive, and then click Next.
          4. Accept the default CD/DVD drive when prompted to select a drive, and then click Next.
          5. In the Advanced Options settings, accept the default values, and then click Next.
          6. In the Ready to Complete window, click Finish.
          7. In the Virtual Machine Properties window, click OK.
          Step 6   On each server, connect the CD/DVD drive to the ISO image:
          1. In the virtual machines and templates inventory tree, select the virtual machine.
          2. Click the Connect/disconnect the CD/DVD devices of the virtual machine button. The button icon is a disk with a wrench.
          3. Point to CD/DVD drive 1, and then click Connect to ISO image on local disk.
          4. In the Open window, browse to the ISO image downloaded in Step 2 and double-click it.
          It takes a little while to connect to the ISO image. When connected, in the Recent Tasks list, the status of the Connect task shows Completed.
          Step 7   Prepare to upgrade node B by updating the reverse proxy so that call requests are sent to node A first, node C second, and no call requests are sent to node B:
          1. On Cisco Expressway-C, choose Configuration > Unified Communications > Configuration.
          2. Under Jabber Guest, click Configure Jabber Guest servers.
          3. In the row for node A, click View/Edit, change the value for Priority to 1, and click Save.
          4. In the row for node B, click View/Edit, change the value for Priority to 0, and click Save.
          5. In the row for node C, click View/Edit, change the value for Priority to 2, and click Save.
          Step 8   Make sure that there are no calls on node B:
          1. On Cisco Expressway-C, choose Configuration > Zones > Zones.
          2. In the row for node B, wait until the Calls column show 0 calls.
          Step 9   Upgrade node B by doing the following:
          1. Sign in to the server as root.
          2. Under the /mnt directory, create a new directory named cdrom to be used as the mount location for the CD/DVD drive:
            mkdir /mnt/cdrom
          3. Mount the CD/DVD drive to /mnt/cdrom:
            mount /dev/cdrom /mnt/cdrom
            When the CD/DVD drive is mounted, the following message appears: mount: block device /dev/sr0 is write-protected, mounting read only.
          4. Change directory to /mnt/cdrom:
            cd /mnt/cdrom
          5. Execute the upgrade script:
            bash upgrade
          When the upgrade is complete, the following message appears: The log file, for this upgrade, can be found in /var/log/webcommon/upgrade.log.
          Step 10   Prepare to upgrade node C by updating the reverse proxy so that call requests are sent to node A first, node B second, and no call requests are sent to node C:
          1. On Cisco Expressway-C, choose Configuration > Unified Communications > Configuration.
          2. Under Jabber Guest, click Configure Jabber Guest servers.
          3. In the row for node A, leave the priority set to 1.
          4. In the row for node B, click View/Edit, change the value for Priority to 2, and click Save.
          5. In the row for node C, click View/Edit, change the value for Priority to 0, and click Save.
          Step 11   Make sure that there are no calls on node C:
          1. On Cisco Expressway-C, choose Configuration > Zones > Zones.
          2. In the row for node C, wait until the Calls column show 0 calls.
          Step 12   Upgrade node C by repeating Step 9.
          Step 13   Verify that node B and node C are back up and running by signing in to Cisco Jabber Guest Administration as an administrator.
          1. Confirm that the Cisco Jabber Guest version number to which you upgraded appears at the bottom of the screen.
          2. Check to make sure that all users and links look correct.
          Step 14   Prepare to upgrade node A by updating the reverse proxy so that call requests are sent to node C first, node B second, and no call requests are sent to node A:
          1. On Cisco Expressway-C, choose Configuration > Unified Communications > Configuration.
          2. Under Jabber Guest, click Configure Jabber Guest servers.
          3. In the row for node A, click View/Edit, change the value for Priority to 0, and click Save.
          4. In the row for node B, leave the priority set to 2.
          5. In the row for node C, click View/Edit, change the value for Priority to 1, and click Save.
          Step 15   Wait until there are no calls on node A:
          1. On Cisco Expressway-C, choose Configuration > Zones > Zones.
          2. In the row for node C, wait until the Calls column show 0 calls. This may take a few minutes because this server handled all of the calls while the other two servers were upgraded.
          Step 16   Demote node A to a secondary server:
          1. Type cluster stepdown.
          2. Verify that either node B or node C has been promoted to primary server by typing cluster status.
          Make sure that the status of either node B or node C shows: ---> <IP address/hostname of node B or node C> PRIMARY.
          Step 17   Upgrade node A by repeating Step 9.
          Step 18   Verify that node A is back up and running by signing in to Cisco Jabber Guest Administration as an administrator. The Cisco Jabber Guest version number to which you upgraded appears at the bottom of the screen.
          Step 19   Promote node A to the primary server:
          1. On the server that is currently the primary, type cluster stepdown.
          2. Check to see if node A was promoted to primary by typing cluster status. If node A is the primary, the status shows: ---> <IP address/hostname of node A> PRIMARY.
          3. If node A was not promoted to primary, repeat Step 12.a until node A is promoted to the primary server.
          Step 20   Update the order of the reverse proxy.
          Step 21   To ensure that the latest version of Cisco Jabber Guest Administration is loaded in your browser, refresh any browser instances that are signed in to Cisco Jabber Guest Administration or that have the Cisco Jabber Guest Administration sign-in page loaded.

          Remove Server from Cluster

          Important:

          After a server is removed from a cluster, it cannot be run as a standalone Cisco Jabber Guest instance. To do this, the server must be reinstalled.

          In this procedure, we refer to the secondary server that we want to remove as node A, and to the other secondary server as node B

          Procedure
            Step 1   Sign in to each server in the cluster as root.
            Step 2   On the primary server:
            1. Type cluster remove <IP address/hostname of node A>, and follow the on-screen prompts.
            2. Verify that node A is removed from the cluster by typing cluster status. Node A is removed from the list of servers.
            Step 3   On node A, block communication from node B by typing cluster disallow <IP address/hostname of node B>.
            Step 4   On node B, block communication with node A by typing cluster disallow <IP address/hostname of node A>.

            Configure Load Balancing

            Configure Round-Robin DNS Load Balancing

            With round-robin DNS load balancing, a DNS server returns an ordered list of IP addresses associated with a single host name. With each new query on that host name, the DNS server rotates through the list. Multiple servers at different IP addresses take turns handling new requests to provide the same service.

            For TURN traffic, an advantage of round-robin DNS load balancing is that it also provides redundancy. If a TURN server is down or unreachable, the client tries another server.


            Note


            The order of the IP address list returned for a DNS lookup is difficult to predict if the DNS server is under any kind of load directed at the host name. The important thing to expect is that calls to the host name go to different servers over time.


            Procedure
              Step 1   Make sure that the DNS server has round-robin enabled.
              Step 2   Make sure that the FQDNs for the Cisco Expressway-C and Cisco Expressway-E clusters are configured on the DNS server to round-robin through the IP addresses of the server cluster.
              Step 3   Sign in to Cisco Jabber Guest Administration as an administrator.
              Step 4   Click Settings, and then click Call Control and Media.
              Step 5   To set up round-robin DNS for the SIP server:
              1. For SIP server, enter the FQDN of the Cisco Expressway-C cluster.
              2. Next to Send SIP traffic to, click SIP server specified above.
              Step 6   To set up round-robin DNS to request short-term TURN credentials from Cisco Expressway-C:
              1. For Expressway-C (IP address or DNS name), enter the FQDN of the Cisco Expressway-C cluster.
              2. Next to Request short-term TURN credentials from, click Expressway-C server specified above.
              Step 7   To set up round-robin DNS for the TURN server: For Expressway-E TURN server (IP address or DNS name), enter the FQDN of the Cisco Expressway-E cluster. Successive clients making TURN requests to that cluster FQDN are directed to different servers in the Cisco Expressway-E cluster; however, whether and how a particular client uses round-robin DNS for subsequent calls can be influenced by DNS caching.
              Step 8   Click Update.

              Round-robin DNS takes effect if the Cisco Jabber Guest call URL that is used by a client browser to make a Cisco Jabber Guest call uses the FQDN for the Cisco Expressway-E cluster.

              What to Do Next

              To ensure that the number of new call requests does not exceed the capacity of the Cisco Expressway-C, make sure that you change the SIP call throttle limit.

              Change the SIP Call Throttle Limit

              To ensure that the rate of new call requests (SIP INVITES) does not exceed the capacity of the Cisco Expressway-C, the Cisco Jabber Guest server implements a call throttling mechanism.

              For a clustered Cisco Expressway-C deployment in which load balancing is achieved by round-robin DNS, we recommend that you change the SIP call throttle limit to 10 multiplied by the number of servers in the Cisco Expressway-C cluster to which Cisco Jabber Guest sends SIP. For example, if there are two servers in the Cisco Expressway-C cluster, set the SIP call throttle limit to 20.

              If the rate of new calls exceeds the throttle limit, Cisco Jabber Guest delays a small amount of time before processing those calls that exceed the throttle limit. This throttling should not be noticed by users.

              Procedure
                Step 1   Sign in to Cisco Jabber Guest Administration as an administrator.
                Step 2   Click Settings, and then click Advanced Settings.
                Step 3   In the SIP call throttle limit (new calls/second) box, type or select the throttle limit.
                Step 4   Click Update.

                Configure Round-Robin CSV Loading Balancing

                With round-robin CSV load balancing, a Cisco Jabber Guest server can be configured to make requests, in round-robin order, across individually specified servers by using a CSV list. After a server is used, the next server on the list is used, until the choice rotates to the beginning of the list and then repeats.

                Procedure
                  Step 1   Sign in to Cisco Jabber Guest Administration as an administrator.
                  Step 2   Click Settings, and then click Call Control and Media.
                  Step 3   To set up a CSV list for the SIP server:
                  1. For SIP server, enter a list of IP addresses or FQDNs for individual Cisco Expressway-C servers. The list of IP addresses or FQDNs must be separated by commas and must not contains spaces.

                    Example:expressway-c-1.somedomain.com,expressway-c-2.somedomain.com,expressway-c-3.somedomain.com
                  2. Next to Send SIP traffic to, click SIP server specified above.
                  Step 4   To set up a CSV list to request short-term TURN credentials from Cisco Expressway-C:
                  1. For Expressway-C (IP address or DNS name), enter a list of IP addresses or FQDNs for individual Cisco Expressway-C servers. The list of IP addresses or FQDNs must be separated by commas and must not contains spaces.

                    Example:expressway-c-1.somedomain.com,expressway-c-2.somedomain.com,expressway-c-3.somedomain.com
                  2. Next to Request short-term TURN credentials from, click Expressway-C server specified above.
                  Step 5   To set up a CSV list for the TURN server: For Expressway-E TURN server (IP address or DNS name), enter a list of FQDNs for individual Cisco Expressway-E servers. The list of FQDNs must be separated by commas and must not contains spaces.

                  Example:expressway-e-1.somedomain.com,expressway-e-2.somedomain.com,expressway-e-3.somedomain.com
                  Step 6   Click Update.

                  Configure HTTP Load Balancing

                  Cisco Jabber Guest server can take advantage of HTTP load balancing from the Cisco Expressway-C by sending SIP and TURN credential requests to the Cisco Expressway-C that sent the HTTP.

                  Procedure
                    Step 1   Sign in to Cisco Jabber Guest Administration as an administrator.
                    Step 2   Click Settings, and then click Call Control and Media.
                    Step 3   To send SIP to the Cisco Expressway-C that sent the HTTP, next to Send SIP traffic to, click Expressway-C server that proxied the HTTP request from Jabber Guest client.
                    Step 4   To send TURN credential requests to the Cisco Expressway-C that sent the HTTP, next to Request short-term TURN credentials from, click Expressway-C server that proxied the HTTP request from Jabber Guest client.
                    Step 5   Click Update.

                    Configure Round-Robin TURN Port Range Load Balancing

                    You can configure Cisco Jabber Guest to take advantage of the load-balancing potential for TURN requests by using different TURN ports for each successive TURN request.

                    On a large Cisco Expressway-E deployment, up to six TURN request ports can be specified as a range. When used in combination with round-robin DNS or round-robin CSV for TURN servers, this multiplies the number of TURN request ports in use.

                    Procedure
                      Step 1   Sign in to Cisco Jabber Guest Administration as an administrator.
                      Step 2   Click Settings, and then click Call Control and Media.
                      Step 3   For TURN port, enter a hyphenated range of port numbers that matches the range of TURN request ports configured on Cisco Expressway-E (under Configuration > Traversal > TURN).

                      Example: 3478-3483
                      Step 4   Click Update.