众所周知,高可用体系在企业中发挥着中流砥柱的作用,因此,如何构建高可用体系,将关乎到企业网络整体的性能稳定、正常运转等。

本篇,系笔者倾力打造,谢绝转载、摘抄等一切侵权行为。笔者将使用详实的例子,讲述如何打造企业护卫舰——高可用体系的故事。

一、设备高可用性

1.多网卡技术

多网卡绑定,就是通过软件将多网卡绑定为一个ip地址,许多高档服务器网卡都具有多网卡绑定功能,可以通过软硬件设置将两块或者多块网卡绑定在同一个ip地址上,使用起来就好象在使用一块网卡。

多网卡绑定的优点不少,多网卡绑定,可以增大带宽,可以形成网卡冗余阵列、分担负载,多网卡被绑定成“一块网卡”之后,同步一起工作,对电脑的访问流量被均衡分担到两块网卡上,这样每块网卡的负载压力就小多了,抗并发访问的能力提高,保证了电脑访问的稳定和畅快,当其中一块发生故障的时候,另一块立刻接管全部负载,过程是无缝的,数据传输不会中断。

(以上简介来自于互联网,请注意保护版权。) 

实验环境:为了确保服务器的正常运转,企业拟将服务器使用双网卡技术,这样即使有一块网卡损坏,服务器仍能正常运转,提供服务。

实验拓扑: 

实验设备:

         Linux服务器(Linux 5.4 2.6.18-164.el5)双网卡)一台

         测试机一台(Windows xp)

实验步骤:

    (1)、编辑网卡配置文件 

 

 

    (2)、安装模块,修改有关文件 

  

  

    (3)、查看双网卡状态 

  

    (4)、使用PC机测试   

  

  

2.磁盘技术Raid5

     RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案。 RAID 5可以理解为是RAID 0RAID 1的折中方案。RAID 5可以为系统提供数据安全保障,但保障程度要比Mirror低而磁盘空间利用率要比Mirror高。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID 5的磁盘空间利用率要比RAID 1高,存储成本相对较低。

    (以上简介来自于互联网,请注意保护版权。)

实验环境:公司为了保证数据的安全性,特拟定使用Raid技术,但是考虑到成本问题,因此在服务器上采用软Raid技术。

实验拓扑: 

实验设备:

          Linux服务器(Linux 5.4 2.6.18-164.el5))一台

          独立硬盘4

实验步骤:

    (1)、创建磁盘分区

[root@server ~]# fdisk -l    查看磁盘状况 

[root@server ~]# fdisk /dev/sdb 创建磁盘分区 

     其他的磁盘分区与此类似,不再介绍。

[root@server ~]# fdisk -l 再次查看磁盘状况 

    (2)、创建Raid

[root@server ~]# mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd[bcde]1

mdadm: array /dev/md0 started.

-C 创建后面创建RAID块设备名称 -l 5 指明创建raid5 -n 3用于创建raid5磁盘的数量,即活动磁盘的数量,raid5最少3块磁盘,-x 1备用磁盘的数量

    查看RAID是否成功的创建是否运行的正常,有两种方法

较为简单的查看:可以直接查看/proc/mdstat 的文件看到RAID运行的情况

[root@server ~]# cat /proc/mdstat

Personalities : [raid6] [raid5] [raid4] 

md0 : active raid5 sdd1[2] sde1[3](S) sdc1[1] sdb1[0]

      3919616 blocks level 5, 64k chunk, algorithm 2 [3/3] [UUU]      

unused devices: <none>

    查看详细信息:mdadm --detail /dev/md0 命令查看RAID的详细信息

[root@server ~]# mdadm --detail /dev/md0 

[root@server ~]# mkfs.ext3 /dev/md0  //格式化   raid5磁盘为 mkfs.exe

[root@server ~]# mkdir /mnt/raid5/   ///mnt下创建/raid5 文件夹,用于挂载md0

[root@server ~]# mount /dev/md0 /mnt/raid5/  //md0 挂载到raid5上去

[root@server ~]# mount   查看一下挂载情况

/dev/sda2 on / type ext3 (rw)

proc on /proc type proc (rw)

sysfs on /sys type sysfs (rw)

devpts on /dev/pts type devpts (rw,gid=5,mode=620)

/dev/sda1 on /boot type ext3 (rw)

tmpfs on /dev/shm type tmpfs (rw)

none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)

sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)

/dev/md0 on /mnt/raid5 type ext3 (rw)

[root@server ~]# 

     试一下新加上的RAID是不是可以使用,向里面写入文件

[root@server ~]# cd /mnt/raid5/

[root@server raid5]# ll

total 16

drwx------ 2 root root 16384 Feb  8 03:12 lost+found

[root@server raid5]# touch testraid5

[root@server raid5]# mkdir test/

[root@server raid5]# ll

total 20

drwx------ 2 root root 16384 Feb  8 03:12 lost+found

drwxr-xr-x 2 root root  4096 Feb  8 03:20 test

-rw-r--r-- 1 root root     0 Feb  8 03:20 testraid5

[root@server raid5]# 

3)、设置开机自动启动RAID以及自动挂载

    RAID开机启动 RIAD配置文件名字为mdadm.conf , 这个文件默认是不存在的,要自己建立.该配置文件存在的主要作用是系统启动的时候能够自动加载软RAID,同时也方便日后管理说明下,mdadm.conf文件主要由以下部分组成:

DEVICES选项制定组成RAID所有设备, ARRAY选项指定阵列的设备名、RAID级别、阵列中活动设备的数目以及设备的UUID.

[root@server ~]# mdadm --detail --scan >/etc/mdadm.conf  建立配置文件

[root@server ~]# vim /etc/mdadm.conf  修改配置文件 

设置RAID的自动挂载

[root@server ~]# vim /etc/fstab   修改文件 

4)、模拟磁盘损坏

[root@server ~]# mdadm /dev/md0 -f /dev/sdd1 //使用此命令设置sdd1成为出错的状态

mdadm: set /dev/sdd1 faulty in /dev/md0

[root@server ~]# mdadm --detail /dev/md0 查看具体情况 

[root@server ~]# mdadm /dev/md0  --remove /dev/sdd1  //移除损坏的磁盘

mdadm: hot removed /dev/sdd1

[root@server ~]# mdadm --detail /dev/md0  //再次查看情况 

[root@server ~]# mdadm /dev/md0 -a /dev/sdd1   //sdd1磁盘再次添加上

mdadm: added /dev/sdd1

[root@server ~]# mdadm --detail /dev/md0  //再次查看具体情况 

[root@server ~]# mdadm -G /dev/md0 -n 4  //使新添加上的磁盘成为active

mdadm: Need to backup 384K of critical section..

mdadm: ... critical section passed.

[root@server ~]# mdadm --detail /dev/md0    //查看具体情况 

5)、其它 (选作)

删除RAID:

1.删除所有raid对应的磁盘或分区

  mdadm /dev/md0 --fail /dev/sd[b,c,d,e]1 --remove /dev/sd[b,c,d,e]1

2.停止raid

  mdadm --stop /dev/md0

3.清空磁盘(分区)超级块中的raid信息

  mdadm --misc --zero-superblock /dev/sd[b,c,d,e]1 

   为了便于您进行查找mdadm的参数,笔者特意在文章末尾,免费共享了一个小文档,您可以参考。

2.网络设备群集技术

     采用集群的目的可以概括为以下几个方面:1.提高性能.2.降低成本.3.提高规模扩展性(Scalabilitry.4.增强可靠性.5.集群系统在提高了系统的可靠性的同时,也大大减小了故障损失。 

     (以上简介来自于互联网,请注意保护版权。)

实验环境:公司想要对网络设备(如交换机)实行群集技术,便于管理和实现高可用性。

实验拓扑: 

 

实验设备:

        华为二层交换机s2000系列 3

        TFTP服务器一台

实验步骤:

1)、在交换机sw2上进行配置 

2)、在交换机sw3上进行配置 

3)、在交换机sw1上进行配置 

  

  

  

  

  

 

4)、指定TFTP服务器,并进行备份 

  

  

 

5)、模拟故障 

6)、对故障进行修复 

  

二、局域网高可用性

1.生成树协议

生成树协议的主要功能有两个:一是在利用生成树算法、在以太网络中,创建一个以某台交换机的某个端口为根的生成树,避免环路。二是在以太网络拓扑发生变化时,通过生成树协议达到收敛保护的目的。

(以上简介来自于互联网,请注意保护版权。)

实验环境:某企业为了提高链路的高可用性,拟采用生成树技术,但考虑到充分利用设备的情况,因此采用MSTP技术。

实验拓扑:

 

实验设备:

        华为二层交换机 s2000系列四台

实验步骤:

    (1)、在交换机SW1上进行配置

   

  

  

2)、在交换机SW2上进行配置 

  

  

  

 

3)、在交换机SW3上进行配置 

  

  

  

4)、在交换机SW4上进行配置 

  

  

5)、分析

从理论上讲,先选举各个实例的根交换机,但是由于笔者已经手工配置,所以交换机SW2是实例1的根交换机,交换机SW3是实例2的根交换机。接下来决定那个端口是DISCARDING状态时依据以下顺序:各自交换机COST值、各自交换机的bridge idport id(其中包含端口优先级、端口号码),最终以各自值最小者优先。

在实例1SW2交换机上的所有端口都为FORWARDING,交换机SW3E1/0/7E1/0/8和交换机SW1E1/0/1都应该为FORWARDING状态。DISARDING端口只可能是SW1E1/0/20端口或者SW3E1/0/20端口。两者第一步先去比较各自交换机cost值,但是SW3COST值更小(因为采用了链路聚合)。

在实例2SW3交换机上的所有端口都为FORWARDING,交换机SW1E1/0/7E1/0/8和交换机SW4E1/0/24都应该为FORWARDING状态。DISARDING端口只可能是SW1E1/0/12端口或者SW4E1/0/12端口。两者第一步先去比较各自交换机COST值,但是SW1COST值更小(因为采用了链路聚合)。

以上是理论上的探讨,具体情况请见以下的实验结果。

6)、查看交换机SW1的状况 

7)、查看交换机SW2的状况 

8)、查看交换机SW3的状况 

9)、查看交换机SW4的状况 

2.链路聚合

    链路聚合是将两个或更多数据信道结合成一个单个的信道,该信道以一个单个的更高带宽的逻辑链路出现。链路聚合一般用来连接一个或多个带宽需求大的设备,例如连接骨干网络的服务器或服务器群。

    链路聚合MSTP实验和VRRP实验中已经使用过,因此不再单独将其实验列举出来。

3.虚拟路由冗余协议VRRP

    虚拟路由器冗余协议(VRRP)是一种选择协议,它可以把一个虚拟路由器的责任动态分配到局域网上的 VRRP 路由器中的一台。

     VRRP可以实现网络设备的虚拟化,为企业网络的高可用性提供保证。笔者认为VRRP也是企业网络虚拟化的一部分,是组建企业网络所必须的。为了节约篇幅,笔者不再重复讲述实验,如果您对笔者的VRRP感兴趣,您可以参考笔者的文章《安能辨我是雌雄?---VRRP企业应用探索》 (文章地址:http://pheonix.blog.51cto.com/4449015/805212  

    很抱歉的告诉您,由于格式的问题,笔者的文章又要分为两部分,给带来的不便,表示非常抱歉。未完,请参考《众擎易举,全力打造企业护卫舰——高可用性体系(