Apache 流量服务器集群问题



我在 Debian Wheezy 上使用 ATS 4.1.2 的编译版本进行分布式缓存。我尝试群集的两个节点都位于同一 VLAN 上,具有相同的proxy.config.proxy_name值。但是,大多数情况下,ATS 无法发现此特定节点,并且在 cluster.config 中手动添加另一个节点的 IP(这是一个自动填充的配置,不应该是人类可编辑的)抛出

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。因此,这有点不确定哪些节点能够成为集群的一部分。

任何帮助将不胜感激。

经过数小时的故障排除,我发现发生这种情况是因为键接口处发生了抖动。有时,一台服务器上绑定接口上的活动从属服务器交换到连接到不同物理交换机的 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 集群,这一次,它奏效了。

最新更新