我在Debian Wheezy上使用ATS 4.1.2的编译版本进行分布式缓存。我尝试集群的节点都驻留在相同的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。所以这有点不确定哪些节点能够成为集群的一部分。
非常感谢任何帮助。
答案 0 :(得分:1)
经过数小时的故障排除后,我发现这是因为绑定界面发生了翻盖。有时,一台服务器上的绑定接口上的活动从站交换到eth1,它连接到不同的物理交换机,而在另一台服务器上,它仍然是eth0。因此,这导致2个盒子保留在2个物理交换机中,尽管它们处于相同的vlan和相同的IP范围以及子网和广播中。这是在绑定接口上分析tcp转储时确定的,其中它根本没有向问题节点显示任何广播/多播。 bond接口的输出就像
*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集群,这一次,它起作用了。