CentOS6与7链路聚合---nmcli
先说下网卡绑定的模式
CentOS6.x 使用的为bonding 技术共有七种(0~6) bond0-6
bond0:(balance-rr)Round-robin policy(平衡抡循环策略)
bond1: (active-backup)Active-backup policy(主-备份策略)
bond2: (balance-xor)XOR policy(平衡策略)
bond3: (broadcast)fault-tolerance (广播策略)
bond4: (lacp)--(802.3ad)IEEE 802.3ad Dynamic link aggregation(IEEE802.3ad 动态链接聚合)
bond5: (balance-tlb)Adaptive transmit load balancing(适配器传输负载均衡)
bond6:(balance-alb)Adaptive load balancing(适配器适应性负载均衡)
常用的为 0 , 1, 6模式
mode=0(balance-rr):平衡负载模式,有自动备援,但需要”Switch”支援及设定。有可能会出现数据包无序到达的问题.
mode=1(active-backup):自动备援模式,其中一条线若断线,其他线路将会自动备援。但是它的资源利用率较低,只有一个接口处于工作状态
mode=6(adaptive load balancing):平衡负载模式,有自动备援,不必”Switch”支援及设定。所有进入的(incoming)流量会到达同一个接口;该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。
CentOS7.3 后使用teaming技术也可以使用bonding ,推荐使用teaming,方便与查看和监控。
相比bonding 来说少了bond2(balance-xor)和bond6(balance-alb)这两种模式的支持,其中的balance-xor完全可以通过lacp代替,另外一种balance-alb功能据说以后teaming也会支持。
另外"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。
下面是teaming的5种模式:
broadcast 广播容错
roundrobin 负载轮询
activebackup 主备
loadbalance 负载均衡
lacp 需要交换机支持lacp协议
nmcli命令很长记不牢可以先用man nmcli-examples 查看一下示例
centOS6 聚合链路最小安装后需要安装包NetworkManager
yum install NetworkManager -y
0、查看NetworkManager服务,停止NetworkManager服务。不做这一步很可能出问题
service NetworkManager status
service NetworkManager stop
1、修改三类文件
/etc/sysconfig/network-scripts/下的ifcfg-*文件
/etc/modprobe.conf 文件
/etc/init.d/rc.local 文件
2、编辑虚拟网口配置文件 ,记住此文件复制的时候要把MAC地址去掉,去掉UUID
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.111
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
3、编辑各网卡的配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO=none
TYPE=Ethernet
DEVICE=em1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
vi /etc/sysconfig/network-scripts/ifcfg-eth1
BOOTPROTO=none
TYPE=Ethernet
DEVICE=em2
ONBOOT=yes
MASTER=bond0
SLAVE=yes
4、修改/etc/modprobe.conf centos 6.5 是/etc/modprobe.d/bonding.conf
最后两行加入
alias bond0 bonding
options bond0 miimon=100 mode=6
// 如果有多个bond配置文件,可按如下方式添加
alias bond1 bonding
options bond1 miimon=100 mode=6
注:
(1)、miimon 是链路监测的时间间隔单位是毫秒,miimon=100的意思就是,每100毫秒检测网卡和交换机之 间是否连通,如不通则使用另外的链路。
(2)、mode=0 表示负载均衡方式,两块网卡都工作,需要交换机作支持
mode=1 表示冗余方式,网卡只有一个工作,一个出问题启用另外的
mode=6 表示负载均衡方式,两块网卡都工作,不需要交换机作支持
5、修改/etc/rc.d/rc.local,加入以下内容 ,配置了modprobe.conf 可能不再需要配置rc.local
modprobe bonding miimon=100 mode=6 // 也有加入 ifenslave bond0 eth0 eth1 这种形式
6、service network restart // 查看虚拟接口是否起来
reboot // 查看是否开机启动
=====================================================
centos 7.X 聚合链路
如果bonding模块没有加载到你的Linux机器上,那么使用下面的命令来加载。
modprobe bonding
要列出绑定模块信息
modinfo bonding
有两种方式,一个是命令行 nmcli 一个是图形界面nmtui
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
redhat 7 使用nmcli设置网卡绑定
一、创建组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 指代连接的名称,INAME 接口的名称,JSON(JavaScript Object Notation)指定所使用的处理器(runner)。
JSON语法格式如下
‘{“runner”:{“name”:“METHOD”}}’
METHOD 可以是 broadcast、activebackup、roundrobin、loadbalance、lacp 就是最上面说到的网卡绑定模式
例子:
nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
二、向组接口中添加设备
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
例子:nmcli con add type team-slave con-name team0-port1 ifname eth0 master team0
nmcli con add type team-slave con-name team0-port2 ifname eth1 master team0
三、配置IP地址
nmcli con mod team0 ipv4.addresses "192.168.1.24/24"
nmcli con mod team0 ipv4.gateway "192.168.1.1"
nmcli con mod team0 ipv4.dns "192.168.1.1"
nmcli con mod team0 ipv4.method manual
nmcli con up team0-port1
nmcli con up team0
查看状态
teamdctl team0 state
列出team0的端口
teamnl team0 ports
注意:
1。聚合链路需要依赖NetworkManager,因为首先必须保证NetworkManager服务的启动,最好设置为开机自启动模式
2。如果网卡已经启动并且添加了静态的IP地址,是无法进行链路聚合的,即使添加进去也不会生效,需要将其恢复到初始状态。因为在做链路聚合的过程当中,所有的网卡都是由NetworkManager统一调度和管理的。
3。一定要注意一台服务器只能有一个网关,否则会出各种问题。
4。echo ‘BONDING_OPTS=“fail_over_mac=1”’ >> /etc/sysconfig/network-scripts/ifcfg-team0#真实机子不用输这一行,虚拟机需要使用这一行实现模拟真实情况
参考链接:
https://blog.51cto.com/12092502/1930774
http://www.361way.com/nmcli-bond-teamd/4837.html
https://blog.csdn.net/wuweilong/article/details/39720571
https://www.jianshu.com/p/bb69c5eca756
https://www.cnblogs.com/yang-ning/p/6639311.html
https://community.hpe.com/hpeb/attachments/hpeb/hpsc-435/13622/1/深度分析Linux下双网卡绑定七种模式.pdf