bond绑定介绍
Linux 网络绑定(Bonding)是一种将多个网络接口卡(NICs)组合成单个逻辑“bonded”接口的技术。这种方法可以提供负载均衡、网络冗余或两者的组合,提高网络的吞吐量和可靠性。以下是 Linux 网络绑定的一些关键特点:
1、负载均衡:通过将流量分散到多个NICs上,可以提高网络的总体吞吐量。这对于高流量的服务器特别有用,如Web服务器或文件服务器。
2、冗余:如果一个NIC失败,网络绑定可以自动将流量转移到其他正常工作的NIC上,从而确保网络连接的持续性。
3、多种模式:Linux网络绑定支持多种不同的模式,包括:
模式0(平衡轮询,balance-rr):轮流使用每个NIC发送数据包,提供负载均衡和容错能力。
模式1(主备,active-backup):只有一个NIC在正常工作,其他的作为备份。如果主NIC出现问题,备份NIC会接管,确保网络的持续性。
模式2(平衡 XOR,balance-xor):根据源和目的地址的组合,通过某种策略(通常是 XOR)来选择发送数据包的NIC。
模式3(广播,broadcast):所有的数据包都在所有NIC上发送,确保所有路径都是可用的。
模式4(802.3ad,LACP):这是一个动态链接聚合,根据IEEE 802.3ad标准工作。需要交换机支持LACP。
模式5(平衡tlb,balance-tlb):适配器传输负载均衡(Adaptive Transmit Load Balancing),无需交换机的特殊支持。
模式6(平衡alb,balance-alb):适配器负载均衡(Adaptive Load Balancing),包括tx和rx负载均衡。
易于管理:可以通过网络配置文件或使用命令行工具配置和管理网络绑定。
广泛的兼容性:大多数现代Linux发行版都支持网络绑定,并且可以在各种硬件和网络环境中使用。
bond + vlan配置示例
从网卡eth0,配置文件名称ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
从网卡eth1,配置文件名称ifcfg-eth1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
主网卡bond0配置,因为还需要配置VLAN,所以这里不配置IP地址,mode是主备模式,可按实际情况调整,配置文件名称ifcfg-bond0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="miimon=100 mode=1"
主网卡bond0.1000,例如vlan id是1000,那么配置文件名称就叫ifcfg-bond0.1000
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
NAME=bond0.1000
DEVICE=bond0.1000
ONBOOT=yes
IPADDR=192.10.1.200
NETMASK=255.255.255.0
GATEWAY=192.10.1.1
VLAN=yes
配置完成后执行以下操作
1、关闭NetworkManager服务
systemctl stop NetworkManager
systemctl disable NetworkManager
2、重启网络服务
systemctl restart network
检查bond绑定信息
cat /proc/net/bonding/bond0