一种多控磁盘阵列缓存镜像方法及系统的制作方法

文档序号:9810387阅读:838来源:国知局
一种多控磁盘阵列缓存镜像方法及系统的制作方法
【技术领域】
[0001]本发明涉及计算机存储系统技术领域,特别涉及一种多控磁盘阵列缓存镜像方法及系统。
【背景技术】
[0002]磁盘阵列(RAID,RedundantArray of Inexpensive Disk,独立磁盘冗余阵列,简称磁盘阵列)是1987年由美国加州大学伯克利分校提出计算机存储技术,该技术可通过将许多小容量磁盘,采用不同级别的冗余算法以实现更高的可靠性及读写性能。
[0003]磁盘阵列可划分为JB0D、双控制器、多控制器三种,如今JBOD已基本不见踪迹,取而代之的是单控制器架构,单控制器架构就是通过将服务器与JBOD相结合,整体作为一个存储系统提供存储服务。
[0004]多控磁盘阵列技术是提高磁盘阵列可靠性最为有效的手段之一,为保证各磁盘阵列控制器中缓存数据的一致性,需要将各控制器中的缓存之间建立镜像关系,将控制器上产生的缓存数据同步镜像到互为备份的其它控制器上,在缓存镜像模型中,所有阵列控制器处于同等地位,即其中任何控制器对缓存的更改都会同步更新到其它控制器上。
[0005]当前技术在实现多控磁盘阵列方面,由于控制器之间数据的并发访问,很难同时保证高效的1并发处理和控制器数据高可靠性之间的统一。本发明通过设计的缓存镜像方法及系统,可有效保证各控制器缓存数据一致性,从而提供高效的并发1访问速度。

【发明内容】

[0006]本发明提出了一种多控磁盘阵列缓存镜像方法及系统,目的在于多控磁盘阵列中解决缓存数据一致性问题,为满足平台一致性的要求,选择在SCST (SmalI ComputerSystem interface Target,小型计算机系统接口目标器,简称SCST,用于提供统一的内核与存储后端连接接口子系统)设备驱动中间层加入缓存镜像模块,缓存数据通过IBdnfiniBand,无限带宽,简称IB,是一种新的I/O体系结构,它将I/O系统与复杂的CPU/Mem分开,采用基于通道的高速串行链路和可扩展的光纤交换网络替代共享总线结构,最高理论带宽可达到120Gb/s,提供了高带宽、低延迟、可扩展的I/O互连,可来完成多个控制设备之间的缓冲通信,完成多个控制器之间缓存的高速同步)通道与镜像缓存进行高速同步,传输使用RDMA(Remote Direct Memory Access,全称远程直接数据存取,可实现缓存镜像数据的零拷贝,从而避免实时镜像对镜像端控制器性能造成的不利影响)协议以减少数据拷贝次数,降低对系统性能的影响。
[0007]针对现有技术的不足,本发明提出一种多控磁盘阵列缓存镜像方法,包括:
[0008]建立镜像对步骤,初始化控制器,控制器包括本地缓存区与镜像缓存区,源控制器的本地缓存区与镜像控制器的镜像缓存区建立镜像对;
[0009]写入数据步骤,当执行数据写入操作时,将数据写入到本地缓存区,同时将数据同步到与本地缓存区建立镜像对的镜像缓存区中;
[0010]读取数据步骤,当执行数据读取操作时,从本地缓存区读取数据。
[0011]所述的多控磁盘阵列缓存镜像方法,所述建立镜像对步骤包括:
[0012]为每个控制器生成标识ID,获取所述镜像控制器的标识ID和镜像对状态信息;
[0013]检查所述镜像对状态信息,若所述镜像控制器存在空间镜像缓存区,则所述源控制器向所述镜像控制器申请建立镜像对,否则从所有控制器中选择最先响应的控制器,作为镜像控制器,发送建立镜像对请求;
[0014]解除最先响应的控制器原有的镜像对,并与所述源控制器建立镜像对。
[0015]所述的并行多控磁盘阵列缓存镜像方法,所述写入数据步骤还包括:
[0016]更新所述镜像控制器镜像缓存区的镜像缓存差异位图;
[0017]若所述镜像控制器的镜像缓存区发生故障,则将所述镜像控制器的镜像缓存区的数据存储到共享存储设备中。
[0018]所述的多控磁盘阵列缓存镜像方法,所述读取数据步骤还包括:
[0019]若未能从所述源控制器的本地缓存区读取数据,则从所述共享存储设备中读取数据,并更新所述镜像缓存差异位图。
[0020]所述的多控磁盘阵列缓存镜像方法,还包括:
[0021]故障检测处理步骤,所述源控制器向所述镜像控制器发送状态检测命令;
[0022]若所述源控制器在检测超时窗口内获取所述镜像控制器的状态正常响应,则所述镜像控制器状态正常,等待规定周期后,重新发送状态检测命令,否则设置所述镜像控制器的状态为镜像丢失,并暂停缓存1操作流程,解除与所述源控制器的镜像对,所述源控制器与其他控制器建立镜像对;
[0023]恢复1操作流程,并将源控制器的状态设置为镜像正常;
[0024]将所述镜像控制器的镜像缓存区的数据存储到共享存储设备中,并将所述镜像控制器的镜像缓存区设置为空闲状态。
[0025]本发明还提出一种多控磁盘阵列缓存镜像系统,包括:
[0026]建立镜像对模块,用于初始化控制器,控制器包括本地缓存区与镜像缓存区,源控制器的本地缓存区与镜像控制器的镜像缓存区建立镜像对;
[0027]写入数据模块,用于当执行数据写入操作时,将数据写入到本地缓存区,同时将数据同步到与本地缓存区建立镜像对的镜像缓存区中;
[0028]读取数据模块,用于当执行数据读取操作时,从本地缓存区读取数据。
[0029]所述的多控磁盘阵列缓存镜像系统,所述建立镜像对模块包括:
[0030]为每个控制器生成标识ID,获取所述镜像控制器的标识ID和镜像对状态信息;
[0031]检查所述镜像对状态信息,若所述镜像控制器存在空间镜像缓存区,则所述源控制器向所述镜像控制器申请建立镜像对,否则从所有控制器中选择最先响应的控制器,作为镜像控制器,发送建立镜像对请求;
[0032]解除最先响应的控制器原有的镜像对,并与所述源控制器建立镜像对。
[0033]所述的多控磁盘阵列缓存镜像系统,所述写入数据模块还包括:用于更新所述镜像控制器镜像缓存区的镜像缓存差异位图;若所述镜像控制器的镜像缓存区发生故障,则将所述镜像控制器的镜像缓存区的数据存储到共享存储设备中。
[0034]所述的多控磁盘阵列缓存镜像系统,所述读取数据模块还包括:用于若未能从所述源控制器的本地缓存区读取数据,则从所述共享存储设备中读取数据,并更新所述镜像缓存差异位图。
[0035]所述的多控磁盘阵列缓存镜像系统,还包括:
[0036]故障检测处理模块,用于所述源控制器向所述镜像控制器发送状态检测命令;若所述源控制器在检测超时窗口内获取所述镜像控制器的状态正常响应,则所述镜像控制器状态正常,等待规定周期后,重新发送状态检测命令,否则设置所述镜像控制器的状态为镜像丢失,并暂停缓存1操作流程,解除与所述源控制器的镜像对,所述源控制器与其他控制器建立镜像对;恢复1操作流程,并将源控制器的状态设置为镜像正常;将所述镜像控制器的镜像缓存区的数据存储到共享存储设备中,并将所述镜像控制器的镜像缓存区设置为空闲状态。
[0037]由以上方案可知,本发明的优点在于:
[0038]通过在SCST设备驱动中间层加入缓存镜像模块,并在结合使用RDMA的零拷贝功能实现多控磁盘阵列缓存的镜像实时同步,保证多控磁盘阵列数据的高可靠性,同时提高了多控磁盘阵列系统并发1性能。
【附图说明】
[0039]图1为本发明的流程图;
[0040]图2为本发明的缓存镜像技术总体方案图;
[0041]图3为本发明的缓存镜像关系图;
[0042]图4为本发明的控制器动态加入前图;
[0043]图5为本发明的控制器动态加入后图;
[0044]图6为本发明的写操作流程图;
[0045
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1