模式 | 说明 |
---|---|
mod = 0 | (balance-rr) Round-robin policy(轮询)聚合口数据报文按包轮询从物理接口转发。 |
mod = 1 | (active-backup) Active-backup policy(主-备份策略)只有Active状态的物理接口才转发数据报文。 |
mod = 2 | (balance-xor) XOR policy(平衡策略)聚合口数据报文按源目MAC、源目IP、源目端口进行异或HASH运算得到一个值,根据该值查找接口转发数据报文 |
mod = 3 | broadcast(广播策略)这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去 |
mod = 4 | (802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚 合)在动态聚合模式下,聚合组内的成员端口上均启用LACP(链路汇聚控制协议)协议,其端口状态通过该协议自动进行维护 |
mod = 5 | (balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)在每个物理接口上根据当前的负载(根据速度计算)分配外出流量。 |
mod = 6 | (balance-alb) Adaptive load balancing(适配器适应性负载均衡)该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡,而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的 |
mod=6和mod=0的区别
mod=6,先把eth0流量占满,再占eth1,….ethX;而mod=0的话,会发现2个口的流量都很稳定,基本一样的带宽。而mod=6,会发现第一个口流量很高,第2个口只占了小部分流量
说明
常用的模式为 0,1,3,6 mode 1、5、6 不需要交换机设置 mode 0、2、3、4需要交换机设置 active-backup、balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和 EtherChannel
详细帮助文档
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt https://www.kernel.org/doc/Documentation/networking/bonding.txt
前提:虚拟机中有两块及以上的网卡
方法:
1.创建bonding设备的配置文件
[root@www.zhanglongjie.cn ~]#nmcli connection #查看当前连接 NAME UUID TYPE DEVICE eth0 5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03 ethernet eth0 Wired connection 1 ba3434c4-7189-3fd6-9105-1b28769e2afc ethernet eth1 [root@www.zhanglongjie.cn ~]#vim /etc/sysconfig/network-scripts/ifcfg-bond0 [root@www.zhanglongjie.cn network-scripts]#cat ifcfg-bond0 NAME=bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.208 PREFIX=24 #miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路 BONEING_OPTS="mode=1 miimon=100 fail_over_mac=1" [root@www.zhanglongjie.cn ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth0 [root@www.zhanglongjie.cn network-scripts]#cat ifcfg-eth0 DEVICE=eth0 NAME=eth0 BOOTPROTO=static MASTER=bond0 # 需要和上面的ifcfg-bond0配置文件中的DEVICE的值对应 SLAVE=yes ONBOOT=yes [root@www.zhanglongjie.cn ~]#cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth1 [root@www.zhanglongjie.cn ~]#vim /etc/sysconfig/network-scripts/ifcfg-eth1 [root@www.zhanglongjie.cn network-scripts]#cat ifcfg-eth1 DEVICE=eth1 NAME=eth1 BOOTPROTO=static MASTER=bond0 # 需要和上面的ifcfg-bond0配置文件中的DEVICE的值对应 SLAVE=yes ONBOOT=yes [root@www.zhanglongjie.cn ~]#nmcli connection reload [root@www.zhanglongjie.cn ~]#nmcli connection up bond0 [root@www.zhanglongjie.cn ~]#cat /proc/net/bonding/bond0
2.nmcli实现 bonding
#添加bonding接口 [root@www.zhanglongjie.cn ~]#nmcli connection add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.208/24 Connection 'mybond0' (fca1f616-d6da-4183-bc43-ce0543e95eaf) successfully added. #添加从属接口,如无为从属接口提供连接名,则该名称是接口名称加类型构成 [root@www.zhanglongjie.cn ~]#nmcli connection add type bond-slave ifname eth0 master bond0 Connection 'bond-slave-eth0' (eaf5cafd-0026-46df-9cce-5d494a63eb5e) successfully added. [root@www.zhanglongjie.cn ~]#nmcli connection add type bond-slave ifname eth1 master bond0 Connection 'bond-slave-eth1' (a135bec5-29c0-4bad-92bc-0c3d8eedc463) successfully added. #要启动绑定,则必须首先启动从属接口 [root@www.zhanglongjie.cn ~]#nmcli con up bond-slave-eth0 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) [root@www.zhanglongjie.cn ~]#nmcli con up bond-slave-eth1 Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/5) #启动绑定 [root@www.zhanglongjie.cn ~]#nmcli con up mybond0 Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6) [root@www.zhanglongjie.cn ~]#nmcli connection NAME UUID TYPE DEVICE mybond0 4287fb51-c99c-4653-b5b6-02d5605a7e34 bond bond0 bond-slave-eth0 056d3f09-fdb3-4d37-ab73-c795b2b7048c ethernet eth0 bond-slave-eth1 f17c9caa-2851-432a-906a-55c542aa7572 ethernet eth1 [root@www.zhanglongjie.cn ~]#ip a 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: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:f7:6a:a4 brd ff:ff:ff:ff:ff:ff 3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc fq_codel master bond0 state UP group default qlen 1000 link/ether 00:0c:29:f7:6a:a4 brd ff:ff:ff:ff:ff:ff 4: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 00:0c:29:f7:6a:a4 brd ff:ff:ff:ff:ff:ff inet 10.0.0.248/24 brd 10.0.0.255 scope global noprefixroute bond0 valid_lft forever preferred_lft forever inet6 fe80::f5ed:db28:5ab2:cfd5/64 scope link noprefixroute valid_lft forever preferred_lft forever
网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现
多种方式 runner | 网络组特点 |
---|---|
broadcast | 启动网络组接口不会自动启动网络组中的port接口 |
roundrobin | 启动网络组接口中的port接口总会自动启动网络组接口 |
activebackup | 禁用网络组接口会自动禁用网络组中的port接口 |
loadbalance | 没有port接口的网络组接口可以启动静态IP连接 |
lacp (implements the 802.3ad Link Aggregation Control Protocol) | 启用DHCP连接时,没有port接口的网络组会等待port接口的加入 |
#创建网络组接口 [root@www.zhanglongjie.cn ~]#nmcli con add type team con-name myteam0 ifname team0 config '{"runner":{"name": "loadbalance"}}' ipv4.addresses 10.0.0.248/24 ipv4.method manual Connection 'myteam0' (67384c54-86de-4f4d-8c25-748e079f9aea) successfully added. #创建port接口 [root@www.zhanglongjie.cn ~]#nmcli connection add con-name team0-eth0 type team-slave ifname eth0 master team0 Connection 'team0-eth0' (06a34689-ac38-4b5b-ba6d-e8a2f492b724) successfully added. [root@www.zhanglongjie.cn ~]#nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0 Connection 'team0-eth1' (2cd85406-1d05-4455-b88c-9983d4e7a498) successfully added. #启动绑定 [root@www.zhanglongjie.cn ~]#nmcli con up myteam0 #启动从属接口 [root@www.zhanglongjie.cn ~]#nmcli connection up team0-eth0 [root@www.zhanglongjie.cn ~]#nmcli connection up team0-eth1 [root@www.zhanglongjie.cn ~]#nmcli connection NAME UUID TYPE DEVICE Wired connection 1 ba3434c4-7189-3fd6-9105-1b28769e2afc ethernet eth1 myteam0 67384c54-86de-4f4d-8c25-748e079f9aea team team0 team0-eth0 06a34689-ac38-4b5b-ba6d-e8a2f492b724 ethernet eth0