网络高可用性简介:

网络的可用性可以从故障率、可恢复性和鲁棒性三方面来衡量:故障率是指在给定的时间里,网络故障和维护事件出现的次数;可恢复性是指网络从故障状态恢复到正常状态的能力;而鲁棒性是指网络检测和处理故障的能力以及在各种故障情况下仍然具有的工作能力。由于网络是业务系统的承载体,网络的高可用性是为了保障业务系统的高可用性。所以在网络发生故障的情况下,如何迅速检测到故障并且让网络尽快恢复传递能力,使得所承载的企业业务系统具有高可用性是网络高可用性设计的首要目标。网络冗余容错技术可以保持网络在故障情况下的工作能力也即实现网络的鲁棒性,是网络高可用性的主要技术。具体的来说,可以通过网络设备、网络链路、路径控制信息的冗余容错,使得网络故障发生时,网络可以无缝地切换到冗余设备或链路,从而保持网络的传递能力。其中网络的控制平面要做到平滑的切换,尽可能减少控制信息的丢失;而网络的转发平面要做到快速切换,尽可能减低切换时延,减少包丢失。

网络高可用性的技术实现:

(1)linux下双网卡绑定:

网卡绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能,双网卡绑定实现就是使用两块网卡虚拟成一块网卡。使两块网卡具有相同的ip地址而链接聚合成一个逻辑链路工作,linux下这种技术被称为bonding。

实验(双网卡绑定的实现):

操作步骤:

添加三块网卡,然后进行编辑:

编辑第一块网卡:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

编辑第二块网卡:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

编辑bond0网卡:

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=none

IPADDR=192.168.101.178

NETMASK=255.255.255.0

修改加载模块:

[root@localhost ~]# vim /etc/modprobe.conf

alias bond0 bonding 编辑加载模块

options bond0 miimon=100 mode=1 设置加载模块条件

编辑开机脚本:

[root@localhost ~]# vim /etc/rc.d/rc.local

加入以下一行:

ifenslave bound0 eth0 eth1

重启系统:

init 6

查看网卡信息,可以看出网卡mac地址一样:

4449021_1330882015EYnk.jpg

查看网卡状态:

4449021_1330882016djc0.jpg

从外网进行ping内网,然后断开内部网卡验证:

clip_image006

 

(2)高可用群集技术:

高可用性集群,英文原文为High Availability Cluster, 简称HA Cluster,是指以减少服务中断(宕机)时间为目的的服务器集群技术。

高可用群集系统中应用程序每次只能在群集中的一个服务器上运行,其它服务器可以运行其它应用程序,但每个应用程序只能运行在单一服务器上。如果主服务器发生故障,正在故障服务器上运行的应用程序进行失败切换,切换到另一台服务器上并继续运行。

高可用性集群分为两个类型:

1、主/从(Active/passive)

主/从通常也叫做双机热备份模式,这是最常用的集群模型。在正常使用的情况下,客户端访问服务器的请求是经过双机热备份软件访问主服务器,从服务器处于空闲状态。而服务器是读取磁盘阵列柜上的数据。当主服务器出现问题时,则从服务器全权接管客户端的访问请求,服务器是存取公共磁盘阵列柜上的数据。这时虽然主服务器出现问题,但是存放于磁盘整列柜中的