我正在尝试监视机器上的网络故障,其中一部分是监视旨在处于活动状态的接口也处于“正在运行”状态。
如果以太网端口(例如eth0
)物理连接到另一台设备,则会显示“正在运行”。
问题出在绑定接口上,例如bond0
。如果所有以太网设备都断开连接,它仍然显示正在运行,并且仍然可以 ping 通。这是设计使然,还是我的系统设置不正确?该miimon
选项与此有关吗?
编辑
我发现了一个可能的问题,感谢 Gregor。当我运行 时cat /proc/net/bonding/bond0
,它给了我这个(注意MII 轮询间隔):
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth7
MII Status: up
Link Failure Count: 0
但是在我的 /etc/modprobe.conf 中,我是这样设置的:
alias bond0 bonding
options bond0 -o bond0 mode=0 miimon=100
因此,显然,miimon 设置无法正常工作。
答案1
您的脚本可以扫描 /proc/net/bonding/bondX 以获取一些状态信息。 - 格雷格
答案2
您看过ethtool
或了吗mii-tool
?这通常是我在 Linux 中无需物理检查服务器即可确定链接状态的方法。