【系统集成】操作系统双网卡绑定(一、linux)

linux && win server 2012 R2 双网卡绑定技术(一、linux-bond)

众所周知,系统集成工作,数据冗余和网络冗余是重中之重,而在网络方面,我们除了一般在网络硬件设备上的集群冗余之外,比如交换机的堆叠和级联技术,路由器的HSRP和VRRP技术,以及防火墙的HA和负载均衡设备等等;就承载系统的服务器本身而言,我们也会在之硬件基础上基于多网口的绑定为一个虚拟网口,统一配置网络来实现网络的冗余,即双网卡绑定冗余技术

对于大批量的服务器群体,操作系统也是各种各样来满足不同的业务需求,当然最常用的操作系统是linux、win server 、及虚拟主机等。这里就给大家详细讲解一下,linux和windows server 2012 R2 的双网卡绑定的操作过程

当然值得一提的是,对于win server系统,我们应该庆幸,自2012系统起,windows操作系统本身便给我们提供了强大的双网卡绑定功能,即网卡NIC组合服务;这省去了之前类似2008操作win系统,需要针对网卡硬件安装相应的驱动程序或双网卡软件来进行配置双网卡的过程。

对于server 2008系统配置双网卡的繁琐,其中Dell PowerEdge R系列服务器的Broadcom、intel或QLogic聚合等以太网适配器,可以凭认其服务器的SN序列号,到dell官网下载对应的网卡驱动程序,来配置。此外也有相关的网卡管理软件来配置,一般有Intel的 PROSet、HP的HP Network configuration Utility、Broadcom的Advanced control等等;而这里博主也就不大费周章的去整理2008的双网卡配置了,主要博主也极少用过,

好了,废话不多说,让我们赶快进入技术的巅峰时刻吧!

一、linux操作系统的双网卡绑定配置

首先我们要知道,linux操作系统以redhat为例,系统提供有七种网卡绑定模式:mod=0、round robin,1.active-backup,2.load balancing (xor),  3.fault-tolerance (broadcast), 4.lacp,  5.transmit load balancing, 6.adaptive load balancing。译文为:0、轮转算法;1、主备冗余;2、load平衡(XOR);3、容错(广播);4、lacp;5、传输负载平衡;6.自适应负载平衡;

而博主的工作中主要用到的有1和0两种mode,下面也将给大家列举分享这两种实例:

1、linux的双网卡绑定mode=1(active-backup)

即一个网卡处于活动状态 ,一个处于备份状态,所有流量都在主链路上处理。当活动网卡down掉时,启用备份的网卡,从而实现双网卡的主备冗余工作方式,也是博主的工作环境中最常用的;

1.1、配置并启用双网卡绑定bond文件(bonding.conf):

#vim /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bond0 miimon=100 mode=1 use_carrier=0

其中miimon=100表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线;

use_carrier选项设为1会使用netif_carrier_ok(),而设为0则会使用废弃的MII/ETHTOOL,干什么呢?当然是用来判定链路物理状态,前者依赖于设备驱动来维护状态(判断载波),后者则使用了内核里废弃的旧调用序列,相比而言后者比较低效,但netif并不是所有设备驱动都支持这个,所以博主的工作环境中选择了后者,方便集成的规范性。

1.2、配置虚拟网卡bond0,并把em1和em2 网卡加入bond:

(由于服务环境,不允许经常带动网络配置,这里采用直接配置网卡文件,网卡名根据具体环境而定)

#cd /etc/sysconfig/network-scripts/
#cp -p ifcfg-em1 ifcfg-bond0
#vim ifcfg-bond0    //配置bond0
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.1.2
NETMAST=255.255.255.0
GATEWAY=192.168.1.1
#vim ifcfg-em1      //配置em1网卡
DEVICE=em1
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
#vim ifcfg-em2      //配置em2网卡
DEVICE=em2
TYPE=Ethernet
ONBOOT=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes

怎么样,到此双网卡绑定的配置就完成了!其中需要注意的是,bond0文件里的网卡名记得修改正确;

1.3、重起网络服务,并查看状态及扩展:

#service network restart
#cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (active-backup)   #主备冗余
Primary Slave: None
Currently Active Slave: em1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ******
Slave queue ID: 0
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ******
Slave queue ID: 0
#ip a      //命令查看复制有字符删减,为了好看,和不浪费篇幅,看不明白可联系博主哦!
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
2: em1: ****** mtu 1500 qdisc mq master bond0 state UP qlen 1000 
3: em2: ****** mtu 1500 qdisc mq master bond0 state UP qlen 1000 
4: em3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 
5: em4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP

到此可以看出状态up,并且链路流量跑在em1网口上,当em1断开,则流量转换到em2网口;

扩展:(命令加载bond模块,并添加、删除bond中的物理网卡)

创建bond0 虚拟网卡:echo +bond0 >/sys/class/net/bonding_masters

修改bond模式:echo 1 > /sys/class/net/bond/bonding/mode

将网口添加到bond中:ifenslave bond0 em1 em2【bond要先up:ifup bond0】

从bond中删除网口:ifenslave -d bond0 em1

把bond中网口主备倒换:ifenslave -c bond0 em2

2、linux的双网卡绑定mode=0(round robin)

轮转算法即所有链路处于负载均衡状态,这模式的特点增加了带宽,同时支持容错能力;相同于链路负载均衡的功能;

依照上面的实例,配置依次如下:

#vim /etc/modprobe.d/bonding.conf      #启用bond配置文件
alias bond0 bonding
options bond0 miimon=100 mode=0 use_carrier=0   #mode值改为0即可
#配置虚拟网卡bond0和物理网卡em1、em2和实例一雷同,请参照上方;
#service network restart
#cat /proc/net/bonding/bond0 
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)   #实现负载均衡,即双活工作状态;
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: em1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ******
Slave Interface: em2
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: ******
Slave queue ID: 0

哈哈,好了,到此linux的双网卡绑定就分享完了,本章节也就到这里了,希望给你带来了帮助;

关于windows server 2012 R2操作系统双网卡绑定,请继续阅读下篇文章:

【系统集成】操作系统双网卡绑定(二、win server 2012 R2)

 

Edit@bigmouth【原创博文】®【系统集成】


原创文章,转载请注明:转自于公牛博客

本文链接地址:【系统集成】操作系统双网卡绑定(一、linux)

17
祝福我们的祖国繁荣昌盛
  • 请尽情挥洒您的笔墨!