Synchronizing user configuration on multiple instances

You can synchronize user configuration on two or more instances of Cleo Harmony or Cleo VLTrader. Synchronization can involve a production system and one or more redundant backup systems, or it can involve distributed, non-redundant production systems. To allow for these different system scenarios, you can set up synchronization to include the entire set of user configuration data or a subset. Items available for synchronization include:

  • Trading partner/CA certificates
  • User certificates/private keys
  • System options
  • Proxy settings
  • AS/400 configuration
  • Windows/Unix folders configuration
  • Schedule
  • Routes
  • Local Listener
  • Hosts
  • Trading Partners
Note: In the case of backup systems, synchronization is geared towards dedicated, hot backup systems.  This feature is not conducive to a backup system that is also used as a standalone test system.
CAUTION: To avoid confusion, activate synchronization using the system containing the starting point of the files to be synchronized. This protects you from accidentally clearing configuration data. For example, when adding a synchronized backup to a production system, use the production system to activate synchronization.

For further protection, before activating synchronization use File > Export to backup user files. See Exporting user files.

  1. In the web UI, go to Administration > Network > Synchronization. In the native UI, select Configure > Synchronization in the menu bar.

    The synchronization table appears. It always includes the active system (Cleo Harmony or Cleo VLTrader) indicated by a dot.  This entry cannot be removed; right-click the entry and select Edit to modify the Backup Only setting for this system.

  2. Add a system to be synchronized.
    1. Click Add VLTrader/Harmony.
      The Cleo Harmony Synchronization or Cleo VLTrader Synchronization dialog box appears.
    2. Enter the serial number of the Cleo Harmony or Cleo VLTrader system to be synchronized and indicate whether it is a backup system.
      A backup system should be configured as such. In fact, your license for the backup system might indicate Backup Only, which allows use as a backup system only. Backup systems are fully operational except for the following:
      Note: While the production system is online, the scheduler can not be started on the backup system. If the schedule is marked to Automatically run at startup, the schedule will start up automatically on the backup system if the production system goes offline and will stop automatically when the production system comes back online. The same rules apply for the router and outbound database payload features.
    3. Enter the system’s computer name or address and the HTTP or HTTP/s port the Local Listener for that system is listening on (default is HTTP 5080).  Cleo recommends enabling a secure HTTP/s port for synchronization and in fact will automatically switch to using a secure HTTP/s port if one exists.
    4. Optional – Add a Group to specify failover rules that designate how production/backup systems will respond when production systems go offline. This might be the case when, for example, you have separate configurations of production and backup servers in multiple data centers and want them to be organized in logical groups; or you have backup systems that are designated for disaster recovery and only want the backup systems to become active when all the production systems are offline. When groups are specified, the Cleo Harmony and Cleo VLTrader systems support either multiple production/backup groups or one all-production group and one all-backup group. See item 9, below, for a detailed description of the production/backup group and all-production/all-backup group failover rules.
    5. Optional - Add an alias.  If you provide an alias, it is included in the title bar of the product's main window.  If the Cleo VLNavigator application is installed, you can set the alias to be included in the Cleo VLNavigator application's title bar by selecting the VLNavigator Alias check box. 
    6. Optional - enter some information in the Location Note field. For example, if you are using SNMP, enter a location note that can be used to describe the location.
    7. Select items to synchronize. You can select items individually, click All to select them all, or click None to clear all selections.
       

      Any combination of synchronized items is allowed, except for the following:

      • routes cannot be shared across production systems
      • trading partner/CA certificates and user certificates/private keys must be shared if hosts are being shared
      • hosts must be shared if the schedule is being shared
      • hosts must be shared across a production and backup system
      • trading partners can only be synchronized if hosts are synchronized
    Note: You can ensure that schedulers across systems in the cluster are synchronized by selecting the Run Scheduler Automatically At Startup option on the Administration > System > Other page. See Other system options.
  3. Click OK
    On Cleo VLTrader systems, a confirmation dialog box appears. Click Yes to continue.
    On Cleo Harmony systems, the Synchronization Username/Password entry dialog box appears because Cleo Harmony installs require an additional level of security to sync with another node.  Enter the user name and password for the system you are connecting to. The user you enter must have editable privileges to the system tree. Click OK to continue.
    For both Cleo VLTrader and Cleo Harmony systems, another dialog box appears allowing you to confirm that the existing user configuration on this system should be the starting point for both systems.
  4. Click Yes to continue with synchronization.
    At this point, the systems connect and the synchronization parameters on the other side are automatically configured to match. If any network or port address translations (NAT or PAT) are being used between the two systems, the user might need to adjust the address and port of the automatically configured side for connecting back.

    When hosts are being synchronized, message IDs and receipts are also automatically synchronized for applicable protocols, including AS2/AS3, ebMS, OFTP and SMTP.

    • Sharing received message IDs ensures that duplicate messages can be detected from any of the synchronized instances of the product, not just the instance receiving the original message.
    • When a duplicate message ID is detected, sharing sent receipts allows the original receipt to be returned when dictated by the protocol.
    • Sharing received receipts ensures that the system that originally requested the receipt receives it.  This allows message completion to be properly recorded and avoids the potential for false receipt timeouts and unnecessary resends of payload.
    • Sharing all sent and received receipts allows the full complement of receipts to be available and viewable on any of the synchronized systems. 
    • Pending payload and receipt messages are NOT synchronized across systems, which means:
      • Resending payload messages when the asynchronous receipt timeout expires is not synchronized.
      • Resending asynchronous receipts that fail to be sent is not synchronized.

    Unlike configured synchronization items where the user must indicate which system contains the starting point, any recent messages IDs and receipts on either system are immediately shared when the synchronized systems are initialized. For systems already in production for some time, initial synchronization of message IDs and receipts may take an extended period (and this period may be CPU intensive on lower-end systems).

    The status displayed in the synchronization dialog box indicates what is currently being synchronized from this system to the other system. The status will also reflect when there is a connection error or a synchronization error. The status will eventually hold steady at Waiting for sync requests once initial synchronization has successfully completed.

  5. Once initial synchronization is complete, you can modify synchronized items on any system and the update will be applied to the other instances of the product, regardless of where it was originally configured and regardless of whether it is a production or backup system. However, a warning dialog box is displayed whenever an update of a synchronized item is attempted from a backup system. Click Yes to continue.
    Modified items are immediately synchronized. If a synchronized system is currently down, then a modified item is queued for synchronization for when the system comes back online.
  6. If errors occur, resolve them. Collisions can occur if users on two synchronized systems both update an item at the same time. If the same item is updated on both systems while the other system is offline, collisions will also occur when both systems are brought back online. An error message is generated and provides instructions to resolve the issue. Follow the instructions in the error message. A dialog box is displayed to allow you to continue.
  7. In the dialog box, click Just Resolve Errors to display a dialog box where you can select the errors you want to resolve.
  8. Select Sync Now check box for the errors you want to resolve and then click OK. The version of the file from this instance of the product is then synchronized with the other instance.
    Synchronization can also fail if the file being synchronized is somehow marked as read-only or if a host is being synchronized and the host is currently running. These failures must also be manually resolved.
  9. If a synchronized system has been offline for an extended period of time, an error message might be displayed.

    If the still-online system is a backup system and the schedule is configured to run automatically, a warning might also be logged.

    You can configure the amount of time before failover in the native UI at Configure > Options > Other > Synchronized Backup Failover or in the web UI at Administration > System > Other > Synchronized Backup Failover. Failover defaults to 5 minutes. The connection failure exception is logged halfway through the failover wait period, so the connection failure is logged by default after 2.5 minutes, and failover occurs after 2.5 more minutes.

    • If there are multiple backup systems being synchronized with the production system, the schedule is automatically started on whichever online backup system has the lowest serial number.  (If also configured, the router and outbound db payload features are also started.)
    • If there are multiple production systems synchronizing the schedule, the online production system with the lowest serial number is the "master" scheduler, and load balances scheduled actions across the other online productions systems.  If a production system should go offline, an online backup system is added to the load balancing pool. 
    • If all the production systems should go offline, the online backup system with the lowest serial number becomes the "master" scheduler.  (If also configured, the outbound db payload feature also loads balances in a similar fashion.)
    • When failover groups are defined:
      • If the production/backup systems are grouped together, activation of backup systems are based on just the status of the active nodes within the group instead of the status of all active nodes. You can designate as many production/backup groups as needed.
      • If all production systems are grouped together and all backup systems are grouped together, the backup system(s) only become activated after all production systems are down/offline. The number of backup systems that become active is the same as the number ‘n’ of previously active production systems, that is, if you have synchronized more backup systems than production systems, only ‘n’ number of backup systems will become active. Only one all-production group and one all-backup group can be configured.
  10. Should this become necessary, configuration items to be synchronized can be added or removed at any time. If making additions, it is recommended that this be done on the system containing the desired starting point of the configuration files being added. Go back to Configure > Synchronization in the native UI or Administration > Network > Synchronization in the web UI, right-click the serial number of the other instance, and select Edit. Then make the necessary modifications and click OK

    If synchronization items were added, again you will be asked if the existing user configuration for the item added on this instance should be the starting point for both systems.

  11. Synchronization with another instance can be temporarily disabled at any time by editing the configuration. When synchronization is re-enabled, if you chose to accumulate updates, any items modified while synchronization was disabled are immediately synchronized.

    Synchronization is automatically disabled should the product software versions become mismatched and automatically re-enabled once the versions are again aligned.

  12. If synchronization between two systems becomes unnecessary, you can remove it by going to the Synchronization panel, right-clicking the serial number of the other instance, and selecting Remove
    Note: If more than two instances are being synced and one needs to be removed from synchronization, it is best to temporarily disable the sync relationship on each instance before removing (otherwise, depending on timing, the relationship can get automatically added back in shortly after being removed).
    CAUTION: For high throughput systems using a receipt protocol (AS2/3, ebMS, OFTP, SMTP), if one of the synchronized systems will be off-line for an extended period of time (for example, hardware being repaired/replaced), it might be best to disable the synchronization configuration from the system still online until the offline system is again available. When disabling, be sure to choose to not accumulate updates and instead re-initialize later. Doing this will save the system still online from having to maintain a large synchronization queue and from having to delay archiving a large number of receipts.