首页> 中国专利> SAN系统中基于负载自适应的异步远程镜像方法

SAN系统中基于负载自适应的异步远程镜像方法

摘要

SAN系统中基于负载自适应的异步远程镜像方法属于网络存储技术领域,其特征在于:在由主机节点Host、包括主机适配卡、交换机和数据链路的互联设备、I/O节点及其磁盘阵列、为上述I/O节点提供网络硬盘的镜像I/O节点即Mirror I/O node及其磁盘阵列构成的存储区域网络SAN中,I/O节点机的目标模拟器可根据I/O负载的大小,采取两种不同的异步镜像方式来减少命令响应时间,而且在镜像关系初建的同时,或存在磁盘发生失败更换磁盘工作后,进行磁盘间的同步来保证数据的一致性,同时对目标模拟器各子模块所有的出错情况可进行不同的分析处理。它能在保证数据安全性、一致性的前提下,减少写命令的响应时间,而且I/O负载越大,其效果越明显。

著录项

  • 公开/公告号CN1543135A

    专利类型发明专利

  • 公开/公告日2004-11-03

    原文格式PDF

  • 申请/专利权人 清华大学;

    申请/专利号CN200310103194.X

  • 发明设计人 舒继武;郑纬民;严瑞;姚骏;

    申请日2003-11-07

  • 分类号H04L12/28;H04L12/24;H04L12/26;H04L29/06;

  • 代理机构

  • 代理人

  • 地址 100084 北京市100084-82信箱

  • 入库时间 2023-12-17 15:39:00

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-01-02

    未缴年费专利权终止 IPC(主分类):H04L12/28 授权公告日:20070314 终止日期:20111107 申请日:20031107

    专利权的终止

  • 2007-03-14

    授权

    授权

  • 2005-01-05

    实质审查的生效

    实质审查的生效

  • 2004-11-03

    公开

    公开

说明书

技术领域

SAN系统中基于负载自适应的异步远程镜像方法属于网络存储技术领域。

背景技术

远程数据镜像作为SAN(Storage Area Network)关键技术,充分利用了SAN的中底层网络(FC或Ethernet)远距离连接能力和统一存储的特点,保证了重要数据在遭受区域物理灾难(如:火灾、洪水以及大规模电力故障等)后的可用性,为数据的容灾提供了有力支持。

目前,SAN系统的远程镜像解决方案多采用同步镜像方法。同步镜像即所有的对镜像磁盘或者逻辑卷的写操作,会同时发送命令/数据到镜像磁盘(或逻辑卷)对,且只有镜像磁盘对(或逻辑卷)的写命令都完成后才会通知写命令发出程序命令完成。这种同步的数据镜像方式的最显著的特点是数据的一致性很好,但也有如下的不足之处:

1、由于需要等待本地写命令和远程写命令的全部完成,造成了系统的命令响应时间的增加。有数据表明,在系统I/O负载比较重的情况下,命令的响应时间呈指数增长。

2、同步镜像需要较高的带宽,需借助于光纤通道等高速网络的支持采用FCP协议来实现,这就导致了同步镜像实现方法比较单一且整个系统的费用居高不下。一些公司的产品采用了低速网络作为远程镜像通道,但需要利用FCP到iSCSI的桥接转换,费用昂贵且性能比较差。

基于负载自适应的异步远程镜像方法很好的解决了上述的不足之处且保持了良好的数据一致性。

发明内容

本发明的目的在于提供一种SAN(Storage Area Network,存储区域网络)系统中基于负载自适应的异步远程镜像的方法来提高数据的安全性且在保持良好的数据一致性的前提下,根据系统负载情况的轻重,动态采用两种不同异步写协议进行异步镜像来减少系统负载对系统性能的影响,与同步镜像相比有一定的系统性能优势。

本发明的特征在于在由主机节点Host、包括主机适配卡、交换机和数据链路的互联设备、I/O节点及其磁盘阵列、为上述I/O节点提供网络硬盘的镜像I/O节点即Mirror I/O node及其磁盘阵列构成的存储区域网络SAN中,I/O节点的小型计算机接口即SCSI目标模拟器模块按照设定的模块结构依次执行以下步骤来实现本发明所述的方法:

(1)SCSI目标模拟器模块设有:

镜像关系初始化子模块,设有:用户指定镜像关系接口ProcWriteUserCommand();镜像对自动恢复接口STML_Read_Mirror_Map(),STML_Restore_Mirror_Map();异常退出处理接口Handle_Abnormal_Shutdown();

同步子模块,接收镜像关系初始化子模块请求,设有:磁盘同步线程Sync_disk_thread();磁盘完全同步接口,接收磁盘同步线程命令Full_Sync_disks();基于位图表的同步接口,接收同步线程命令Bitmap_Sync_disk();

实时存储子模块,设有:命令处理线程STML_Handle_Cmnd_thread();读命令处理接口,接收命令处理线程命令STML_Handle_Read_Command();写命令处理接口,接收命令处理线程命令STML_Handle_Write_Command()镜像写命令处理接口,STML_Handle_Mirror_Write_Command();

双协议自适应数据复制子模块,接收实时存储子模块中镜像写命令处理接口的请求,设有:自适应异步协议切换函数和数据复制线程STML_Protocol_change(),STML_data_mover_thread();采用异步写协议A的写命令接口,接收上述自适应异步协议切换函数和数据复制线程的命令,STML_Handle_Async_A_Command();采用异步写协议B的写命令接口,接收上述自适应异步协议切换函数和数据复制线程的命令,STML_Handle_Async_B_Command();

数据变更记录子模块,接收双协议自适应数据复制模块的请求,设有:位图表记录接口STML_Bitmap_Write(),位图表读取接口STML_Bitmap_Read();

错误处理分析子模块,实时分别接收上述镜像关系初始化模块、同步子模块、实时存储子模块、双协议自适应数据复制子模块和数据变更记录子模块的请求,设有:错误处理线程STML_ERROR_Handle_thread();

系统退出子模块,接收错误处理分析子模块的处理命令,系统退出接口;

(2)目标模拟器模块根据来自主机Host的读写命令依次执行以下步骤:

(2.1)I/O节点的目标模拟器模块接收来自主机节点的读写命令。

(2.2)目标模拟器判断命令类型。若为读命令,则把命令发到本地磁盘执行,待命令执行完毕,便通知主机主机节点Host告知命令执行完毕;

否则,按以下步骤执行写命令;

(2.3)根据预定设在目标模拟器写命令队列长度即I/O负载的阈值判定负载的类型:

若I/O节点机的I/O负载小于负载阈值,则属于负载较轻的情况,便执行异步写协议A:I/O节点机分别把主机发出的写命令交由本地磁盘和远程的镜像I/O节点机分别进行处理,待I/O节点机在得到本地写命令执行完毕的确认后,即向主机节点返回操作结束指令。

若I/O节点机的I/O负载大于负载阈值,则属于负载较重的情况,便执行异步协议B:I/O节点机把主机节点发出的写命令只交由本地磁盘处理,并利用位图表记录命令所变更的数据块;I/O节点机在得到本地写命令执行完毕得确认后,即向主机返回操作结束指令。更改过的数据块,则由自适应异步协议数据复制数据线程根据I/O节点机系统的负载情况或者定时自动从本地磁盘读取,发往镜像I/O节点进行异步镜像写入操作。

(3)所述的异步写协议A依次包含以下步骤:

1、写命令由主机Host发向I/O节点。

2、I/O节点复制写命令发往镜像I/O节点。

3、I/O节点处理完本地写命令,将结果返回主机Host。

4、镜像I/O节点写命令返回。

(4)所述的异步写协议B依次包含以下步骤:

1、写命令由主机Host发向I/O节点。

2、I/O节点处理完写命令,将结果返回主机Host。

3、异步数据复制线程读取更改的数据块,写入镜像I/O节点。

4、镜像I/O节点写命令返回。

图7是其程序流程框图。

使用证明:基于负载自适应的异步远程镜像方法相对于通常使用的同步镜像方法在命令响应时间上有了一定的改善而且性能提升的幅度会随着系统负载的增加而增大。

附图说明

图1:海量网络存储系统TH-MSNS的硬件结构图

图2:基于光纤通道传输协议FCP的TH-MSNS存储系统的I/O路径图

图3:TH-MSNS系统I/O节点数据远程镜像的硬件结构图

图4:异步写协议A示意图

图5:异步写协议B示意图

图6:标模拟器模块中本发明所述各子模块的结构图

图7:本发明所述的双协议自适应的程序流程框图

具体实施方式

本发明提出的基于负载自适应的异步远程镜像方法是基于清华大学自主开发的海量网络存储系统TH-MSNS平台之上设计和实现的。TH-MSNS是一种SAN的体系结构,但又不同于通常的SAN结构。在通常的SAN结构中,存储系统基本采用光纤通道阵列控制器的方式来实现,光纤通道阵列控制器是一个集成光纤通道芯片、廉价冗余磁盘阵列(RAID)芯片、小型计算机系统接口(SCSI)或光纤通道接口芯片以及嵌入式CPU、内存的单板计算机(SBC);它通过光纤通道接口和光纤交换机、集线器(HUB)连接,连接到SAN中;后端通过SCSI接口或光纤通道接口连接SCSI硬盘或光纤通道硬盘(采用FC-AL接口);一般来说,光纤通道阵列控制器提供自己的固件(Firmware),负责光纤通道的连接、RAID盘设置等功能。基于阵列控制器(Controller)方式实现的SAN存储设备存在着可扩展性差、兼容性差、不开放、价格昂贵等缺点。

TH-MSNS存储系统于通常的SAN结构的最显著的区别在于,它使用软件系统来代替通常采用光纤通道阵列控制器的方式来控制存储I/O操作的方法,避免采用硬件控制的昂贵价格,同时用高效的软件存储控制方法获得最大的性能和灵活性并适用于多种底层传输协议。如FCP、iSCSI协议等。

TH-MSNS存储系统的目标器是采用的是一个完整的通用服务器(I/O处理节点)。I/O节点为服务器集群提供存储的专用网,并连接有根据不同的需要连接不同主机适配卡(如FC HBA,Ethernet HBA)来接收主机通过网络(Fibre Channel,Ethernet等)发过来的封装着SCSI命令和用户数据的信息帧或数据包。HBA的作用是将接收到的信息帧或数据包解包,将其还原成SCSI命令和用户数据,然后交用SCSI目标模拟器(Target Simulator Module)处理。SCSI目标模拟器是运行于I/O节点的一个软件模块,它的作用是将HBA传送过来的SCSI命令和用户数据,进行处理、排队、封装等操作,然后将命令交给SCSI子系统处理,并将SCSI子系统返回的命令执行情况按照原路返回给主机(HOST)。如图1所示。

基于负载自适应的异步远程镜像方法所提到的各子模块全部运行于I/O节点的SCSI目标模拟器(Target Simulator Module)模块中。见图2。

类似于I/O节点的结构,通过在光纤网络上增加一个Mirror I/O节点,与I/O结点共同组成一个存储双节点集群。利用存储集群提供冗余的存储路径,以实现数据的复制。本设计与普通的平等结构的集群系统的不同之处在于:这两个节点并不处于同一层,而是利用新增加的节点为原来的单一的I/O节点提供网络硬盘,用于对TH-MSNS系统I/O节点的数据远程镜像。对应的镜像设计结构如图3。

在TH-MSNS系统I/O节点数据远程镜像的结构图中,可以看到,前端的主机节点是启动器,后端的I/O节点是目标器。普通存储的I/O请求及数据在上图中,经过细线线路,从①或②,经过交换机和③后进入I/O节点,由I/O节点机提交到装载的RAID子系统上进行实现。而新加入的镜像数据链路采用粗线通路,此时I/O节点机作为启动器,而镜像I/O节点机工作于目标器模式。镜像的数据由I/O节点机的HBA2卡出发,经过④、交换机、⑤后提交给镜像I/O节点机实现。

上述各子模块的类别及简要功能见下表:

    模块名称    模块功能镜像关系初始化模块系统启动时,负责镜像对恢复过程,由上次系统中止时保留的现场(镜像关系表)进行镜像对恢复;并在系统运行时提供用户接口,由用户指定镜像磁盘对。实时存储模块负责将具体的读写操作交由SCSI子系统进行处理,并负责对命令的执行结果进行分析,如果发现错误,则将出错命令交由错误处理分析模块处理。数据变更记录模块进行具体的磁盘读写事件的记录工作。当有写入操作发生时,利用存储位图表(Bitmap)进行相应的记录操作,来记录磁盘媒体的更改信息。双协议自适应数据复制模块根据系统的负载情况动态采用两种不同的异步写协议(异步协议A和异步协议B)进行不同的操作,来完成异步镜像过程。
同步模块在镜像关系初建的同时,或者在磁盘发生失败换新磁盘工作后,进行磁盘间的同步来保证数据的一致性。错误处理分析模块为所有模块提供错误处理的接口。包含一个错误处理线程,对所有的出错情况进行不同的分析和处理。系统退出模块负责保证在系统正常退出时,主I/O节点和镜像I/O节点的数据完全一致。以及,在系统异常中止时,现场的保存和记录工作。

以下对目标模拟器模块的各子模块再作详尽说明,见图7

1.镜像关系初始化模块。系统启动时,通过此模块进行镜像对恢复过程,由上次系统中止时保留的现场(镜像关系表)进行镜像对恢复;且用户可以在系统运行时通过模块提供的用户接口,动态指定镜像磁盘对。镜像关系建立后自动调用同步模块进行相应的同步处理。

2.实时存储模块和数据变更记录模块。实时存储模块负责将具体的读写操作交由SCSI子系统进行处理,并负责对命令的执行结果进行分析,如果发现错误,则将出错命令交由错误处理分析模块处理。数据变更记录模块则进行具体的磁盘读写事件的记录工作。如果有写入操作发生,则表示磁盘媒体被更改。系统在不影响该写入操作发生的同时,在存储位图表(Bitmap)进行相应记录。出于最小化的目的,只记录被更改的磁盘块地址。

3.双协议自适应数据复制模块。双协议自适应数据复制分两种情况即遵循协议A协议B进行不同的操作。系统负载较轻的情况下采用协议A,即在实时存储模块进行磁盘写操作的同时将命令和数据复制一份发送到镜像磁盘进行写操作;系统负责较重的情况下采用协议B,即保证实时存储模块不受影响,在存储系统中实时存储发生的同时,另有一个异步数据复制线程负责进行基于异步协议B(见附图5)异步镜像过程,该线程从系统CPU中获取时间片,定时或根据系统负载情况将Bitmap记录的在步骤2中被更改的数据块由镜像源读出,复制到镜像目的磁盘上,来完成异步镜像过程。

4.同步模块,在系统启动后镜像关系初建的同时,或者在磁盘发生失败换新磁盘工作后,需要进行磁盘间的同步以保证数据的一致性。同步模块是一个单独的线程,在具体镜像发生之前获得操作锁,将数据由镜像源完全复制到镜像目的磁盘上;对于原有镜像关系被打断又被重建的情况,同步线程获取操作锁后,可根据在镜像关系失效这段时间内的所有Bitmap记录,进行一次增量同步。

5.错误处理分析模块,错误处理模块有一个错误处理线程,以上所有模块都有到错误处理线程的入口。当有错误发生时,错误处理线程获取操作锁,分析例外并进行智能处理,若为硬件故障则进行报警,同时启动异常情况下的日志记录以备恢复。

6.系统退出模块,系统退出前先退出实时存储模块,若系统正常退出,则异步镜像模块获得操作锁,将Bitmap中所有标注的更改过的磁盘块真正写到镜像目的磁盘,然后进行整个系统的中止;若系统由于部分故障产生紧急退出,则紧急退出前将内存中的Bitmap内容在系统盘的配置文件中进行紧急保存,即保证镜像源的数据准确性的同时保留存储位图表。同时置紧急退出安全位,以便系统重建时检查到此安全位后先进行增量同步;若系统发生全体故障产生失败,则无安全位,系统重建后需要对此镜像对进行完全的同步。

本发明是一种基于统一存储介质进行复制且基于负载情况动态采用两种异步写协议的SAN异步远程镜像方法,它借助于存储位图表(Bitmap)由统一的镜像监控程序进行异步镜像存储、容灾处理和同步操作。并且由于其采用了异步写协议,可适用于一些低速网络,故除了可应用于FCP协议作为底层传输协议外,还可应用于iSCSI协议、InfiniBand等协议。基于SAN的双协议自适应异步远程镜像依次分别含有如下步骤:

(1)实时存储模块提供管理接口,配置镜像过程中的磁盘映射表:镜像存储模块从主机(Host)获取操作锁,进行实际的数据的读和镜像写操作,读操作只需要在I/O节点计算机上完成,写操作需要在I/O节点计算机和镜像I/O节点计算机上异步完成;

(2)容灾处理模块在镜像存储模块设备即I/O节点或镜像I/O节点计算机读写错误时由监控程序进行调用:容灾处理模块进行镜像集群系统的切换,由正常工作的存储设备继续提供完整的数据服务,同时启用日志记录;

(3)损坏设备更新后重新同步模块获取操作锁,进行数据的后台同步;在同步完成后,容灾处理模块通知镜像监控程序把系统,由容灾模块切换到正常工作时的镜像存储模式。

上述容灾处理操作属于已有技术。

镜像关系建立后的磁盘间的数据同步主要分为两个阶段来实现

(1)第一个阶段是镜像盘间的整盘复制阶段。在这个阶段,我们首先利用快照技术的机制,创建一个源磁盘的静态副本,用以进行镜像盘间的整盘复制。对于在复制期间对源盘的写操作,首先记录下写命令需要更改的数据块(只需要在相应的Bitmap中置位,表明此数据块已更改),然后则利用COW(Copy On Write)算法,缓存写操作修改过的数据块原始副本,用来保证整盘复制的一致性和连续性。

(2)第二个阶段则是将经过修改的数据块从源盘读出并写入镜像盘,实现数据完全同步。在这个阶段,我们利用一个单独的同步线程来完成上述的数据读出和写入。对于这个阶段发生的对源盘的写操作,我们同样利用Bitmap表记录下更改过的数据块,交由同步线程按照次序处理。异步镜像过程开始。

异步镜像过程实现机制

1、异步镜像过程中的读操作过程比较简单,与同步镜像的操作步骤相同。依次含有以下步骤:

(1)I/O节点计算机的HBA接收到Host发送过来的封装SCSI命令和用户数据的协议数据包(可以是FCP包、iSCSI包或InfiniBand包等)。

(2)HBA分析协议,解包数据,取出SCSI命令和用户数据。

(3)HBA将SCSI命令和用户数据交由目标模拟模块(Target Simulator Module)处理。

(4)目标模拟模块将SCSI命令直接发送给SCSI中间层,并为命令分配数据缓冲区,协调模块和命令间的交互。

(5)SCSI中间层对廉价的冗余磁盘阵列SCSI Raid子系统发出SCSI命令,并完成数据的实际读出;

(6)无论是否成功,I/O请求的结果原路返回给Host。

2、异步镜像过程中的写操作则根据I/O节点计算机的I/O负载的轻重,有两种不同的处理方式。注:可根据目标模拟模块写命令队列长短来衡量I/O节点计算机的I/O负载的轻重。当I/O节点计算机的I/O负载较轻的情况下的处理方法采用了异步写协议A(见附图4)。在这种协议下,I/O节点计算机分别将主机发出的写命令交由本地的磁盘和远程的镜像I/O节点机分别进行处理,与同步写协议不同的是,I/O节点计算机在得到本地写命令执行完毕的确认后,即向主机返回操作结束,而不必等待镜像磁盘的写命令的执行完毕。具体含有以下步骤(见附图5):

(1)I/O节点计算机的HBA接收到Host发送过来的封装SCSI命令和用户数据的协议数据包(可以是FCP包、iSCSI包或InfiniBand包等)。

(2)HBA分析协议,解包数据,取出SCSI命令和用户数据。

(3)HBA将SCSI命令和用户数据交由目标模拟模块(Target Simulator Module)处理。

(4)目标模拟模块(Target Simulator Module)对接收到的SCSI命令和数据进行复制,并将命令存入历史命令队列,供出错时由错误处理模块使用;

(5)复制后的SCSI命令和数据一份经过SCSI中间层发送到本地的SCSI-RAID(SCSI冗余磁盘阵列)子系统实现写入;

(6)复制后的SCSI命令和数据的另一份用于镜像操作。经过SCSI中间层发送给镜像I/O节点机。镜像I/O节点机的相应处理流程于I/O节点机相似。

(7)本地写操作命令结束后,不必等待镜像I/O节点的写操作结束,将执行结果原路返回给Host节点。

(8)镜像I/O节点的写操作结束后,将结果返回给I/O节点。I/O节点根据返回的结果进行不同的处理。如操作成功,则将前面入队的命令出队,表明命令执行完毕。如操作不成功,则触发错误处理模块进行重试等错误处理操作。

当I/O节点计算机的I/O负载较重的情况下的处理方法采用了异步写协议B(见附图3)。在这种协议下,I/O节点计算机将主机发出的写命令仅交由本地的磁盘处理,并利用Bitmap记录命令所更改的数据块。I/O节点计算机在得到本地写命令执行完毕的确认后,即向主机返回操作结束。更改过的数据块,则由异步数据复制进程根据系统的负载情况或定时自动从本地读取,发往镜像I/O节点执行,进行异步镜像。(见附图5)

具体含有以下步骤:

(1)I/O节点计算机的HBA接收到Host发送过来的封装SCSI命令和用户数据的协议数据包(可以是FCP包、iSCSI包或InfiniBand包等);

(2)HBA分析协议,解包数据,取出SCSI命令和用户数据。

(3)HBA将SCSI命令和用户数据交由目标模拟模块(Target Simulator Module)处理。

(4)SCSI请求在Target Simulator Module进行分析,利用存储位图表(Bitmap)记录命令所更改的数据块,然后SCSI命令和数据经过SCSI中间层发送到本地的SCSI-RAID(SCSI冗余磁盘阵列)子系统实现数据写入;

(5)本地写操作命令结束后,直接将执行结果原路返回给Host节点。

(6)异步数据复制进程根据系统的负载情况或定时自动按原始次序从本地读取Bitmpap中置位的数据块(写命令更改过的数据块),发往镜像I/O节点执行,进行异步镜像。

(7)镜像I/O节点的写操作结束后,将结果返回给I/O节点。I/O节点根据返回的结果进行不同的处理。如操作成功,则清除Bitmap中的相应的置位,表明该数据块已经镜像完毕。如操作不成功,则触动错误处理模块进行重试等错误处理操作。

容灾处理操作中,当I/O节点机所属的模块物理磁盘设备损坏时,当SCSI_RAID驱动侦测到热插拔事件或根据读写操作的返回值确定非热插拔事件发生失败时,I/O节点机根据本地磁盘与网络磁盘映射的数据结构,把相应的磁盘的状态置为失效即Defunct,在I/O节点机控制下,把对失效节点的操作请求转到相应的镜像磁盘,同时利用存储位图表(Bitmap)记录此后发生的基于该失效磁盘的请求,供原物理磁盘恢复后进行数据的重新同步使用。

容灾处理操作中,当I/O节点损坏时,光纤交换机便发失败警告给管理节点,并由管理节点启动容灾操作:打开镜像节点对主机节点的软件屏蔽,把镜像节点变为主机可见,把发送到I/O节点的请求全部交由镜像节点完成,同时建立日志记录,以便失败的I/O节点重新加入后,加速数据同步。一旦I/O节点重新加入双节点集群存储系统,由管理节点发起数据和服务重新建立的过程。

容灾操作中,当镜像I/O节点失败时需要把原有的双节点架构切换到单节点架构,由I/O节点继续提供数据服务,同时由活动I/O节点建立存储位图表(Bitmap)的数据块变更记录,以便失败后的镜像I/O节点重新加入后,加速数据同步进程。

重新同步完全在后台进行,使系统自动由单节点提供存储方式自动切换为双节点工作模式。

根据本发明所述的方法而提出的系统的特征在于:包括以下设备:

主机节点(Host):用于构筑集群系统,为网络用户提供高可用的网络服务,或提供高性能计算能力;

互联设备:包括主机适配卡(如:FC HBA,iSCSI HBA等),交换机(如FC Switch、iSCSISwitch等)和数据链路;

I/O节点(I/O node):为主机节点集群系统提供统一的网络存储服务;

镜像I/O节点(Mirror I/O node):为I/O节点提供数据镜像的存储空间并且在I/O节点发生存储灾难时为集群系统提供不间断的存储服务。

测试结果

命令的平均响应时间是衡量系统服务质量和性能的一个非常重要指标。在这里,我们分别使用基于负载自适应的异步远程镜像方法和常用的同步镜像方法进行测试,对其命令响应时间进行相应的对比。测试的硬件环境为清华大学的海量网络存储系统TH-MSNS。I/O节点机采用32位安腾2.4GHZ双CPU服务器,内存2GB,操作系统为Linux(Kernel 2.4.18-5)。存储子系统采用adapetc公司的3410 SCSIRAID卡,以及由14个Seagate公司的73GB10000转SCSI磁盘组成的磁盘柜。底层协议为FCP,采用2Gb/s光纤通道。测试工具为Inter公司的iometer,读取方式为顺序读取。由于镜像操作针对于写命令,而读命令的执行只是在本地完成,对系统性能没有影响。所以在测试中,我们只测试了在100%的写命令的情况下两种不同方法的响应时间。测试数据见下表:

 数据块大小平均响应时间(average response time)异步镜像(ms)同步镜像(ms) 64KB 1.718 1.795 128KB 3.482 3.573 192KB 5.357 5.335 256KB 7.083 7.202 512KB 13.573 14.469 1024KB 24.797 28.610

测试数据表明,基于负载自适应的异步远程镜像方法相对于通常使用的同步镜像方法在命令响应时间上有了一定的改善。应该指出,性能提升的幅度是伴随着系统的负载的增大而增大的。系统的负载越大,采用基于负载自适应的异步远程镜像方法相对于通常使用的同步镜像的方法的性能提升幅度越大。另外,本测试数据是基于光纤网络测试得出,光纤网络的传输延迟很小,如果基于其他底层传输网络(如:Ethernet),采用本方法的命令响应时间相对于同步镜像还可以有很大的提高。

本发明具有以下特点:

(1)采用了基于统一存储的异步远程镜像,实现了数据的安全性和高可用性,且在保持良好的数据一致性的前提下,根据I/O节点的负载情况动态采用不同的异步写协议,有效的缩短了系统的命令响应时间,尤其是在高负载的情况下与同步镜像相比有较大的系统性能优势。

(2)充分利用了SAN的远距离连接能力和统一存储的特点,并采用双节点集群的二级结构提供镜像,利用了I/O节点的软件控制灵活特性,能够在任一节点失败时继续提供数据服务,并且提供了系统重建后的后台数据重新同步机制,即灾难恢复功能;

(3)异步远程镜像方法可应用于诸如FCP协议、iSCSI协议、InfiniBand协议等多种底层传输协议,灵活性很好,且在应用iSCSI协议实现时,可充分利用现有资源,减少系统花销。

(4)所有软件均在操作系统的核心态运行,通过内核模块实现,减少了用户态和核心态的内存拷贝,提高了效率;

(5)异步远程镜像可以和同步远程镜像结合起来同时使用(针对不同的磁盘或逻辑卷),满足不同应用的不同要求。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号