Я включил lvs_sync_daemon_interface
вариант, однако похоже, что демон синхронизации не работает
Активный узел:
[MASTER:~]# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
TCP 00:37 SYN_RECV 192.168.1.20:55746 192.168.1.10:80 192.168.1.15:80
Пассивный узел:
[BACKUP:~]# ipvsadm -Lnc
IPVS connection entries
pro expire state source virtual destination
Конфиг:
! Configuration File for keepalived
global_defs {
lvs_id lb1 #lb2 on backup server
}
vrrp_sync_group VG1 {
group {
LB1
}
}
vrrp_instance LB1 {
state BACKUP #BACKUP on backup server
interface eth0
lvs_sync_daemon_interface eth0
virtual_router_id 50
priority 2 #1 on backup server
nopreempt
advert_int 1
smtp_alert
authentication {
auth_type PASS
auth_pass $PASSWORD
}
virtual_ipaddress {
192.168.1.10
}
}
virtual_server 192.168.1.10 80
delay_loop 5
lb_algo wlc
lb_kind DR
protocol TCP
ha_suspend
sorry_server 127.0.0.1
real_server 192.168.1.15 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 5
nb_get_retry 3
delay_before_retry 1
connect_port 80
fwmark 80
}
}
real_server 192.168.1.16 80 {
weight 1
inhibit_on_failure
HTTP_GET {
url {
path /
status_code 200
}
connect_timeout 5
nb_get_retry 3
delay_before_retry 1
connect_port 80
fwmark 80
}
}
}
Система: CentOS 6.5, Keepalived v1.2.7 (21.02.2013)
Обновление: Сб, 5 июля, 08:44:36 BST 2014 г .:
[MASTER]# ps -elf | grep [i]pvs
1 S root 11207 2 0 80 0 - 0 sync_t 08:41 ? 00:00:00 [ipvs_syncmaster]
[BACKUP]# ps -elf | grep [i]pvs
1 S root 6231 2 0 80 0 - 0 sync_t 08:41 ? 00:00:00 [ipvs_syncbackup]
Прошло некоторое время с тех пор, как я играл с lvs и sync, но я бы начал устранять неполадки, не используя для начала keepalived, и просто работал с самим ipvs.
Из документация lvs:
На основном балансировщике нагрузки запустите
primary_director:# ipvsadm --start-daemon=master --mcast-interface=eth0
На резервных балансировщиках нагрузки запустите
backup_director:# ipvsadm --start-daemon=backup --mcast-interface=eth0
Чтобы остановить демон, запустите
director:# ipvsadm --stop-daemon
Обратите внимание, что первичный обменивается данными с резервным копированием по многоадресной рассылке. Вам необходимо убедиться, что этот трафик может перетекать от основного к резервному. Попробуйте разрешить многоадресная передача через iptables фильтрация на резервной копии, чтобы протестировать для начала.
Настройте это и посмотрите, получите ли вы какой-либо вывод от вашего ipvsadm -Lnc
команда по резервному копированию.
Также обратите внимание, что как такового процесса ipvs нет. Думайте о ipvs как об интерфейсе ядра, управляемом программой пользовательского пространства. ipvsadm
.
Вы также должны убедиться, что и главная, и резервная копия настроены с одним и тем же идентификатором синхронизации. Это указывается в --syncid
вариант для команд ipvsadm выше. Если они установлены по-другому, резервная копия будет игнорировать все, что она получает от мастера.