Acabei de instalar um novo servidor (Ubuntu 14.04) para começar a testar nossas configurações keepalived, que funcionam bem no (Ubuntu 12.04)
Não atribuímos o IP público na interface eth1, permitimos que o keepalived faça isso para preservar os IPs públicos em nosso ambiente.
Isso funciona no servidor 12.04
/etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address x.x.x.x
netmask x.x.x.x
auto eth1
iface eth1 inet static
/etc/keepalived/keepalived.conf
vrrp_script chk_haproxy {
script "/usr/bin/killall -0 haproxy"
interval 2
weight
}
vrrp_script chk_stunnel {
script "/usr/bin/killall -s 0 -r 'stunnel[4]?'"
interval 2
weight
}
global_defs {
notification_email {
[email protected]
}
notification_email_from [email protected]
smtp_server x.x.x.x
smtp_connect_timeout 30
router_id somehost
}
vrrp_instance VI_01 {
interface eth0
state MASTER
virtual_router_id 1
priority 150
advert_int 1
garp_master_delay 5
smtp_alert
# notify scripts and alerts are optional
#
# filenames of scripts to run on transitions
# can be unquoted (if just filename)
# or quoted (if has parameters)
# to MASTER transition
notify_master "/sbin/route del default gw x.x.x.x"
# to BACKUP transition
notify_backup "/sbin/route add default gw x.x.x.x"
authentication {
auth_type PASS
auth_pass somepas
}
track_script {
chk_stunnel
chk_haproxy
}
virtual_ipaddress {
x.x.x.x/x dev eth1
}
virtual_routes {
default via x.x.x.x dev eth1
}
}
No entanto, no sistema 14.04, quando implementado com copiar e colar (apenas modificando IPs para uma nova sub-rede), keepalived diz que a fila da interface está vazia e declarará eth1 como uma interface ausente.
Esta é uma mudança de comportamento para ipvs no Ubuntu 14.04? Uma interface sem IP deixa de ser utilizável?