Chinaunix首页 | 论坛 | 博客
  • 博客访问: 44837102
  • 博文数量: 384
  • 博客积分: 9990
  • 博客等级: 中将
  • 技术积分: 5644
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-05 17:44
文章分类

全部博文(384)

文章存档

2011年(1)

2008年(383)

分类: 服务器与存储

2008-06-07 17:10:53

随着对计算机系统依赖程度的日渐增加,数据存储技术的可靠性和安全性变得越来越重要。针对这个问题,介绍了基于IBM服务器的硬RAID和纯软双机热备系统,有效的实现了数据的安全存储,同时最大程度的减少服务器的中断时间。结合煤矿业对服务器数据存储的情况,重点探讨了RAID 1和纯软件双机热备系统的工作原理、技术特征及遇到的问题和解决方法。
关键词: 数据安全;数据存储;磁盘阵列;双机热备

引言
计算机技术、网络技术的广泛应用,使企业运作效率大大提高,同时也增加了现代企业对计算机系统的依赖性。而企业信息管理所产生的数据大部分都是存储在服务器上。如果说服务器是网络数据的核心,那么服务器硬盘就是这个核心的数据仓库,所有的软件和用户数据都存储在这里。所以如何保证服务器数据的安全,并且保证服务器最大程度上的不间断运作对每个企业来说都是一个关键问题。随着煤矿管理与控制信息化综合系统的不断完善,对服务器数据的安全要求也越来越高,在此同时采用RAID磁盘阵列和双机热备两种技术来满足要求。
RAID是 Redundant Array of Inexpensive Disks的缩写,全称为廉价冗余磁盘阵列。它是将一堆磁盘通过相关的技术连接起来,构成逻辑上的空间。RA ID可以使诸多磁盘驱动器同时传输数据,在逻辑上它们又是一个磁盘驱动器,用RAID可以使单个的磁盘驱动器提高数倍的速率[1]。
从狭义上讲,双机热备特指基于active/standby模式的服务器热备。服务器数据包括数据库数据同时往两台或多台服务器写,或者使用一个共享的存储设备。在同一时间内只有一台服务器运行。当其中运行着的一台服务器出现故障无法启动时,另一台备份服务器会通过软件诊测(一般是通过心跳诊断)将standby机器激活,保证应用在短时间内完全恢复正常使用[2]。双机热备的工作机制实际上是为整个网络系统的中心服务器提供了一种故障自动恢复能力。
1 系统配置
结合煤矿的具体需求,服务器热备系统的配置如下:
(1) 本系统采用的是两台IBM xSeries 226 8488服务器,每台服务器的主要配置为:Xeon3.0G的CPU, 512M*2的内存,73.4GB*2的SCSI硬盘,两块千兆网卡;
(2)每台服务器的两块硬盘做RAID 1磁盘阵列;
(3) 系统基于Windows 2003 server平台,数据库平台采用SQL Server 2000;
(4) 服务器双机热备为active/standby模式;
(5) 双机热备打破传统采用共享存储设备(一般为磁盘阵列)的方式,而是采用纯软件方式,软件选用ROSE Datasystems公司的ROSE HA,它包括NT Cluster和NT Mirror两个部分,它们都是基于NT平台上的软件产品。传统的采用共享存储设备方式的双机热备只需用NT Cluster即可。
2 工作原理

. . .
图1 系统结构图

ROSE HA 双机软件的守护进程通过Ethernet 监测整个双机的运行状态。由PC服务器和ROSE HA 双机软件包组成一个有效的高可用双机系统。ROSE HA 软件需要同时安装在两台服务器上,监视系统的状态,协调两台服务器的工作。双机系统根据故障的级别自动将任务从主服务器移交到备服务器上,保障应用几乎不间断运行。整个系统的结构图如图1所示。
在图1中可以看到连接两台服务器的TCP/IP Socket Private Net和RS232 Serial Port Private Net两条线路,这两条线被称作为心跳线(HeartBeat Line),它是承载心跳信号的载体,
心跳信号是一个错误检测的机制。在正常运行情况下,ROSE HA就是通过心跳线实现两台服务器的相互侦测,对两个系统之间进行周期性的握手,当任一服务器出现错误或心跳线出问题而没有收到一定数目的心跳信号,ROSE HA就会将这条心跳线示为失效。
TCP/IP Socket Private Net是指用交叉线将两台服务器网卡连接起来;RS232 Serial Port Private Net是指用串口线作两服务器的一条通讯路径。这是为了保证切换信号的安全传输建立的两条独立物理路径,和服务器构成了两个私用网。
3 技术方案特征
3.1 RAID技术
每台服务器的两块硬盘做RAID技术处理。RAID是一种把多块独立的硬盘(物理硬盘)按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术。组成磁盘阵列的不同方式称为RAID级别(RAID Levels),有明确标准级别分别是0、1、2、3、4、5等,但是最常用的是0、1、3、5四个级别[3]。数据备份的功能是在用户数据一旦发生损坏后,利用备份信息可以使损坏数据得以恢复,从而保障了用户数据的安全性,而且数据备份是自动的。在用户看起来,组成的磁盘组就像是一个硬盘,用户可以对它进行分区,格式化等等。总体来说,RAID技术的两大特点是速度和安全。

图2 RAID 1写操作方式
RAID级别的选择有三个主要因素:可用性(数据冗余)、性能和成本。如果不要求可用性,选择RAID0以获得最佳性能。如果可用性和性能是重要的而成本不是一个主要因素,则根据硬盘数量选择RAID 1。如果可用性、成本和性能都同样重要,则根据一般的数据传输和硬盘的数量选择RAID3、RAID5。结合×××煤矿对保存数据的容量和安全性能等要求,采用RAID 1技术。
RAID又分为软RAID和硬RAID,软RAID即通过软件程序并由计算机的CPU提供运行能力所成。软件程式不是一个完整系统故只能提供最基本的RAID容错功能;硬RAID是由独立操作的硬件提供整个磁盘阵列的控制和计算功能,不依靠系统的CPU资源。鉴于硬阵列所提供的功能和性能均比软阵列好,又结合IBM xSeries 226 8488服务器自带有集成的RAID卡,所以此系统采用硬RAID。
RAID l又被称为磁盘镜像,每一个磁盘都具有一个对应的镜像盘[4],磁盘读写速度没有提高,但是允许单个磁盘错,可靠性最强。其原理是在主硬盘上存放数据的同时,也在镜像硬盘上写一样的数据,如图2所示。当主硬盘(物理)损坏时,镜像硬盘则代替主硬盘的工作。因为有镜像硬盘做数据备份,所以RAID 1的数据安全性在所有的RAID级别上来说是最好的。但是其磁盘的利用率却只有50%,是所有RAID上磁盘利用率最低的一个级别。
3.2 纯软双机热备技术
与传统的双机系统相比,纯软件双机热备份系统的两台服务器之间少了公共的存储设备,但是多了网络数据镜像软件NT Mirror。对于某一个需要进行切换的服务而言,NT Mirror通过网络,将某一台服务器上指定路径下的数据采用同步或异步方式,镜像到另一台服务器,从而保证其所用的数据在两台服务器上是一致的。
3.2.1 镜像软件原理
镜像软件在局域网的服务器之间提供完全基于软件的镜像。一个服务器被指定为主服务,另一个为从服务器。当主服务器与从服务器建立镜像后,客户只能对主服务器的镜像卷进行读或写,从服务器上相应的卷被锁定以防对数据的存取,除非在主服务器上检测到故障状态。
无论何时主服务器收到一个写请求,系统首先决定这个请求是否针对某个镜像卷。如果不是,写操作可以完全正常的完成。如果主服务器写请求是针对镜像卷的,那么请求首先被送到从镜像卷去。从系统在自己的镜像卷上执行写请求后,向主系统发送写回状态。主服务器在收到这个写回状态前不做任何写操作。当从系统返回一个成功状态时,主系统在自己的镜像卷执行写操作,并返回到请求方。如果从系统执行镜像卷写操作时发生错误,那么从系统的写操作将被中止,主系统结束自己的镜像卷写请求,镜像状态从正常(Nouna1)变为错误(Broken)[5]。
3.2.2 镜像软件运行机制
镜像软件取代传统的共享存储设备,关键之处在于其必须NT Cluster软件协同工作,NT Cluster主界面如图3所示。当某一服务运行于服务器1时,它所使用的特定数据在服务器1上对应于一个数据集合ФA,通过NT Mirror将源数据集ФA镜像到服务器2成为目标数据集ФB,当NT Cluster将该服务程序从服务器1切换到服务器2时,它使用服务器2上的数据ФB,同时NT Mirror自动修改原来从ФA到ФB的镜像成为从ФB到ФA的镜像。同样道理,对多个服务程序,则一一建立服务程序与数据镜像集之间的关系。这样,无论服务程序运行于哪一个服务器,始终保证其所使用的数据在对端服务器有一份镜像存在;当一台服务器由于硬件或软件原因发生故障失效,另外一台可在保证提供自己原有服务的同时,启动失效服务器的应用程序从而取代其服务器功能。
图3 NT Cluster主界面

3.2.3 纯软双机热备的优点
从方案选择角度来看,之所以选择纯软件方式是因为本系统对硬盘容量要求较小,50G左右即可,另外纯软方式的双机热备技术发展的也较为成熟。如果在投资充裕、数据量大(1T以上),可以采用共享存储设备的方式。纯软双机热备的优点为:
(1)节约投资,不需要购买昂贵的磁盘阵列柜;
(2)避免了共享存储设备的单点故障;
(3)两台服务器不需要受SCSI电缆(服务器连接共享存储设备时用到)长度限制,可以更灵活的部署。
4 遇到的主要问题及解决方案
在煤矿双机热备系统安装的整个过程中,经过了反复调试,历时半个月。在此过程中遇到了不少问题,主要是通过测试找解决方案,同时获得了一些经验,如下:
(1) RAID 1做成功以后,开机在黑屏下就可看到RIAD的状态,正常情况下状态为Optimal。在本系统中采用的是SCSI硬盘,它是支持热插拔的,如果在线拔出一个盘,比如说是Disk0,则对系统的运行毫无影响,然后再将Disk0插进去,以后开机时会发现RIAD的状态为Degraded。在这种情况下在线拔出另外一个盘Disk1,系统就无法正常运行,出现提示为找不到操作系统。出现这种情况的原因是SCSI硬盘虽然支持热插拔,但是当Disk0被在线拔出后就破坏了原有的RIAD 1阵列,需要在Disk0插入后对RIAD 1进行重建。但是需要的时间比较长,73G的硬盘需要大约2h,而做一个新的RIAD 1只需40min左右。区别是重建RIAD不会丢失硬盘中的数据,而重新做RIAD就会使硬盘中的数据全部丢失。
(2)系统在配置并启动ROSE HA之前,关机或是重启都是正常的,而启动ROSE HA之后,如果重启或是关闭主服务器则会出现蓝屏错误提示,显示为“Stop:0x0000000A(0x00000004,0x0000001B,0x000000000,0x804F2743)”,但此时服务器切换是正常的。经过不断的实验,总于找到了解决方法:将原来的操作系统Windows 2003 Server升级到Windows 2003 Server…… 全科论文中心
阅读(879) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~