kolla-ansible/doc/source/reference/high-availability/haproxy-guide.rst
Michal Arbet 09d0409ed4 Allow user to set sysctl_net_ipv4_tcp_retries2
This patch is adding configuration option to
manipulate with kernel option sysctl_net_ipv4_tcp_retries2.

More informations about kernel option in [1][2]
and RedHat suggestion [3] to set for DBs and HA.

[1]: https://pracucci.com/linux-tcp-rto-min-max-and-tcp-retries2.html
[2]: https://blog.cloudflare.com/when-tcp-sockets-refuse-to-die/
[3]: https://access.redhat.com/solutions/726753

Closes-Bug: #1917068
Change-Id: Ia0decbbfa4e33b1889b635f8bb1c9094567a2ce6
2021-06-23 10:34:12 +00:00

1.4 KiB

HAProxy Guide

Kolla Ansible supports a Highly Available (HA) deployment of Openstack and other services. High-availability in Kolla is implented as via Keepalived and HAProxy. Keepalived manages virtual IP addresses, while HAProxy load-balances traffic to service backends. These two components must be installed on the same hosts and they are deployed to hosts in the haproxy group.

Preparation and deployment

HAProxy and Keepalived are enabled by default. They may be disabled by setting the following in /etc/kolla/globals.yml:

enable_haproxy: "no"
enable_keepalived: "no"

Configuration

Failover tuning

When a VIP fails over from one host to another, hosts may take some time to detect that the connection has been dropped. This can lead to service downtime.

To reduce the time by the kernel to close dead connections to VIP address, modify the net.ipv4.tcp_retries2 kernel option by setting the following in /etc/kolla/globals.yml:

haproxy_host_ipv4_tcp_retries2: 6

This is especially helpful for connections to MariaDB. See here, here and here for further information about this kernel option.