Linux 双网卡绑定
Table of Contents
1 什么是bind
bind 是多网卡绑定的一种称谓。通俗来讲,bind 是一种网卡集群的技术,能够将多块网卡 配置为主备或者负载均衡,它会虚拟出一块物理上不存在的网卡(一般名字为bond0),并与 参与绑定的物理网卡持有相同的IP地址。css
bind有两种模式: 网卡主备、负载均衡.假设参与绑定的物理网卡分别是eth0和eth1.对于 绑定模式的理解以下:html
mode=1:主备模式,只有主网卡eth0工做,eth1做为备用网卡并不工做,eth1的做用就是 等待eth0没法正常使用时,它顶替eth0继续工做。 mode=0:负载均衡模式,两块网卡都工做,提供两倍带宽。
2 为何要bind
-
高可用java
一套业务是由多个功能组件组成的。任何一个组件不能工做者会致使业务没法正常运行, 为了不因组件故障而影响业务,不少组件都出现了主备模式,实际就是有一个一样功能 的备用组件,当正常工做的组件异常(坏掉了),备用的直接顶替原有组件工做。python
在主机中的网络保障,就是经过双网卡绑定技术来实现的,能够保证业务在网络层可持 续不间断 .sql
-
提升网络吞吐量shell
不少大企业天天处理几T甚至几十T的数据,有庞大的带宽支持下,还须要网卡一样支持 处理如此多的数据包,基于各类缘由,有时候一个网卡没法知足如此大的数据量,此时 添加一块网卡,进行双网卡绑定为负载均衡模式,能够提升一倍的吞吐量。sass
3 如何配置
- 在操做系统上添加两块网卡
-
查看设备名ruby
ifconfig -a 或者 ip a
示例:bash
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.211.55.14 netmask 255.255.255.0 broadcast 10.211.55.255 inet6 fdb2:2c26:f4e4:0:21c:42ff:fe26:8b74 prefixlen 64 scopeid 0x0<global> inet6 fe80::21c:42ff:fe26:8b74 prefixlen 64 scopeid 0x20<link> ether 00:1c:42:26:8b:74 txqueuelen 1000 (Ethernet) RX packets 2163 bytes 650492 (635.2 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 212 bytes 23989 (23.4 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
其中eth0即为设备名。通常状况下CentOS/RHEL 中网卡的设备名是 ethN的格式或者ensN等, N为非负整数。 因此新添加的网卡,通常为eth0,eth1等,这里以此为例。服务器
- 配置网卡的网络参数 网卡配置时,参数及值不区分大小写。所以不用特别在乎。
-
确认配置文件 在Linux系统中,网卡的配置文件存放在 /etc/sysconfig/network-scripts 路径中。 网卡对应的配置文件以以下格式命名:
ifcfg-<设备名>
-
修改物理网卡配置 此配置应用于eth0和eth1,请分别配置
DEVICE=<设备名> TYPE=Ethernet ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLAVE=yes
- 参数说明
-
- DEVICE #网口名eth0
- TYPE #ethernet表示以太网接口
- ONBOOT=yes #LINUX在启动时激活该网口
- BOOTPROTO=none #使用什么协议激活网口, none表示不使用任何协议, static表示设置静态IP, dhcp表示动态获取IP
- MASTER=bond0 #指定虚拟网口的名字(主人)
- SLAVE=yes #备用(从设备)
-
配置虚拟网卡 通常虚拟网卡咱们配置成bondN,第一个虚拟网卡为bond0,根据网卡配置文件的命名规则, 该虚拟网的配置文件为名 ifcfg-bond0 ,在该文件中添加如下内容:
DEVICE=bond0 TYPE=Ethernet ONBOOT=yes BOOTPROTO=static IPADDR=192.168.150.50 NETMASK=255.255.255.0 GATEWAY=192.168.150.1
-
-
配置绑定模式及监测 在路径/etc/modprobe.d/中新建一个文件,可随意命名,便于区分该文件的做用便可。 好比物命名为bind.conf. 在该文件中添加如下两行内容:
alias bond0 bonding options bond0 miimon=100 mode=1
miimon是用来进行链路监测的:miimon=100表示系统每100ms监测一次链路链接状态,若是有一条线路不一样就转入另外一条线路。
mode=1表示属于主备模式。 -
配置物理网卡与虚拟网卡之间的绑定关系及开机启动 /etc/rc.d/rc.local文件中加入以下语句:
ifenslave bond0 eth0 eth1
-
重启服务器
reboot
4 查看当前使用的网卡
cat /proc/net/bonding/bond0|grep "Currently Active Slave"
示例:
Currently Active Slave: eth0
此示例表示eth0 为当前正在使用的网卡,eth1为备用