- A+
所属分类:linux技术
多网卡绑定:
把多块网卡逻辑上绑在一块使用,对外就相当于一块网卡,他们共享一个ip地址。
好处:
防止一块网卡坏了就无法使用,提升带宽。
工作模式:
-
mod=0:轮询模式,两个网卡轮流处理数据包。 --- 提升带宽和容错性
-
mod=1:主备模式,住在一个网卡上处理,主坏了就使用备用的。 --- 只提升了容错性
注:某些模式(0、2、3)需要在交换机上配置。(1、5、6)不需要配置。
范例:主备模式的配置(配置文件实现)
#通过修改配置文件的方式实现。 #1.创建一张虚拟网卡,并指定工作模式 /etc/sysconfig/network-scripts/ifcfg-bond0 #创建的虚拟网卡 NAME=bond0 TYPE=bond DEVICE=bond0 BOOTPROTO=none IPADDR=10.0.0.100 PREFIX=8 #miimon指定链路监测时间间隔。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路 #model=1 选用model1这种模式 BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1" #2.对两张网卡进行配置(不配置地址,地址都配置到虚拟网卡上面去了) /etc/sysconfig/network-scripts/ifcfg-eth0 NAME=eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 #网卡并非独立网卡,而是附属到bond0上,网卡的设置由bond0来进行控制 SLAVE=yes #SLAVE:从设备 ONBOOT=yes /etc/sysconfig/network-scripts/ifcfg-eth1 NAME=eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes ONBOOT=yes
范例:主备模式的配置(nmcli命令实现)
#nmcli的最终结果就是生成配置文件 #添加bonding接口 #mode active-backup模式--model=1这个模式 nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup ipv4.method manual ipv4.addresses 10.0.0.100/24 #将物理网卡加入到bond设备里面 #ifname:指定物理网卡的接口名 nmcli con add type bond-slave ifname ens7 master bond0 nmcli con add type bond-slave ifname ens3 master bond0 #注:没有给物理网卡指定连接名时,则该名称是接口名称加类型构成 con-name:连接名 ifname:接口名 #要启动绑定,则必须首先启动从属接口 nmcli con up bond-slave-eth0 nmcli con up bond-slave-eth1 #启动绑定 nmcli con up mybond0
查看创建的bond0的状态:
/proc/net/bonding/bond0
删除bond0:
方法一: ifconfig bond0 down 方法二: rmmod bonding
网络组
bond这种实现方案比较老了,从CentOS7开始就推出了新的技术:team(网络组)
效果和bond功能是一样的,内核实现和命令上面发生了改变。
工作模式:
-
broadcast
-
roundrobin
-
activebackup --主备模式
-
loadbalance --- 负载均衡
-
lacp (implements the 802.3ad Link Aggregation Control Protocol)
nmcli实现team
#1.创建网络组接口 # ifname INAME 这个接口名是自己虚拟出来的接口 nmcli con add type team con-name CNAME ifname INAME 工作模式(json格式) #CNAME 连接名 #INAME 接口名 #JSON 指定runner方式,格式:'{"runner": {"name": "METHOD"}}' #METHOD 可以是broadcast, roundrobin, activebackup, loadbalance, lacp #2.把物理网卡加入进来让它成为一个从的设备 nmcli con add type team-slave con-name CNAME ifname INAME master TEAM #CNAME 连接名,连接名若不指定,默认为team-slave-IFACE #INAME 网络接口名 #TEAM 网络组接口名 #3.启动网卡(都要启动) nmcli con up CNAME #启动网卡 #断开连接的方法: nmcli dev dis INAME #删除 删除的时候会把配置文件也一起闪出掉 nmcli con delete Name(连接名)
范例
#1。 添加一个team设备 nmcli con add type team con-name myteam0 ifname team0 config '{"runner": {"name": "loadbalance"}}' ipv4.addresses 192.168.1.100/24 ipv4.method manual #2. 将物理网卡计入team中让他成为team的成员 nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0 nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0 #3.启动生效 nmcli con up myteam0 nmcli con up team0-eth1 nmcli con up team0-eth2 #查看使用的是那种模式 teamdctl team0 state #team0表示创建的team名字 ping -I team0 192.168.0.254 #禁用某一张网卡的方法: nmcli dev dis eth1