Linux中bonding网卡创建失败问题分析

标签:
linuxbondingbonding_mastersit |
分类: 我不知道的事 |
本案例中是在Linux上配置网卡绑定时遇到的疑难杂症。
可能是自己吃的盐还比较少。在以正常的方式配置好多网卡绑定后,发现所设置的绑定网卡不能成功激活启动。
如图中所示,在启动bond2时,提示:
"bonding device bond2 does not seem to be present,delaying initialization."
其意思为 无法发现所配置的网卡绑定设备bond2,初始化被延迟。
起初以为是在网卡绑定配置上哪里出错,但检查了对比了很多次,没有找到任何纰漏。
后面从刚刚的delaying initialization这字段感觉到初始化被延迟。
感觉会不会是因为网络的问题造成的。后面在尝试重启网络后,通过一个配置好的IP测试ping一个地址,结果发现ping了大概有10秒延时后才ping通。因为网络重置后,在初次ping的时候,不可能第一次就能够ping通。正常情况通过一个三次握手,只是3秒的延时后ping通,但当前环境下,重置网络后的延时太大,怀疑在网络重启后,bond2设备在激活时,因网络延时,超出了整个激活时间。故bond2无法正常创建出来。
http://s3/mw690/773d9b67gddd2f299f77e&690
后面在网上查询到一个直接从内存里面的信息创建bond设备的方式。如下图 通过echo命令,将“+bond2”字段添加到bonding_masters文件中。
#echo +bond2 >/sys/class/net/bonding_masters
这里需要记得要加上“+”符号。代表需要添加的字段在追加到文件中时,是以一个空格再是字段的格式添加。 例如,添加后的bonding_masters文件为bond0 bond1 bond2。
其实正常在下图中bonding_masters文件中的内容是由系统自己去创建完成的,但可能涉及到之前提到的网络问题,影响到系统运作,导致无法正常创建。 所以在此只有直接去内存中修改系统信息。
http://s4/mw690/773d9b67gddd2f76399c4&690
因为之前在系统中已经配置好bond2的配置信息,在执行完刚才的echo命令后,再用ifconfig命令就可以直接查看到bond2绑定网卡正常运行。之后也尝试重启网络,所有绑定网卡都正常运行。