centos 6 网卡绑定?centos7网卡驱动
centos 双网卡绑定 mode哪种好些
CentOS双网卡绑定的模式一共有7种(即mode=0、1、2、3、4、5、6):
0(balance-rr模式)网卡的负载均衡模式。特点:(1)所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping一个相同地址:1.1.1.1双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式,进行轮询发送。(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
1(active-backup模式)网卡的容错模式。特点:一个端口处于主状态,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。
2(balance-xor模式)需要交换机支持。特点:该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。如果所有流量是通过单个路由器(比如“网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。
3(broadcast模式)。特点:这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
4(IEEE 802.3ad动态链路聚合模式)需要交换机支持。特点:802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。802.3ad也有些缺点:标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。此外,linux bonding的802.3ad实现通过对端来分发流量(通过MAC地址的XOR值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad实现里的均衡策略。在“本地”型配置下,路两将通过 bond里的设备进行分发。
5自适应传输负载均衡模式。特点:balance-tlb模式通过对端均衡外出(outgoing)流量。既然它是根据MAC地址进行均衡,在“网关”型配置(如上文所述)下,该模式会通过单个设备来发送所有流量,然而,在“本地”型网络配置下,该模式以相对智能的方式(不是balance-xor或802.3ad模式里提及的XOR方式)来均衡多个本地网络对端,因此那些数字不幸的MAC地址(比如XOR得到同样值)不会聚集到同一个接口上。
不像802.3ad,该模式的接口可以有不同的速率,而且不需要特别的交换机配置。不利的一面在于,该模式下所有进入的(incoming)流量会到达同一个接口;该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。
6网卡虚拟化方式。特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。所有端口都会收到对端的arp请求报文,回复arp回时,bond驱动模块会截获所发的arp回复报文,根据算法算到相应端口,这时会把arp回复报文的源mac,send源mac都改成相应端口mac。从抓包情况分析回复报文是第一个从端口1发,第二个从端口2发。以此类推。
具体选择哪种要根据自己需要和交换机情况定,一般Mode=0和Mode=1比较常见;Mode=6负载均衡方式,两块网卡都工作,不需要交换机支持,也常用
Centos7多网卡绑定bond快速实践
一、准备环境
VMware软件、Centos7虚拟机
二、添加网卡
为虚拟机再添加两块网卡,查看网卡信息,可以看到有ens32、ens34、ens35三块网卡
ip addr
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.142/24 brd 192.168.30.255 scope global noprefixroute dynamic ens32
valid_lft 1615sec preferred_lft 1615sec
inet6 fe80::d089:c15:e69a:8ce4/64 scope link noprefixroute
valid_lft forever preferred_lft forever
3: ens34:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff
inet 192.168.30.143/24 brd 192.168.30.255 scope global noprefixroute dynamic ens34
valid_lft 1765sec preferred_lft 1765sec
inet6 fe80::a4af:b843:9032:9dd3/64 scope link noprefixroute
valid_lft forever preferred_lft forever
4: ens35:<BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.141/24 brd 192.168.30.255 scope global noprefixroute dynamic ens35
valid_lft 1765sec preferred_lft 1765sec
inet6 fe80::b7cf:76d7:23aa:63c2/64 scope link noprefixroute
valid_lft forever preferred_lft forever
查看网卡配置文件,可以看到添加网卡后,并没有生成对应的网卡文件
ls/etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-lo
可以为网卡生成配置文件,但在本文中不需要这样做
nmcli connection add type ethernet con-name ens34 ifname ens34 autoconnect yes
nmcli connection add type ethernet con-name ens35 ifname ens35 autoconnect yes
再次查看网卡配置文件,生成成功
ls/etc/sysconfig/network-scripts/ifcfg*
/etc/sysconfig/network-scripts/ifcfg-ens32 /etc/sysconfig/network-scripts/ifcfg-ens35
/etc/sysconfig/network-scripts/ifcfg-ens34 /etc/sysconfig/network-scripts/ifcfg-lo
三,选定网卡绑定模式
多网卡一共有7种bond模式,这里直接选用mode=6(balance-alb) Adaptive load balancing(适配器适应性负载均衡),该模式不需要交换机支持
四、开始配置
1、加载bonding模块,并设置开机启动
[root@localhost~]#lsmod|grepbonding[root@localhost~]#modprobe bonding[root@localhost~]#lsmod|grepbondingbonding 152979 0
启用rc.local开机启动项
chmod+x/etc/rc.d/rc.local
在文件中写入modprobe bonding
2、建立bond网口配置文件并进行配置
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
NAME=bond0
TYPE=Bond
BONDING_MASTER=yes
IPADDR=192.168.30.250
PREFIX=255.255.255.0
GATEWAY=192.168.30.2
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none
BONDING_OPTS="mode=6 miimon=100"
3、修改三块网卡的配置
vi/etc/sysconfig/network-scripts/ifcfg-ens32
DEVICE=ens32
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
vi/etc/sysconfig/network-scripts/ifcfg-ens34
DEVICE=ens34
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
vi/etc/sysconfig/network-scripts/ifcfg-ens35
DEVICE=ens35
ONBOOT=yes
BOOTPROTO=none
TYPE=Ethernet
MASTER=bond0
SLAVE=yes
4、重新加载网络配置
注意:这一步会断网!
nmcli connection reload&& systemctl restart network.service
使用新IP链接ssh
五、验证绑定是否生效
cat/proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1(April 27, 2011)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: ens32
MII Status: up
MII Polling Interval(ms): 100
Up Delay(ms): 0
Down Delay(ms): 0
Slave Interface: ens32
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:06
Slave queue ID: 0
Slave Interface: ens34
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:1a
Slave queue ID: 0
Slave Interface: ens35
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:54:02:10
Slave queue ID: 0
查看网卡状态
ip addr
1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6::1/128 scope host
valid_lft forever preferred_lft forever
2: ens32:<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
3: ens34:<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:1a brd ff:ff:ff:ff:ff:ff
4: ens35:<BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master bond0 state UP group default qlen 1000
link/ether 00:0c:29:54:02:10 brd ff:ff:ff:ff:ff:ff
5: bond0:<BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:0c:29:54:02:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.30.250/24 brd 192.168.30.255 scope global bond0
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe54:206/64 scope link
valid_lft forever preferred_lft forever
查看接口带宽,带宽为3G
ethtool bond0
Settings for bond0:
Supported ports: [ ]
Supported link modes: Not reported
Supported pause frame use: No
Supports auto-negotiation: No
Supported FEC modes: Not reported
Advertised link modes: Not reported
Advertised pause frame use: No
Advertised auto-negotiation: No
Advertised FEC modes: Not reported
Speed: 3000Mb/s
Duplex: Full
Port: Other
PHYAD: 0
Transceiver: internal
Auto-negotiation: off
Link detected: yes
连续ping测试,并禁用第一个网卡,此时会丢一个包,网络依然正常运行
来自 192.168.30.250的回复:字节=32时间<1ms TTL=64
来自 192.168.30.250的回复:字节=32时间<1ms TTL=64
来自 192.168.30.250的回复:字节=32时间=1ms TTL=64
请求超时。
来自 192.168.30.250的回复:字节=32时间=1ms TTL=64
来自 192.168.30.250的回复:字节=32时间<1ms TTL=64
完毕!
CentOS 7配置Bonding网卡绑定
在Linux服务器中,提高网络可靠性的一种常见方法是通过网卡绑定(Bonding)技术。CentOS 7.9.2009系统中的网卡绑定配置过程涉及实际操作,旨在创建一个虚拟网络接口,增强网络冗余和性能。以下是步骤概要:
首先,确保服务器至少有两个物理网卡(如ens224和ens256),然后加载bonding模块以启用网卡绑定。在系统启动时保持此配置的持久性,需要在/etc/modules-load.d/bonding.conf文件中添加"bonding"。
在配置前,通过iperf2测试网络性能,确保网络基础稳定。接下来,关闭和禁用NetworkManager服务,以避免影响静态配置。在/etc/sysconfig/network-scripts目录下,编辑ens224的配置文件,将它设置为主设备(bond0)的从属网卡,同时配置ens256以类似方式加入。
然后,针对bond0创建配置文件,指定接口类型为Bonding,并选择工作模式。例如,对于主机间互联,可以选择轮询均衡(mode=0)。设置链路监测间隔(miimon)后,重启网络服务使更改生效,并测试业务联通性和性能。
测试结果显示,虚拟化环境中的bonding配置可以实现链路备份,但可能影响传输性能。在遇到网络中断时,备份链路能够确保服务连续性。然而,对于传输性能的提升,虚拟化环境下的效果可能不如预期。
综上所述,CentOS 7的网卡绑定配置有助于增强网络可靠性,但在虚拟化环境下,要注意性能可能受到限制。