一、BONDING
bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持。
二、工作模式
bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.
balance-rr (mode=0) 默认, 有高可用 (容错) 和负载均衡的功能, 需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).
active-backup (mode=1) 只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低
balance-xor (mode=2) 不常用
broadcast (mode=3) 不常用
802.3ad (mode=4) IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过
balance-tlb (mode=5) 不常用
balance-alb (mode=6) 有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置 (流量分发到每个接口不是特别均衡)
具体的网上有很多资料,了解每种模式的特点根据自己的选择就行, 一般会用到0、1、4、6这几种模式。
1、设置bonding前需要另添加两块网卡,且该两块网卡在一个vmnet中,共用bonding的ip地址
网卡的配置文件中的主要几个配置
DEVICE=eth0 设备名
ONBOOT=yes 表示随着网络服务的启动,该网卡是否随之启动
NM_CONTROLLED=yes 表示该网卡是否支持NetworkManager管理
BOOTPROTO=dhcp|static|none 如删除该行,则为手动设置地址
HWADDR= 该网卡的MAC地址
PEERDNS=no 默认是yes当该网卡启动PEERDNS=yes,dns配置文件中的dns会被该网卡
的dns设置所覆盖,若网卡是dhcp则被dhcp的设置覆盖,若网卡是静态地址,则被静态配置的dns
覆盖
2、修改网卡的配置文件 /etc/sysconfig/network-scripts/
BONDING_OPTS="miimon=100 mode=1"
miimon是用来进行链路监测的。miimon=100,那么系统每100ms监测一次链路连接状态,如果有
一条路不通就转入另一条线路
3、配置要绑定的网卡的配置文件
SLAVE=yes 是否同意服务bond0
MASTER=bond0 该命令指定服务谁
4、bonding设置成功后,需要重启网络
serivce network start 开启网络服务
service network stop 停止网络服务
service network restart 重启网络服务
5、测试bonding的配置效果,ping master的ip地址,当bonding中master网络断开,slave中的网
络就会顶上,在这期间
会发生丢包重传的情况。
cat /proc/net/bonding/bond0 该条命令可以用来查看masterde的详细信息
删除bonding前需要先关闭bond0:ifconfig bond0 down
rmmod bonding
2、centos7中的bonding的设置方式
2.1、准备工作:另添加两块网卡,在同一个vmnet中
2.2、增加bond的方案,用nmcli命令进行操作设置一条新的方案
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup
2.3、增加slave的方案给两块新加的网卡
nmcli connection add con-name slavename ifname ensname type ethernet master bond0
注意:如没有为从属接口提供连接名,则该名称是接口名称加类型构成
2.4、配置bond0
nmcli connection modify bond0 ipv4.method manual connection.autoconnect yes ipv4.addresses
address ipv4.dns 域 ipv4.gateway 网关地址
激活bond指令: nmcli connection up bondname