热备网络存储系统的研究与设计
来源:无线互联科技杂志 更新时间:2014-04-07
 
对当前网络存储技术的研究和分析,设计出了一个基于万兆网络的热备网络存储系统。论文首先分析了几种主流的网络存储技术,继而提出并设计了热备网络存储系统的整体框架和软件架构,然后对各个功能模块进行了详细设计。
    1.引言
  随着计算机技术的高速发展,信息或数据已然成为了人们生活中必不可少的重要组成部分。计算、存储、传输是的数据信息存在的三种状态。通常情况下,由主机系统负责数据的计算,同时也会通过文件系统、数据库系统等手段对数据进行管理,而存储设备往往是使用物理直连的方式连接在主机系统中。为了能够更好地实现设备的充分利用和资源共享,人们将存储方式转向网络化存储,希望通过提高存储系统自身的数据管理能力,将数据存储独立于主机系统之外,以网络方式连接主机和存储系统。随着对数据的依赖性逐渐增加,人们通常采用对数据进行备份的方式来防止数据丢失。
  根据网络与存储系统结合的不同形式,网络存储技术也随之发展。目前主流的技术有NAS(网络连接存储)、SAN(存储区域网络)基于IP的存储。NAS是一种基于文件的、直接利用局域网进行数据传输的存储架构,主要优势在于可以很容易的实现异构平台的文件共享、多用户同时访问。NAS是基于局域网的存储,而SAN的功能是将存储设备从局域网中分离出来,使其被看成是负责存储的“后端”网络,而“前端”网络则负责正常的TCP/IP传输,从而降低了网络的拥塞,简化了数据存储和传输。基于IP的存储是指利用IP网络来实现类似SAN的块级数据处理。目前正处于广泛研究中的基于IP的存储技术有FCIP(FibreChannel over IP),IFCP(Internet Fibre Channel),iSCSI(Internet SCSI)等。基于IP的存储技术主要优点是可以很好地实现数据共享和远程访问,系统造价低、便于构建和维护,将共享存储扩展到局域网甚至是Internet上,克服了光纤通道对数据传输距离的限制。本文主要研究的是利用热备的方式来提高网络存储系统的安全性和可靠性。
  2.热备网络存储系统整体框架
  本系统主要由主从两台网络存储设备组成,每台网络存储设备集成了磁盘阵列及相关控制器。主从网络系统设备内的磁盘阵列可组成RAID,提高磁盘的读写速度并提供数据保护。另外,主从网络存储设备的磁盘阵列可组成镜像关系,进一步提高系统的可用性。热备网络存储系统的组成框图如图1所示。
 130410715472550890_new.jpg (565×346)
图1 热备网络系统组成框图
  从图中可以看出,主设备和从设备是互为备份的网络存储设备,两台设备系统之间通过心跳线和数据同步线相连,分别用于实现设备的心跳检测和设备间的数据同步。客户端和服务器可以通过万兆网络实现对网络存储系统的数据访问。热备网络存储系统所有软件集成于热备网络存储设备中,不需要在用户服务器上安装专用软件,不占用用户资源。
  3.热备网络存储系统的软件架构及模块划分
  本系统中内部软件由四个模块组成,分别是iSCSI模块、数据镜像模块、主备检测模块、系统配置模块。系统整体的内部框图如图2所示。热备网络存储系统主要通过iSCSI模块支持iSCSI协议,使得用户能够以网络硬盘的方式进行数据访问;数据镜像模块和主备检测模块是本系统的核心部分,数据镜像模块主要完成主从设备之间的镜像创建、状态维持和镜像管理功能;主备检测模块实现两个网络存储系统设备的故障检测和相互之间的业务切换;系统配置模块为用户提供了对系统进行管理、配置的功能。
  130410715718994986_new.jpg (524×352)
图2 系统整体内部框图
  3.1 iSCSI模块
  iSCSI(Internet SCSI)模块用于实现iSCSI协议。iSCSI协议用于在TCP/IP网络上传输SCSI协议命令,将SCSI定义的发起方(Initiator)和目标方(Target)由原来的SCSI总线连接扩展到inter—net上。由于位于提供服务的一端,因此iSCSI模块实现的是iSCSI的目标方(Target)。iSCSI模块实现功能如下:
 
  1)实现iSCSI协议的目标端,符合标准iSCSI协议,支持iSCSI initiator的搜索、连接、数据读写操作;
  2)能够将系统中的硬盘设备映射为不同的LUN,支持映射多个LUN;
  3)支持针对每个LUN设置不同的WWID,该功能保证用户服务器能够正确识别曾挂载过的LUN,并赋予原设备号。
  4)调用万兆网卡TOE、iSCSI卸载、RDMA技术,提升传输性能、减少时延;iSCSI模块通过读取配置文件的方式进行初始化操作。配置文件中包括iSCSI接口参数、LUN映射。更改iSCSI参数需要重新加载iSCSI模块。
  3.2 数据镜像模块
  热备网络存储系统里的每台网络存储设备中,都使用了RAID技术来避免单磁盘故障;同样,为了防止单台网络存储设备整体故障,在两台设备上使用磁盘镜像,实现磁盘镜像功能的模块就是镜像模块。镜像模块实现了类似于跨主机之间的RAIDl功能。它的作用是将本地磁盘(盘阵列逻辑盘)与其他网络存储设备的磁盘(盘阵列逻辑盘)共同构成一个存储镜像。镜像模块实现主要功能如下:
  1)将两台网络存储设备组成存储镜像关系;
  2)将两台网络存储设备的RAID逻辑盘组成磁盘镜像后虚拟成镜像逻辑盘,并提供访问接口;
  3)磁盘镜像的读写;
  4)维持磁盘镜像状态,出现异常情况进行相应处理;
  5)支持失去同步后可根据磁盘镜像同步信息重新同步,并重组原镜像。
  镜像模块的组成逻辑盘示意图如图3所示。
   130410716039833337_new.jpg (578×201)
图3 镜像模块逻辑示意图
  3.3 主备检测模块
  主备检测模块实现两个网络存储设备之问的同步状态检测、主备切换。主备检测模块可采用网口及串口的方式检测心跳连接,检测间隔时间、失去同步判定时间可配置。主备检测模块周期性地发送同步信号,并相互检测该信号,作为热备网络存储系统有无故障判断的依据。当主备检测模块检测到对端网络存储设备故障停机后,如果本网络存储设备当前为备设备,则将本网络存储设备设置为主设备,并接管当前业务。系统初始主备状态由人工配置决定。
  为提高主备检测模块可扩展性,主备切换时业务接管操作采用执行配置脚本方式实现。目前支持的IP地址切换、MAC地址切换、iSCSI模块控制、镜像模块控制。此外,为了避免两台网络存储设备心跳连接断开后的“分脑”,支持创建多条心跳连接同时检测。
  3.4 系统配置模块
  目前热备网络存储系统采用两种独立的配置与监测方式:SNMP、web服务器。实现功能包括:
  1)实现镜像模块、主备检测模块、iSCSI模块、及操作系统、网络状态的监测;2)完成镜像模块配置、主备检测模块配置、iSCSI模块配置功能;3)完成镜像模块、主备检测模块、iSCSI模块出错显示及告警功能(致命故障告警通过蜂鸣声进行提示);4)完成镜像模块控制功能,能够更改镜像模块状态,对于失去同步的镜像模块能够进行恢复操作。
  4.系统自动主备切换时数据完整性解决
  自动主备切换时保证用户数据完整性的解决途径如下:镜像采用同步写操作,即主网络存储设备进行数据块的写入操作时,只有当数据块已写人本设备磁盘阵列并且成功将该数据块写入镜像网络存储设备中时,才通知用户服务器继续写人数据。同步写操作由于需要同时写两台设备,因此写速度会有所下降。数据块写入顺序如图4所示。
   130410716260885981_new.jpg (449×329)
图4 同步写操作的数据块写入顺序
  5.结语
  随着信息技术的不断发展,当前微处理器设计已经转向多线程、多内核、面向移动计算机的低功耗设计,而存储性能的提高也面临着功耗、可靠性和成本三大难题。存储数据的丢失或被破坏对于用户来讲将造成无法估量的损失,如何提高数据存储的安全性、可靠性将是存储领域最需要解决的问题。数据的安全性是指系统中的数据在运行中保持安全可靠,作为数据载体的系统在运行中的故障不影响数据的正确。对于关键性业务要求做到确保数据的完整、一致、安全、可靠。即使出现故障,也应有多种手段在最短的时间内对数据进行故障恢复,保证业务的正常开展。
  
本文采用了热备的网络存储方式来保证数据的存储安全性,并实现了一个功能上的模型。通过热备网络对数据进行实时备份,并可以自动切换主备存储设备使业务不会中断,从而保证了系统业务的连续性和可靠性。采用热备网络进行存储的网络化存储方式可以很好的保证数据的安全性和系统的可用性。