1. centos6 实现bonding:
友情提示:
需要两个相同类型网卡(在虚拟机上尽量使用仅主机模式)
网卡配置文件中关闭NetworManager(NetworManager=no)
bonding 0,5,6模式不需要交换机做配置,实现难度小。其他模式在虚拟机上不配交换机的情况下偶尔实验结果会有偏差
实验步骤:
1.1新建ifcfg-bond0并配置
vimifcfg-bond0 DEVICE=bond0 BONDING_OPTS="mode=0miion=100"#bonding0模式,俩网卡确定心跳间隔100毫秒 IPADDR=172.18.97.97 PREFIX=16 GATEWAY=172.18.0.1 NetworManager=no
vimifcfg-eth1 DEVICE=eth1 MASTER=bond0 SLAVE=yes 复制:cpifcfg-eth1ifcfg-eth0 vimifcfg-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接口
nmcliconnectionaddtypebondcon-namebond0ifnamebond0modeactive-backup nmcliconnectionmodifybond0ipv4.methodmanualipv4.addresses192.168.43.71/24ipv4.gateway192.168.43.71
2.2添加从属接口
nmcliconnectionaddtypebond-slaveifnameens34masterbond0 nmcliconnectionaddtypebond-slaveifnameens37masterbond0
2.3要启动绑定,则必须首先启动从属接口
nmcliconnectionupbond-slave-ens34 nmcliconnectionupbond-slave-ens37
2.4 启动绑定
nmcliconnectionupbond0
2.5 拆除步骤
nmcliconnectiondownbond0#做完这一步实际已经删除了bonding 再手动将生成的三个配置文件删除即可(需nmcliconnectionreload同步),或者如下命令删 nmcliconnectiondeletebond0 nmcliconnectiondeletebond-slave-ens37 nmcliconnectiondeletebond-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接口的加入
方法步骤:
创建网络组接口
nmcli con add type team con-name CNAME ifname INAME [config JSON]
CNAME 连接名, INAME 接口名
JSON 指定runner方式
格式: '{"runner": {"name": "METHOD"}}'
METHOD 可以是broadcast,roundrobin,activebackup,loadbalance,lacp创建port接口
nmcli con add type team-slave con-name CNAMEifname INAME master TEAM
CNAME 连接名
INAME 网络接口名
TEAM 网络组接口名
连接名若不指定,默认为team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
INAME 设备名 CNAME 网络组接口名或port接口
实例演示:
1. 创建网络组
nmcliconnectionaddtypeteamcon-nameteam0ifnameteam0config'{"runner":{"name":"loadbalance"}}'
2. 创建port接口
nmcliconnectionaddtypeteam-slaveifnameens34masterteam0 nmcliconnectionaddtypeteam-slaveifnameens37masterteam0
3. 启动网络组接口
nmcliconnectionupteam-slave-ens37up nmcliconnectionupteam-slave-ens34up
4. 查看网络组状态
teamdctlteam0status