问题描述:
做了 bond,但是对应的网卡的设备名老是会变化,导致 bond 失效。
问题分析:
这个和 udev 的规则有关,由于 udev 是动态的给设备分配名称的,先启动的设备名称会是
eth0,如果是多个网卡,按启动的顺序依次顺延。
问题解决:
1、先把 bond 取消
把对应的/etc/modprobe.conf 文件中关于 bond 的信息删除,同时把/etc/sysconfig/network-
scripts/ifcfg-bond0(绑定的设备名)文件删除。然后重启系统
2、把设备名和网卡的 MAC 地址绑定
方法一:可以修改/etc/sysconfig/network-scripts/ifcfg-eth0(对应的设备名称)文件写上对应设备
和 MAC。
eg:HWADDR="00:15:60:B2:1E:21"
DEVICE="eth0"
......
方法二:修改 udev 的规则,但是根据 udev 的版本不同规则也是不同的。一般的
在/etc/udev/rules.d/目录下有一个 xxx-net.rules 文件。这个文件是定义网络设备规则的文件。以
DT6sp2 为例,如下:
[root@xmpan Desktop]# vi /etc/udev/rules.d/70-persistent-net.rules
# This file was automatically generated by the /lib/udev/write_net_rules
# program run by the persistent-net-generator.rules rules file.
#
# You can modify it, as long as you keep each rule on a single line.
# PCI device 0x8086:0x4220 (ipw2200)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:16:6f:4a:07:f1",
ATTR{type}=="1", KERNEL=="eth*", NAME="wlan0"
# PCI device 0x14e4:0x165e (tg3)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:15:60:b2:1e:21",
ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
修改完成规则之后重启系统规则即可生效。