我对这个问题已经想不出主意了,所以认为 SF 问题可能会有所帮助。
我们有许多 Ubuntu 9.10 服务器,最近我们使用标准内核网络绑定将它们从单个 NIC 切换到绑定 NIC。
此设置按计划工作(并且过去已在各种 Linux 机器上完成过),然而,我们在启用绑定后数小时就遇到了一些机器断网的情况。
这些盒子实际上停止了对网络的响应,但是一个简单的/etc/init.d/networking 重启通过 KVM 使连接重新恢复在线。
我的第一个想法是:1)上游连接停止了,2)盒子上的某些本地东西破坏了网络配置(例如网络管理器),或者 3)绑定以某种方式崩溃了。
然而,当我尝试在所有四台服务器上调查此问题时,我很快就遇到了障碍。
该事件未在任何服务器(/var/log/*、dmesg 等)上本地记录。我预计会看到链接状态或类似情况的变化。
上游交换机全部集中系统日志,也没有记录网络状态的变化,也没有记录 MAC 抖动。
/proc/net/bonding/bond0 没有报告问题
我看不到任何与网络管理器运行相关的程序。
唯一记录的内容是运行服务重启导致的网络状态变化。
最初我们使用模式=0(主动-主动),但有人建议它会导致网络混乱,因为 MAC 地址同时存在于两个地方,所以我们改用模式=1(主动-待机)——这没有什么区别,几个小时后服务器再次出现故障。
就像网络突然“停止”了一样。大家有什么想法吗?
配置
/etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=0 miimon=100
/etc/网络/接口
auto bond0
iface bond0 inet static
address 192.168.1.10
gateway 192.168.1.1
netmask 255.255.255.0
slaves eth0 eth1
up /sbin/ifenslave bond0 eth0 eth1
down /sbin/ifenslave -d bond0 eth0 eth1
auto eth0
iface eth0 inet manual
auto eth1
iface eth1 inet manual
答案1
您提供的信息很少,不足以帮助调试。
- 你使用什么开关?
- 您正在使用什么网卡?
- 您正在使用什么内核?
- 您是否遵循了 Ubuntu 文档并删除了网络管理器?https://help.ubuntu.com/community/LinkAggregation
既然你说“一些”工作。
- 您是否检查过配置中的差异?
- 故障是否仅发生在特定的交换机端口上?
- 工作的系统是否具有相同的硬件、内核、网卡、配置等?
- 你能“强制”错误吗?尝试重负载、大数据包、坏数据包等,以尝试按需触发错误。
即使没有绑定,Ubuntu 也会因为特定配置中的“坏”内核而发生随机网络故障。尝试使用备用内核,假设现有内核与正常运行的系统匹配。
根据所用的交换机和绑定模式,即使单个 NIC 故障也会导致连接挂起。尝试使用带有数据包分析器的双通道透明桥接器来确定故障前使用的最后一个 NIC。此外,查看故障前通过线路发送的最后一个数据包类型、标志、重新传输等。
在没有信息的情况下,最好的猜测是内核有问题或硬件故障。Ubuntu 不会是服务器操作系统的首选。Ubuntu 面向新手桌面 Linux 用户。当前的 Ubuntu 面向上网本用户。Ubu 是桌面操作系统的不错选择,因为它很受欢迎 - 论坛更大、面向桌面的硬件驱动程序更多、桌面应用程序更多。Debian 和 Centos/RHEL 在 Linux 服务器的“关键任务”生产用途中都拥有更大的安装基础。