实现将两块网卡虚拟成为一块网卡,这样两块网卡具有相同的IP地址而聚合成一个逻辑链路。bonding运行在混杂promisc模式,即接收网络上所有的帧。它修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同的,网卡接收到特定mac帧后,把相应的数据帧传送给bond驱动程序处理。
一、查看内核是否支持 bonding:
首先安装vconfig
$ yum install vconfig
$ dmesg | grep -i 802
$ modprobe 8021q (载入模块)
$ lsmod | grep 8021q (确认模組是否已经载入到核心內)
二、创建虚拟网络接口配置文件ifcfg-bond0,并配置好
$ cd /etc/sysconfig/network-scripts/
$ vi ifcfg-bond0
或直接复制一份
# cp ifcfg-eth0 ifcfg-bond0
ifcfg-bond0文件做类似如下修改:
DEVICE=bond0
BOOTPROTO=static
IPADDR=[IP]
NETMASK=[MASK]
BROADCAST=[BROADCAST]
GATEWAY=[GATEWAY]
ONBOOT=yes
TYPE=Ethernet
如果配置bond4,则文件配置信息为:
参考1(没设定vlan):
DEVICE=bond4
NAME=bond4
TYPE=Bond
BOOTPROTO=static
BONDING_MASTER=yes
BONDING_OPTS="mode=802.3ad miimon=100 lacp_rate=fast"
GATEWAY=172.16.32.1
NETMASK=255.255.255.0
DNS1=172.16.32.241
DNS2=172.16.32.243
PEERDNS=yes
ONBOOT=yes
参考2(已设定vlan,就不能配置IP):
DEVICE=bond4
NAME=bond4
TYPE=Bond
BOOTPROTO=static
BONDING_MASTER=yes
BONDING_OPTS="mode=802.3ad miimon=100 xmit_hash_policy=2"
PEERDNS=yes
DEFROUTE=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
ONBOOT=yes
假设设定的vlan ID为1004(vconfig add bond4 1004,执行此命令前确保bond4无IP地址),则会存在ifcfg-bond4.1004文件(通常执行cp ifcfg-bond4 ifcfg-bond4.1004来创建),其内容为
DEVICE=bond4.1004
BOOTPROTO=static
ONBOOT=yes
VLAN=yes
IPADDR=10.128.4.14
NETMASK=255.255.255.0
三、修改物理网卡配置文件
修改ifcfg-eth0如下:
DEVICE=eth0
NAME=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0 #如果不写,则必须做第四步
SLAVE=yes #如果不写,则必须做第四步
USERCTL=yes
类似地修ifcfg-eth1如下:
DEVICE=eth1
NAME=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0 #如果不写,则必须做第四步
SLAVE=yes #如果不写,则必须做第四步
USERCTL=yes
四、修改/etc/modprobe.conf 这个配置文档
添加两行
alias bond0 bonding
options bond0 miimon=100 mode=1
基中的mode工作模式说明如下
mode=0 表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1 表示 fault-tolerance (active-backup)提供冗余功能,工作方式是主 从的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。
mode=2 表示 XOR policy 为平衡策略。此模式提供负载平衡和容错能力
mode=3 表示 broadcast 为广播策略。此模式提供了容错能力
mode=4 表示 IEEE 802.3ad Dynamic link aggregation 为 IEEE 802.3ad 为 动态链接聚合。该策略可以通过 xmit_hash_policy 选项从缺省的 XOR 策略改变到其他策略。
mode=5 表示 Adaptive transmit load balancing 为适配器传输负载均衡。该 模式的必要条件:ethtool 支持获取每个 slave 的速率
mode=6 表示 Adaptive load balancing 为适配器适应性负载均衡。该模式包含 了 balance-tlb 模式,同时加上针对 IPV4 流量的接收负载均衡(receive load balance, rlb),而且不需要任何 switch(交换机)的支持。
五、/etc/rc.local里加上开机自启动项,然后重启网络服务
/proc/net/vlan/config可查看所有设定的vlan,不过这样的設定下次重新开机就会失效,所以需要將设定语句写到/etc/rc.local
1.没有设定vlan的情况下
ifenslave bond0 eth0 eth1
2.有vlan情况下
modprobe 8021q
vconfig add eth0 192
ifup eth0.192
$ service network restart
cat /proc/net/bonding/bond0 查看bonding信息
推荐本站淘宝优惠价购买喜欢的宝贝:
本文链接:https://hqyman.cn/post/1600.html 非本站原创文章欢迎转载,原创文章需保留本站地址!
打赏微信支付宝扫一扫,打赏作者吧~
休息一下~~