Проблема кластерного сервера Apache

Я использую скомпилированную версию ATS 4.1.2 в Debian Wheezy для распределенного кэширования. Оба узла, которые я пытаюсь кластеризовать, находятся в одном и том же vlan с одинаковым значением proxy.config.proxy_name. Однако в большинстве случаев ATS не может обнаружить этот конкретный узел и вручную добавляет IP-адрес другого узла. cluster.config (который является автоматически заполняемой конфигурацией и не должен редактироваться человеком)

root@fe4:/opt/trafficserver/etc# grep -i illegal
/opt/trafficserver/var/log/trafficserver/*
/opt/trafficserver/var/log/trafficserver/diags.log:[Feb 21 18:00:37.714]
Server {0x2b99c1e29700} NOTE: Illegal cluster connection from 10.65.130.31
/opt/trafficserver/var/log/trafficserver/diags.log:[Feb 21 18:35:59.686]
Server {0x2b99c1e29700} NOTE: Illegal cluster connection from 10.65.130.31

Однако второй хост 10.65.130.31 может кластеризоваться на другом сервере и имеет то же имя proxy.config.proxy_name. Так что это неясно, какие узлы смогут быть частью кластера.

Любая помощь с благодарностью.

1 ответ

Решение

После нескольких часов поиска и устранения неисправностей я обнаружил, что это произошло из-за заслонки на границе соединения. Иногда активный ведомый на интерфейсе связи на одном сервере переключался на eth1, который был подключен к другому физическому коммутатору, тогда как на другом сервере он оставался как eth0. Таким образом, это привело к тому, что 2 блока остались в 2 физических коммутаторах, даже если они находятся в одном и том же vlan и одном диапазоне IP, а также в подсети и в широковещательном режиме. Это было идентифицировано, когда дамп tcp был проанализирован на интерфейсе связи, где он вообще не показывал какую-либо широковещательную / многоадресную передачу на проблемный узел. Выход интерфейса связи был как

*server1:*
    root@cdn-fe4:# cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: eth0
====snip====
*server2:*
    root@fe7:/opt/trafficserver/etc# cat /proc/net/bonding/bond0
    Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

    Bonding Mode: fault-tolerance (active-backup)
    Primary Slave: None
    Currently Active Slave: eth1
====snip====

Протестировано снова после разрыва связи и ручной настройки ATS для кластеризации через eth0, и на этот раз все заработало.

Другие вопросы по тегам