Linux系统配置双网卡绑定bond0
1、bonding简述双网卡配置设置虚拟为一个网卡实现网卡的冗余,其中一个网卡坏掉后网络通信仍可正常使用,实现网卡层面的负载均衡和高可用性。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持)。 1.1 bonding原理网卡工作在混杂(promisc)模式,接收到达网卡的所有数据包,tcpdump工作用的也是混杂模式(promisc),将两块网卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进行处理。 1.2 Bonding模式(bonding mode)
? 2、网卡配置文件的配置2.1 配置环境环境:系统CentOS 6.7 + 虚拟机 VMware 12 至少两块物理网卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置文件有5个(mode=1)这5个配置文件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local 2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提示:先备份好eth0和eth1,再修改这几个文件 以下是修改好的三个网卡配置文件的参数 [[email?protected] network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond0 2.2.2 修改/etc/modprobe.d/dist.conf文件?在此文件中添加以下内容: alias bond0 bonding,表示系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0 miimon=100,表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线 mode=1,表示绑定模式为1 primary=eth0,系统首先eth0作为bond0接口与外界信息的传输接口 2.2.3 修改配置文件/etc/rc.local在此文件中添加以下内容: modprobe bonding miimon=100 mode=1 2.2.4 重启网络(service network restart),并查看三个接口的mac地址使用ifconfig命令显示,bond0,eth1,eth2物理地址相同,提示三个网卡均通过一个ip主机端口与外界通信 但是,我们可以看到,在mode=1的情况下,当前bond0采用eth0通信,实际的物理网卡地址见下图: ? ? 3、验证网络的连通性没有丢包,网络连通性可。 [[email?protected] ~]# tcpdump port 22 -Stn -c 6 tcpdump: WARNING: eth0: no IPv4 address assigned tcpdump: verbose output suppressed,use -v or -vv for full protocol decode listening on eth0,link-type EN10MB (Ethernet),capture size 65535 bytes IP 192.168.253.129.ssh > 192.168.253.1.50595: Flags [P.],seq 2999128300:2999128400,ack 2399104519,win 141,length 100 IP 192.168.253.129.ssh > 192.168.253.1.50595: Flags [P.],seq 2999128400:2999128724,length 324 IP 192.168.253.1.50595 > 192.168.253.129.ssh: Flags [.],ack 2999128724,win 254,length 0 IP 192.168.253.129.ssh > 192.168.253.1.50595: Flags [P.],seq 2999128724:2999128888,length 164 IP 192.168.253.129.ssh > 192.168.253.1.50595: Flags [P.],seq 2999128888:2999129148,length 260 IP 192.168.253.1.50595 > 192.168.253.129.ssh: Flags [.],ack 2999129148,win 252,length 0 6 packets captured 7 packets received by filter 0 packets dropped by kernel ? 附:bond的七种工作模式介绍的详细介绍 1、mode=0(balance-rr)(平衡抡循环策略) 链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。交换机需要配置聚合口,思科叫port channel。
这个是主备模式,只有一块网卡是active,另一块是备用的standby,所有流量都在active链路上处理,交换机配置的是捆绑的话将不能工作,因为交换机往两块网卡发包,有一半包是丢弃的。
表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy,需要交换机配置port channel)
表示所有包从所有网络接口发出,这个不均衡,只有冗余机制,但过于浪费资源。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。需要和交换机的聚合强制不协商方式配合。
表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy).标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。
是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。
在5的tlb基础上增加了rlb(接收负载均衡receive load balance).不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的. ? ? 参考: https://www.cnblogs.com/st-jun/p/LinuxLoadbalance.html https://www.linuxidc.com/Linux/2017-11/148410.htm?utm_source=tuicool&utm_medium=referral https://www.cnblogs.com/luoahong/p/6243065.html (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |