Suggestion for a high-availability setup
A high-availability setup ensures that your IBM Integrated Synchronization process remains intact in case of a network connection or similar failure. Several ways for such a setup are thinkable. The setup suggested here is based on a DDVIPA network and uses a Db2 data sharing group. It is relatively easy to implement and, once set up, does not require any manual intervention on your part because the maintenance is fully automatic.
The following prerequisites must be met for the suggested setup:
- A DDVIPA network between the z/OS LPAR used by Db2 for z/OS and your accelerators. DDVIPA is short for distributed dynamic virtual IP addressing.
- A Db2 for z/OS data sharing group used as the source for your IBM Integrated Synchronization process.
In general, a DDVIPA network is used to evenly distribute incoming requests to the available Db2 data sharing members. As connections might vary from request to request, such a network seems unsuitable for IBM Integrated Synchronization at a first glance because IBM Integrated Synchronization requires a permanent (unchanging) network connection between a Db2 data sharing member and an accelerator.
However, the distribution channels in a DDVIPA network are separated by the ports that are used. Each IP distribution channel is bound to a specific port number. It is possible to define the same secure port for data sharing members within the same group. See the following diagram:
IBM Integrated Synchronization uses a timeout value of 60 seconds for log reader tasks. If no new requests are made during this period, Db2 for z/OS ends the active session automatically, and resources are cleaned up. Therefore, accelerators make new requests within this period to keep the log reader task active. A TIMEDAFFINITY value of 60 seconds, a length equal to that of the timeout period for log reader tasks, ensures that the DDVIPA network will route these requests to the same data sharing member, as long as the member and the connected accelerator remain up and running.
If a data sharing member ceases to listen for requests on the assigned port, the DDVIPA network ignores the TIMEDAFFINITY parameter and starts a new distribution process to find a working member that accepts connections at the specified port address. Because the port number is the same as for the old connection, and the data in both members is identical, the incremental update process can continue without interruption. Once the new connection is established, the accelerator will remain connected to the second member until this new connection fails for some reason.
If, on the other hand, the accelerator stops making requests, and restarts at a time exceeding the timeout period of 60 seconds, it will likely connect to a different data sharing member. Usually, this occurs if incremental updates were suspended, in which case a new session is started anyway.
The suggested setup also supports multiple accelerators that use IBM Integrated Synchronization. Each accelerator can be assigned to a different data sharing member, or to the same member depending on the other distribution options. The accelerators remain connected to their assigned data sharing members, independent of each other.
When a failover to a different data sharing member occurs, the administrator will be notified of this event because several error messages are issued when the new session starts. The incremental updates will remain active despite the failover.
A planned maintenance isn't very complicated either. You just have to stop the location alias of the member that you want to shut down. As long as other members are active that use the same port in their location aliases, requests will be redirected to these other members.