Bobcares

HAProxy VRRP Module- Installation & Configuration

by | Jan 12, 2024

Learn how to install and configure the HAProxy VRRP module. Our HAProxy Support team is here to help you with your questions and concerns.

HAProxy VRRP Module- Installation & Configuration

Did you know that HAProxy Enterprise’s VRRP module assigns a virtual, static IP address to the load balancer node?

In case of node failure, the IP address transfers instantly to a backup node. This will prevent any break in service. Our router can send traffic to the load balancer’s IP address. The module uses a stable version of Keepalived to implement the Virtual Router Redundancy Protocol (VRRP).

How does the HAProxy VRRP module work

In the beginning, the active router sends out periodic advertisements to the passive routers, which monitor the running status.

In case the active routers do not advertise after a certain interval, keepalived starts failover. Then, the virtual servers are cleared and a new active router takes control of the virtual IP, begins health checks, and starts sending VRRP advertisements.

HAProxy VRRP Module – Installation and Configuration

  1. First, install the VRRP module with the system’s package manager on both HAProxy Enterprise nodes participating in the load balancer cluster.

    # On Debian/Ubuntu
    sudo apt-get install hapee-extras-vrrp

  2. Then, configure the VRRP instance on the active load balancer node. So, edit the file `/etc/hapee-extras/hapee-vrrp.cfg` with the necessary changes, including the network interface name, virtual IP address, etc as seen here:

    HAProxy VRRP Module - Installation and Configuration

  3. Then, it is time to start the `hapee-extras-vrrp` service:

    sudo systemctl start hapee-extras-vrrp
    sudo systemctl enable hapee-extras-vrrp

  4. We can let the server bind to the virtual IP address, by editing the `/etc/sysctl.conf` file and adding the following directive:

    net.ipv4.ip_nonlocal_bind=1

  5. After making this change, reboot the server.
  6. Then, adjust the HAProxy Enterprise configuration to use the virtual IP address.


    frontend myfrontend
    mode http
    bind 192.165.42.11:80
    default_backend web_servers

  7. Then, ensure that the backup load balancer’s VRRP configuration mirrors the active one. We have to make changes to both the VRRP configuration file and the HAProxy Enterprise configuration.

To add an extra layer of sophistication, a custom bash script can be used for health checks. Here, a script named `check_haproxy` verifies the presence of the HAProxy process every 2 seconds. This script is then integrated into the VRRP configuration:


vrrp_script check_haproxy {
script "pidof haproxy"
interval 2
}

Finally, define the load balancer’s VRRP instance with the communication details, election priorities, and a unique virtual router ID for both hosts:

vrrp_instance VI_1 {
interface eth1
state MASTER
priority 255
virtual_router_id 50
}

With the above steps, we will have a robust high availability setup for our HAProxy Enterprise load balancer, ensuring uninterrupted service even in the face of node failures.

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

In brief, our Support Experts demonstrated how to install and configure the HAProxy VRRP module for uninterrupted service even during node failures.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF