High Availability Setup

This chapter describes how to enable high availability by configuring the system for automatic failover of pico instances.

Storage and CMS Requirements

For all high availability deployments, an external cluster management software (CMS) is required to ensure that failovers are executed. Commonly used CMS products in physical hardware deployments include Veritas, or MC Service guard.

For batch processing, a shared or clustered storage should be used. For stateful real-time scenarios with session management, session information should be persisted, using a distributed storage such as CouchBase.

When  is installed in an Open Stack cloud you can use Corosync and Pacemaker for monitoring. In Amazon Web Services you can use CloudWatch to perform the monitoring and Auto Scale to dynamically recreate a failed node. 

Overview

provides HA monitor scripts that are executed by the cluster management software. After interpreting the result, additional scripts are available to start and stop pico instances. The provided scripts typically requires some amount of modification in order to work with your CMS product.

Each pico instance runs a HA Monitor Server that is responsible for reporting its status. This server is configured via a set of system properties. For further information about these properties, see High Availability Properties.

The system properties pico.rcp.platform.host and pico.rcp.server.host must be configured to enable failover to a secondary pico instance. Depending on the pico type and the deployment type the specified hostnames must resolve to local, virtual, floating, or elastic IP addresses. For further information about how to set these properties, see Resolving Hostnames.

When you setup the topology of the system, it is important to consider the ability to fail over pico instances and containers. For instance, in a deployment based on physical servers, the CMS product may support failover of an individual pico instance that runs in the Platform Container, e g an EC. However, in Amazon Web Services, Auto Scaling is used to start a copy of the failed host. This will impact all pico instances, including the Platform.

For simplicity, it is recommended that the Platform, ECs, and SCs runs in separate containers, and in the case of Amazon Web Servicer and Open Stack, on separate hosts.

Configuration of Cluster Monitoring Software

Configuring the cluster monitoring software is beyond the scope of the documentation. See the applicable third party documentation for this purpose. It is important to configure dependencies and availability of the resources within the cluster correctly. The cluster monitoring software must handle network interfaces, storage and database monitoring, and switching, including dependencies.