Redundant Infocast Servers

Precondition

There is only one Infocast Server in the IP-STB System

The redundant Infocast server must be part of the primary Infocast Server network. This means that the redundant Infocast server must be able to receive multicast traffic from the primary one.

The Infocast Servers communicate via multicast using the JGroups protocol.

For servers with more than one network interface, please note that JGroups will use the first network interface found (look in the infocast.log for the "Binding to interface..." message. The multicast traffic used to communicate the redundancy info always uses this interface. The other Infocast channel traffic uses the linux routing table to determine which interface to use).

There is no clearly defined 'Primary' and 'Secondary' role. The first server to start up will become the Primary. When the other server starts, it will notice that a Primary Server already exists, and will start itself in the Secondary role. Should the Primary Server then go down for some reason (eg a reboot), the Secondary will make itself the new Primary. As the other server comes back up, it will notice that a Primary Server already exists, and will start itself in the Secondary role.

Main flow

  1. Prepare a second Infocast Server as described in Installing the Starter Kit.
  2. Copy all the configuration files (infocastconfig.xml, infocastconfig.dtd, infocastclientconfig.xml, infocastclientconfig.dtd etc) from the original Infocast Server to the one newly installed. All files should be identical!
  3. Make sure that the Failover channel is defined in the infocastconfig.xml file on both servers:
      <failover>
        <address>224.0.0.35</address>
        <ttl>5</ttl>
        <timeout>500</timeout>
      </failover>    
    The multicast channel can be changed to any valid multicast IP address, as long as the same IP is set on both servers.
    Make sure that the TTL value is set so the servers multicast traffic will reach eachother.
  4. Start the redundant Infocast server service on the newly installed Infocast Server:
    $ service infocastserverd start
  5. Check the infocast log for the following output:
      -------------------------------------------------------
      GMS: address is: <IP address of this server>
      -------------------------------------------------------
      Primary/coordinator: <IP address of the OTHER server>
    No further log lines will appear, indicating that this server is in backup mode and does not transmit any Infocast data.

Post condition

A redundant Infocast server is ready to take over if the active (primary) Infocast server fails.

Check the infocast log for the following output when the primary server fails:

Primary/coordinator: <IP address of THIS server>
2008-11-19 10:02:04 - (224.2.2.2:22222): Processing "bootcast_1900"
2008-11-19 10:02:05 - (224.2.2.2:22222): Processing "bootcast_1900"
2008-11-19 10:02:05 - (224.2.2.2:22222): Processing "bootcast_1500"
2008-11-19 10:02:05 - (224.2.2.2:22222): Processing "bootcast_1500"
...
Then the redundant Infocast server started transmitting.

Managing an environment with redundant Infocast Servers

Note! It is very important to have the redundancy in mind when maintaining and configuring the Infocast Servers. Failure to comply with the conditions mentioned here may cause unpredictable behavior in the IP-STBs.