If you want to configure two ubuntu nodes in such way, that the second node is a hot standby for the other one, you will need a failover ip.
First of all, set a proper hostname for your machine by editing the /etc/hostname
file. Afterwards your machine needs
to be rebooted or you call sudo hostname myhostname.example.org
.
Since it's still necessary to have both nodes accessible, I use the following steps to make the failover ip available on both devices.
On both machines the /etc/network/interfaces
file looked for example like this (working with ip 203.0.113.220):
# Loopback device:
auto lo
iface lo inet loopback
# device: eth0
auto eth0
iface eth0 inet static
address 203.0.113.220
broadcast 203.0.113.255
netmask 255.255.255.192
gateway 203.0.113.193
# default route to access subnet
up route add -net 203.0.113.192 netmask 255.255.255.192 gw 203.0.113.193 eth0
at the end, I appended (for failover ip 203.0.113.209):
allow-hotplug eth0:1
iface eth0:1 inet static
address 203.0.113.209
broadcast 203.0.113.209
netmask 255.255.255.255
gateway 203.0.113.209
So far the interface should not be visible, if you query for the inet interfaces:
# ip -f inet addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 203.0.113.220/26 brd 203.0.113.255 scope global eth0
If you want to bring up the alias eth0:1, use:
# ifup eth0:1
RTNETLINK answers: File exists
Failed to bring up eth0:1.
The error messages are miss-leading, it worked already:
# ip -f inet addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
inet 203.0.113.220/26 brd 203.0.113.255 scope global eth0
inet 203.0.113.209/32 brd 203.0.113.209 scope global eth0:1
If you try to use ifconfig eth0:1 up
to bring it up, it will fail with: SIOCSIFFLAGS: Cannot assign requested address
.
If you want to shutdown the interface again, use:
# ifconfig eth0:1 down
If you try to use ifdown eth0:1
to bring it down, it will fail with: ifdown: interface eth0:1 not configured
.