分类: LINUX
2008-10-15 16:43:34
最近碰到有问4块网卡如何配置2个bond网卡,测试了一下,配置方法略微有点不
同,主要是modprobe.conf里的配置:
1、ifcfg-bondX的配置和单个bond的配置没有区别;
2、修改modprobe.conf有2种修改方法:
a)当2个或者多个bond网卡的所有参数(即bonding模块的参数,如mode、miimon
等)都相同时,加载bonding模块时设置 max_bonds参数即可。如max_bonds=2时,
加载bonding驱动之后可以创建2个bond网卡bond0,bond1,修改后的
modprobe.conf和下面的情形类似:
...
alias bond0 bonding
alias bond1 bonding
options bond0 miimon=100 mode=1 max_bonds=2 ...
b)当2个或者多个bond网卡的参数(即bonding模块的参数,如mode、miimon等)不
同时,需要在加载bonding模块时修改模块的名称(文档中的说法是linux的模块加
载系统要求系统加载的模块甚至相同模块的不同实例都需要有一个唯一的命名),
修改后的modprobe.conf和下面的情形类似:
...
alias bond0 bonding
options bond0 -o bond0 miimon=100 mode=0 alias bond1 bonding options bond1 -o bond1 miimon=150 mode=1 ...
(说明:使用 -o 选项在加载模块对模块进行重命名)
目前我只在DC5SP2上测试通过,其它版本并没有测试,内核的版本不同系统对
bonding模块的支持可能也有不同。
详细的文档参见内核文档/usr/src/linux-x.x.x-
xx.x/Documentation/networking/bonding.txt。
上午测试的时候修改modprobe.conf之后只是重启了network服务,所以当时以为第
二种方法也是生效了的。不过实际上,重启network 服务时,并没有卸载bonding
模块。当手动卸载bonding模块或者系统重启之后,网络服务启动的时候会报错,
说-o不是有效的选项。
重新看了一下文档,里面也提到了这个问题,所以modprobe.conf的修改还需要调
整一下,不再使用alias,options的格式,而使用下面的格式:
install bond0 /sbin/modprobe --ignore-install bonding -o bond0 miimon=100 mode=0 install bond1 /sbin/modprobe --ignore-install bonding -o bond1 miimon=100 mode=1 ...
我也稍微修改了一下原来配置bond的脚本,基本可以用了。不过感觉我改完之后脚
本已经有点繁琐了,大家看一下。
|