1. centos6 实现bonding:

友情提示:
    需要两个相同类型网卡(在虚拟机上尽量使用仅主机模式)
    网卡配置文件中关闭NetworManager(NetworManager=no)
    bonding 0,5,6模式不需要交换机做配置,实现难度小。其他模式在虚拟机上不配交换机的情况下偶尔实验结果会有偏差

实验步骤:
1.1 新建ifcfg-bond0并配置
 
  
vim ifcfg-bond0
DEVICE=bond0
BONDING_OPTS= "mode=0 miion=100"   #bonding0模式 ,俩网卡确定心跳间隔100毫秒
IPADDR=172.18.97.97
PREFIX=16
GATEWAY=172.18.0.1
NetworManager=no 
  
1.2 修改两个网卡配置文件
 
  
vim ifcfg-eth1
DEVICE=eth1
MASTER=bond0
SLAVE=yes
复制:cp ifcfg-eth1 ifcfg-eth0
vim ifcfg-eth0
修改DEVICE=eth0
 
  
1.3 测试
service network restart #重启服务
ip a 查看网卡配置信息发现eth0,eth1网卡mac地址相同
用同网段另一台主机ping 172.18.97.97 关闭一块网卡观察是否还能ping通
查看网卡工作状态:
cat  /proc/net/bonding/bond0
查看网卡bonding模式:
cat /sys/class/net/bond0/bonding/mode

2. centos7使用nmcli 实现bonding:
实验步骤:
2.1  添加bonding接口
 
  
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup
nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.43.71/24 ipv4.gateway 192.168.43.71
 
  
2.2 添加从属接口
 
  
nmcli connection add type bond-slave ifname ens34 master bond0
nmcli connection add type bond-slave ifname ens37 master bond0
 
  
注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
2.3 要启动绑定,则必须首先启动从属接口
 
  
nmcli   connection   up   bond-slave-ens34
nmcli  connection  up  bond-slave-ens37
 
  
2.4 启动绑定
 
  
nmcli connection up bond0
 
  
2.5 拆除步骤
 
  
nmcli connection down bond0 #做完这一步实际已经删除了bonding
再手动将生成的三个配置文件删除即可(需nmcli connection reload同步),或者如下命令删
nmcli connection delete bond0
nmcli connection delete bond-slave-ens37
nmcli connection delete bond-slave-ens34
 
  

3. centos7使用nmcli 实现网络组TEAM:
工作特性:
• 网络组不同于旧版中bonding技术,提供更好的性能和扩展性
• 网络组由内核驱动和teamd守护进程实现.
• 多种方式runner
    broadcast
    roundrobin
    activebackup
    loadbalance
    lacp (implements the 802.3ad Link Aggregation Control Protocol)• 启动网络组接口不会自动启动网络组中的port接口
• 启动网络组接口中的port接口总会自动启动网络组接口
• 禁用网络组接口会自动禁用网络组中的port接口
• 没有port接口的网络组接口可以启动静态IP连接
• 启用DHCP连接时,没有port接口的网络组会等待port接口的加入

方法步骤:
1. 创建网络组接口
nmcli con add type team con-name CNAME  ifname INAME [config JSON]
    CNAME 连接名, INAME 接口名
    JSON 指定runner方式
    格式: '{"runner": {"name": "METHOD"}}'
            METHOD 可以是broadcast, roundrobin,activebackup, loadbalance, lacp2. 创建port接口
nmcli con add type team-slave con-name CNAME  ifname INAME master TEAM
    CNAME 连接名
    INAME 网络接口名
    TEAM 网络组接口名
 连接名若不指定,默认为team-slave-IFACE
 nmcli dev dis INAME
 nmcli con up CNAME
        INAME 设备名 CNAME 网络组接口名或port接口实例演示:
1. 创建网络组
 
  
nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}'
 
  
2. 创建port接口
 
  
nmcli connection add type team-slave ifname ens34 master team0
nmcli  connection  add  type  team-slave  ifname  ens37  master  team0
 
  
3. 启动网络组接口
 
  
nmcli connection up team-slave-ens37 up
nmcli connection up team-slave-ens34 up
 
  
4. 查看网络组状态
 
  
teamdctl team0 status



https://blog.51cto.com/arm2012/1976571