C2: Migrating Persistence Servers with Static TCP to FTL Servers

If you have Release 5.4 persistence servers that communicate using static TCP transports, you can migrate them to Release 6.x FTL servers during scheduled downtime. Complete this task.

This task refers to three persistence servers because three is the minimum number for a fault-tolerant quorum. If your enterprise uses a larger quorum, generalize these instructions to the number of servers in your quorum.

Important: When migrating persistence servers with static TCP, it is crucial that each replacement persistence service (6.x) remains on the same host computer as the persistence server (5.4) that it replaces. In the following example, those hosts are distinct from the realm service hosts from task B, however, in actual enterprises they could be the same hosts.

Prerequisites

You have installed Release 6.x on every persistence server host computer.

You have upgraded all realm servers (5.4) to FTL servers (6.x).

Procedure

  1. Make a reference copy of the FTL server configuration file from the previous stage.
  2. Modify your working copy of the FTL server configuration file to include three auxiliary FTL servers, which will provide persistence services (6.x) to replace persistence servers (5.4).
    For each of these auxiliary servers, configure a persistence server. For each server, specify a unique service name from the realm's persistence cluster definition. For example:
    globals:
    
        core.servers:
            ftl1:  host1:8080 # 5.x client port
            ftl2:  host2:8080 # 5.x client port
            ftl3:  host3:8585
    
    servers:
    
        ftl1:
            - realm:
                data: /myhome/ftlserver/data
    
        ftl2:
            - realm:
                data: /myhome/ftlserver/data
    
        ftl3:
            - realm:
                data: /myhome/ftlserver/data
    
        ftl4:
            - ftl:
                server: p-host4:8585
            - persistence:
                name: psvc1
                data: /myhome/persistence/data
    
        ftl5:
            - ftl:
                server: p-host5:8585
            - persistence:
                name: psvc2
                data: /myhome/persistence/data
    
        ftl6:
            - ftl:
                server: p-host6:8585
            - persistence:
                name: psvc3
                data: /myhome/persistence/data
    Important: Define these additional FTL servers as auxiliary servers. That is, define their host and port values in the servers section, but do not add them to the core.servers map.
    Ensure that the persistence service in each auxiliary FTL server uses the same data directory as the old persistence server (5.4) that it replaces.
    Incorporate the other relevant persistence server command line arguments into persistence parameter sections in the configuration file.
  3. Update the existing FTL servers to the new configuration file.
    Stop and restart one of the existing FTL servers. The server reads the updated configuration file.
    Verify client status in the monitoring GUI of that FTL server.
    Repeat this step until all the existing FTL servers have the updated configuration file.
  4. Determine which existing persistence server (5.4) is the quorum leader.
    Use the realm server GUI to view the status of the persistence servers.
  5. Stop one of the non-leader persistence servers (5.4).
  6. On the same host computer, start the additional FTL server (6.x) that provides a persistence service replacing the stopped persistence server.
    Wait for the persistence quorum to synchronize data.
  7. Repeat steps 5 and 6 until you have replaced all the persistence servers.
    When you have replaced all the non-leaders, finally replace the quorum leader.
  8. Verify that persistence clients can publish and receive messages through the persistence service.

Result

When these steps are complete, you have replaced all persistence servers (5.4) in your enterprise with auxiliary FTL servers (6.x) that provide identical persistence service to the existing clients (5.4).