This creates a new ha-guide-draft directory to allow developing the guide. Add infrastructure for: * The draft guide is not translated currently. * Build RST version (but not PDF yet) with each run. * Publish guide as draft * Update built index for it. Also updates the ToC to reflect the proposed changes. Implements: blueprint implement-ha-guide-todos Change-Id: If6f65646e02ac3eac08c288fd727ab9851cf9569
3.4 KiB
Commonly used technology
Hardware
The following are the standard hardware requirements:
- Provider networks: See the Overview -> Networking Option 1: Provider networks section of the Install Tutorials and Guides depending on your distribution.
- Self-service networks: See the Overview -> Networking Option 2: Self-service networks section of the Install Tutorials and Guides depending on your distribution.
Load balancers
Redundant switches
Bonded interfaces
Storage
Software
HAproxy
HAProxy provides a fast and reliable HTTP reverse proxy and load balancer for TCP or HTTP applications. It is particularly suited for web crawling under very high loads while needing persistence or Layer 7 processing. It realistically supports tens of thousands of connections with recent hardware.
Note
Ensure your HAProxy installation is not a single point of failure, it is advisable to have multiple HAProxy instances running.
You can also ensure the availability by other means, using Keepalived or Pacemaker.
Alternatively, you can use a commercial load balancer, which is hardware or software. We recommend a hardware load balancer as it generally has good performance.
For detailed instructions about installing HAProxy on your nodes, see the HAProxy official documentation.
keepalived
keepalived is a routing software that provides facilities for load balancing and high-availability to Linux system and Linux based infrastructures.
Keepalived implements a set of checkers to dynamically and adaptively maintain and manage loadbalanced server pool according their health.
The keepalived daemon can be used to monitor services or systems and to automatically failover to a standby if problems occur.
Pacemaker
Pacemaker cluster stack is a state-of-the-art high availability and load balancing stack for the Linux platform. Pacemaker is used to make OpenStack infrastructure highly available.
Pacemaker relies on the Corosync messaging layer for reliable cluster communications. Corosync implements the Totem single-ring ordering and membership protocol. It also provides UDP and InfiniBand based messaging, quorum, and cluster membership to Pacemaker.
Pacemaker does not inherently understand the applications it manages. Instead, it relies on resource agents (RAs) that are scripts that encapsulate the knowledge of how to start, stop, and check the health of each application managed by the cluster.
These agents must conform to one of the OCF <https://github.com/ClusterLabs/ OCF-spec/blob/master/ra/resource-agent-api.md>, SysV Init <http://refspecs.linux-foundation.org/LSB_3.0.0/LSB-Core-generic/ LSB-Core-generic/iniscrptact.html>, Upstart, or Systemd standards.
Pacemaker ships with a large set of OCF agents (such as those managing MySQL databases, virtual IP addresses, and RabbitMQ), but can also use any agents already installed on your system and can be extended with your own (see the developer guide).