Hello,
I'm trying keepalived configuration to implement HA between 2 different boxes.
When a machine goes down, keepalived correctly moves the virtual IP address between the 2 nodes and also the firewall rules.
Still, mwan3 configuration is not synced.
So I've created a file named /etc/hotplug.d/keepalived/600mwan3
with the following content:
#!/bin/sh
# shellcheck source=/dev/null
. /lib/functions/keepalived/hotplug.sh
set_service_name mwan3
set_restart_if_master
set_stop_if_backup
add_sync_file /etc/config/mwan3
keepalived_hotplug
The config file is synced by rsync inside /usr/share/keepalived/rsync/etc/config/mwan3
, but the config is not moved to /etc/config/mwan3
when the node becomes master. Nor mwan is restarted.
What is a correct configuration for mwan3?
This is my configuration:
! Configuration file for keepalived (autogenerated via init script)
! Written Wed Feb 12 15:33:13 2025
global_defs {
script_user root
enable_script_security
process_names
startup_script "/bin/busybox env -i ACTION=startup /sbin/hotplug-call keepalived"
startup_script_timeout 10
shutdown_script "/bin/busybox env -i ACTION=shutdown /sbin/hotplug-call keepalived"
shutdown_script_timeout 10
}
static_ipaddress {
192.168.100.240 dev br-lan label br-lan:ha
}
static_routes {
}
vrrp_script ha_sync {
script /etc/keepalived/scripts/rsync.sh
interval 60
weight 100
}
vrrp_instance master {
authentication {
auth_type PASS
auth_pass 0f70fd3f
}
state MASTER
interface eth2
unicast_src_ip 10.12.12.1
virtual_router_id 100
priority 100
advert_int 1
nopreempt
notify_backup "/bin/busybox env -i ACTION=NOTIFY_BACKUP TYPE=INSTANCE NAME=master /sbin/hotplug-call keepalived"
notify_master "/bin/busybox env -i ACTION=NOTIFY_MASTER TYPE=INSTANCE NAME=master /sbin/hotplug-call keepalived"
notify_fault "/bin/busybox env -i ACTION=NOTIFY_FAULT TYPE=INSTANCE NAME=master /sbin/hotplug-call keepalived"
notify_stop "/bin/busybox env -i ACTION=NOTIFY_STOP TYPE=INSTANCE NAME=master /sbin/hotplug-call keepalived"
virtual_ipaddress {
192.168.100.240 dev br-lan label br-lan:ha
}
track_script {
ha_sync weight 100
}
track_interface {
br-lan weight 100
}
unicast_peer {
10.12.12.2
}
}
Trying to cite some of the authors of the package: @feckert @stintel
Thanks in advance!