Common Address Redundancy Protocol (CARP) is a way to achieve the sharing of IP Addresses.
UCARP for NFS
Local Config
apt install ucarp
Server 1 /etc/network/interfaces
:
auto vmbr1
iface vmbr1 inet static
address 10.0.0.2/24
gateway 10.0.0.254
bridge-ports eno3
bridge-stp off
bridge-fd 0
#######################
# ucarp configuration
#######################
# vid : The ID of the virtual server [1-255]
ucarp-vid 4
# vip : The virtual address
ucarp-vip 10.0.0.253
# password : A password used to encrypt Carp communications
ucarp-password password
# advskew : Advertisement skew [1-255]
ucarp-advskew 1
# advbase : Interval in seconds that advertisements will occur
ucarp-advbase 1
# master : determine if this server is the master
ucarp-master yes
iface vmbr1:ucarp inet static
address 10.0.0.253
netmask 255.255.255.0
Server 2 /etc/network/interfaces
:
auto vmbr1
iface vmbr1 inet static
address 10.0.0.3/24
gateway 10.0.0.254
bridge-ports eno3
bridge-stp off
bridge-fd 0
#######################
# ucarp configuration
#######################
# vid : The ID of the virtual server [1-255]
ucarp-vid 4
# vip : The virtual address
ucarp-vip 10.0.0.253
# password : A password used to encrypt Carp communications
ucarp-password password
# advskew : Advertisement skew [1-255]
ucarp-advskew 100
# advbase : Interval in seconds that advertisements will occur
ucarp-advbase 1
# master : determine if this server is the master
ucarp-master no
iface vmbr1:ucarp inet static
address 10.0.0.253
netmask 255.255.255.0
It works, and it’s great for application servers that do the same thing, but its not ideally what I need for NFS. On to keepalived