问题:两个集群中的服务器不断失去彼此之间的心跳连接,从而导致数据库中断。中断是短暂的,但具有破坏性。
设置:
- 有两个集群,每个集群三台服务器。
- 每台服务器都有一个 NIC 连接到单个第 2 层交换机 (Catalyst 2950),交换机端口硬编码为 100Mb/全双工。
- DBA 确认每个心跳 NIC 都硬编码为 100Mb/全双工。
- 在 VLAN 100 和同一子网 (10.40.60.0/24) 中配置了两个集群。
- 管理 IP 地址位于单独的子网 (10.40.1.0/24) 上,其交换机端口位于 VLAN 1 中。
症状:
- 我看到交换机端口上的错误计数不断增加。对于一个集群中的三台服务器,输入错误(所有 CRC)约占输入数据包总数的 3%。没有输出错误。另一个集群约占总输入数据包的 6%。
- 交换机端口上的发送和接收负载很轻,在 txload 和 rxload 上低于 20/255。
- 交换机日志显示交换机端口反弹:
5 月 16 日 11:15:31 PDT:%LINEPROTO-5-UPDOWN:接口 FastEthernet0/13 上的线路协议,状态更改为关闭
5 月 16 日 11:15:32 PDT:%LINK-3-UPDOWN:接口 FastEthernet0/13,已更改状态下来
5月16日11时15分34秒PDT:%LINK-3-UPDOWN:13接口的FastEthernet0 /,改变了状态最多
5月16日十一点15分35秒PDT:%LINEPROTO -5- UPDOWN:在接口上的FastEthernet0线协议/ 13、将状态改为up
- 我用新的 Cat6 替换了服务器心跳 NIC 和交换机之间的旧 Cat5 电缆——没有效果。
- 我在一个新的子网 (10.40.61.0/24) 中创建了一个新的 VLAN 200,并让 DBA 在一个集群上重新 IP 他们的心跳网卡——没有效果。
- 我们在交换机端口和 NIC 上尝试了速度和双工的每一种组合——没有效果,在两者上都回到 100Mb/全双工。
- DBA 将两个集群上的 Broadcom 驱动程序升级到最新版本——6% 集群的错误百分比下降到 4%,另一个集群的错误率仍为 3%。
我建议的下一步:
- 服务器上有英特尔 NIC。尝试将集群心跳移动到英特尔 NIC。可能是博通的问题?
- 将开关更换为具有演出功能的开关。有 Catalayst 3560x 可用,但使用它会延迟项目。也许交换机端口和 NIC 上的演出会更好?
想法?
我可以在现有的 2950 交换机上配置一些东西来减轻错误吗?我应该采取哪些额外的故障排除步骤?