Назад | Перейти на главную страницу

Демон синхронизации Keepalived

Я включил 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 выше. Если они установлены по-другому, резервная копия будет игнорировать все, что она получает от мастера.