Changing the HADR config of an existing deployment

The configuration of an existing Zoom server deployment with High-Availability and Disaster Recovery enabled can be changed with respect to the peers, their groups, weights and priorities. However, presently this can be done only through a manual process and hence must be done very carefully and sparingly.

Changing server priority

The peer and group priorities decide the order in which Zoom clients connect with the server. Zoom clients connect with the servers in order of overall priority (product of peer priority and its group priority), with the highest priority server being connected to first. The priorities can be changed by modifying the hadrSpec in the server.xml file (inside the conf directory) of each of the Zoom servers identically; and then restarting all the Zoom servers together for the setting to take effect.

Changing other HADR configuration parameters

Changing other HADR parameters, including the addition/deletion of peers, restructuring of groups etc., is a more complex process. The steps involved are given below. Please review the guide on performing a manual DB sync across HADR peers, which is referred to in the following instructions.

  1. Install any new Zoom server peers. Stop the Zoom server after installation. Copy over the server.xml from any other existing peer and modify it as needed (server name, host name/IP, db location etc.)
  2. Make a note of the current RepoId of the existing repository.
    • On a client machine, open the Z -> Settings dialog. Go to the Existing working copies panel or Server panel and note the RepoId from there.
    • Alternatively, run a zm getcredentials command in a terminal and note the RepoId from its output.
  3. Identify a suitable peer to manually perform a file sync from its DB directories to all other peers’ DB locations.
    • Monitor the HADR Dashboard Status in any running Zoom server Webmin.
    • Wait till the peer with the highest weight gets its Last Delivered value equal to the highest Last Proposed value among all the peers.
    • This highest weight peer is the one to perform a DB sync from.
  4. Stop peers immediately.
    • Preferably stop all peers.
    • Else, stop at least a majority of the peers (in terms of weight), i.e., stop at least as many as peers as possible, such that the total weight of all the remaining alive peers is less than half of the total weight of all peers.
  5. Sync the DB files manually, from the identified peer to each of the other peers, including if any, the new peers. Follow the guide on manual DB sync to do this.
  6. Identically modify the hadrSpec in the server.xml file (inside the conf directory) for each of the Zoom server peers.
  7. Restart all the peers.
  8. As soon as any one of the peers is accessible, issue a zm setpeers command in a terminal, to revert the RepoId to the initial one, so that all existing working copies remain connected to the Zoom HADR repository.
    • zm -s <server-address> setpeers -r <old-RepoId> --peerNames <comma-separated-list-of-current-peer-names>

Leave a Comment