An active-active cluster is typically made up of at least two nodes, both actively running the same kind of service simultaneously. This allows the load balancer to distribute workloads across more nodes and improve throughput and response times.

A single node can be Master in a VRRP instance at a time. Hence, in order to configure an active / active cluster, you must set up two VRRP instances where each ALOHA will be Master.

From a DNS point of view, the service must point to both VIPs.

In the example below, we configure two load balancers: LB1 and LB2 which would be respectively Master in VRRP instance inst1 and inst2 (and slave in the other instance).

This configuration requires the following steps:

Configuring LB1

Configure LB1 VRRP daemon

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to VRRP service.

  4. Click Setup setup_icon.

    • Remove the line no autostart if it exists.

    • If a group directive exists and the required network interface is not listed, then append it.

    • Otherwise, add a group directive followed by the interface name.

    The configuration should look like the following:

    group eth0
    track_svc haproxy
    track_mgt sshd wui
  5. Click OK.

  6. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  7. Click Restart restart_icon.

Configure LB1 VRRP instance inst1

This is the Master in this instance.

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to the network interface you want to configure.

  4. Click Setup setup_icon.

  5. Add the following parameters to create a new VRRP instance:

    vrrp inst inst1 id 101

    This ID must be unique and depends on your environment

    vrrp inst inst1 garp 30

    vrrp inst inst1 prio 101

    LB1 Master priority (LB2 Slave has 100)

    vrrp inst inst1 address 192.168.1.21

    the Virtual IP

    vrrp inst inst1 password aloha

    recommended

    vrrp inst inst1 no-address

    recommended

    The configuration should look like the following:

    service network eth0
      ip   address 192.168.1.11/24
      ip   route   default 192.168.1.1
      vrrp inst inst1 id 101
      vrrp inst inst1 garp 30
      vrrp inst inst1 prio 101
      vrrp inst inst1 address 192.168.1.21
      vrrp inst inst1 password aloha
      vrrp inst inst1 no-address
  6. Click OK.

  7. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  8. Click Restart restart_icon.

Configure LB1 VRRP instance inst2

This is Slave in this instance.

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to the network interface you want to configure.

  4. Click Setup setup_icon.

  5. Add the following parameters to create a new VRRP instance:

    vrrp inst inst2 id 102

    This ID must be unique and depends on your environment

    vrrp inst inst2 garp 30

    vrrp inst inst2 prio 100

    LB1 Master priority (LB2 Slave has 100)

    vrrp inst inst2 address 192.168.1.22

    the Virtual IP

    vrrp inst inst2 password aloha

    recommended

    vrrp inst inst2 no-address

    recommended

    The configuration should look like the following:

    service network eth0
      ip   address 192.168.1.11/24
      ip   route   default 192.168.1.1
      vrrp inst inst1 id 101
      vrrp inst inst1 garp 30
      vrrp inst inst1 prio 101
      vrrp inst inst1 address 192.168.1.21
      vrrp inst inst1 password aloha
      vrrp inst inst1 no-address
      vrrp inst inst2 id 102
      vrrp inst inst2 garp 30
      vrrp inst inst2 prio 100
      vrrp inst inst2 address 192.168.1.22
      vrrp inst inst2 password aloha
      vrrp inst inst2 no-address
  6. Click OK.

  7. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  8. Click Restart restart_icon.

Configuring LB2

Configure LB2 VRRP daemon

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to VRRP service.

  4. Click Setup setup_icon.

    • Remove the line no autostart if it exists.

    • If a group directive exists and the required network interface is not listed, then append it.

    • Otherwise, add a group directive followed by the interface name.

    The configuration should look like the following:

    group eth0
    track_svc haproxy
    track_mgt sshd wui
  5. Click OK.

  6. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  7. Click Restart restart_icon.

Configure LB2 VRRP instance inst1

This is the Slave in this instance.

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to the network interface you want to configure.

  4. Click Setup setup_icon.

  5. Add the following parameters to create a new VRRP instance:

    vrrp inst inst1 id 101

    This ID must be unique and depends on your environment

    vrrp inst inst1 garp 30

    vrrp inst inst1 prio 100

    LB2 Slave priority (LB1 Master has 101)

    vrrp inst inst1 address 192.168.1.21

    the Virtual IP

    vrrp inst inst1 password aloha

    recommended

    vrrp inst inst1 no-address

    recommended

    The configuration should look like the following:

    service network eth0
      ip   address 192.168.1.12/24
      ip   route   default 192.168.1.1
      vrrp inst inst1 id 101
      vrrp inst inst1 garp 30
      vrrp inst inst1 prio 100
      vrrp inst inst1 address 192.168.1.21
      vrrp inst inst1 password aloha
      vrrp inst inst1 no-address
  6. Click OK.

  7. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  8. Click Restart restart_icon.

Configure LB2 VRRP instance inst2

This is the Master in this instance.

  1. Browse the ALOHA WUI.

  2. Open the Services tab.

  3. Scroll down to the network interface you want to configure.

  4. Click Setup setup_icon.

  5. Add the following parameters to create a new VRRP instance:

    vrrp inst inst2 id 102

    This ID must be unique and depends on your environment

    vrrp inst inst2 garp 30

    vrrp inst inst2 prio 101

    LB2 Master priority (LB1 Slave has 100)

    vrrp inst inst2 address 192.168.1.22

    the Virtual IP

    vrrp inst inst2 password aloha

    recommended

    vrrp inst inst2 no-address

    recommended

    The configuration should look like the following:

    service network eth0
      ip   address 192.168.1.12/24
      ip   route   default 192.168.1.1
      vrrp inst inst1 id 101
      vrrp inst inst1 garp 30
      vrrp inst inst1 prio 100
      vrrp inst inst1 address 192.168.1.21
      vrrp inst inst1 password aloha
      vrrp inst inst1 no-address
      vrrp inst inst2 id 102
      vrrp inst inst2 garp 30
      vrrp inst inst2 prio 101
      vrrp inst inst2 address 192.168.1.22
      vrrp int inst2 password aloha
      vrrp inst inst2 no-address
  6. Click OK.

  7. Click Close.

    The line corresponding to the VRRP daemon now appears in orange with the flag Need restart.

  8. Click Restart restart_icon.

Troubleshooting

Detect duplicated IPs

To troubleshoot duplicated IPs, you can use the ARP who-has diagnostic tool.

This tool checks if the MAC address associated with the IP address is the one expected or not:

  • If yes, the problem may be on an upper layer

  • If not, the MAC address of the server has the duplicated IP

Capture VRRP packets

You can use the capture diagnostic tool for this purpose.

To capture VRRP traffic, use vrrp as <filter> and choose an interface:

tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
14:12:27.936839 00:0c:49:65:47:0e > ... , proto VRRP (112), 10.9.104.253 > 224.0.0.18, ... , vrid 30, prio 35, ... , addrs: ...
14:12:28.250381 00:0c:59:20:c7:f6 > ... , proto VRRP (112), 10.9.104.241 > 224.0.0.18, ... , vrid 166, prio 133, ... , addrs: ...
14:12:28.460930 00:0d:b9:18:b9:74 > ... , proto VRRP (112), 10.9.104.253 > 224.0.0.18, ... , vrid 55, prio 70, ... , addrs: ...
14:12:28.939831 00:0c:49:65:47:0e > ... , proto VRRP (112), 10.9.104.253 > 224.0.0.18, ... , vrid 30, prio 35, ... , addrs: ...
14:12:28.250381 00:0c:59:20:c7:f6 > ... , proto VRRP (112), 10.9.104.241 > 224.0.0.18, ... , vrid 166, prio 133, ... , addrs: ...
5 packets captured
0 packets received by filter
0 packets dropped by kernel

Using the capture diagnostic tool, you can get the following information:

  • Source MAC and IP address

  • VRID

  • VRRP priority