一种多控制器缓存镜像方法及系统技术方案

技术编号:15194584 阅读:140 留言:0更新日期:2017-04-20 16:52
本发明专利技术公开了一种多控制器缓存镜像方法及系统,该方法包括:对存储系统中的n个控制器从1至n进行编号;n≥3;将i‑1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;当i号控制器发生故障时,将i‑1号控制器的数据备份到i+1号控制器中。该方法实现保证每个控制器中的数据时刻都有备份,有效提高多控存储系统的可用性和可靠性。

【技术实现步骤摘要】

本专利技术涉及存储系统
,特别是涉及一种多控制器缓存镜像方法及系统。
技术介绍
目前,随着数字化时代的到来,在人们的日常生活和科学研究中,越来越多的传统业务开始数字化、网络化,促使数据爆炸式增长,存储系统在整个业务处理系统中的地位也愈发重要,为了增加存储系统的可用性、可靠性,各存储厂商陆续推出各自的双控、四控存储产品,控制器之间可以相互备份,一个或多个控制器失效之后,剩余的控制器仍可提供存储服务,并保证数据不丢失,用户业务不中断;对于提高存储系统的可用性、可靠性意义重大。对于多控存储系统,如何保证多个控制器之间的缓存数据一致性是最根本的问题之一。对于双控系统,方法相对简单,可以指定一个控制器为主控,另一个控制器为非主控,对于每一次IO写操作,先写非主控进行备份,再写主控,然后IO写操作完成,写操作完成之后,两个控制器的缓存中都存在本次写操作的数据。对于四控,通常有两种备份方法,一是两个控制器组成一组,四个控制器分成两组,组内的控制器互相备份,组与组之间不存在备份,该方法的优点是只需要在两个控制器之间完成,写IO的性能较高,缺点是组内的一个控制器故障之后,剩余的控制器不再有备份,有发生数据丢失的风险;第二种方法是四个控制器相互备份,只有在四个控制器的写IO操作全部完成之后,存储端才向服务器端返回写IO操作完成,该方法优点是四个控制器中都有数据的备份,可靠性高,缺点是一个IO写操作,需要写四次才能完成,严重降低了写IO的性能。因此存储系统的可用性和可靠性都较低。
技术实现思路
本专利技术的目的是提供一种多控制器缓存镜像方法及系统,以实现保证每个控制器中的数据时刻都有备份,有效提高多控存储系统的可用性和可靠性。为解决上述技术问题,本专利技术提供一种多控制器缓存镜像方法,该方法包括:对存储系统中的n个控制器从1至n进行编号;n≥3;将i-1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中。优选的,所述方法还包括:当n号控制器发生故障时,将n-1号控制器的数据备份到1号控制器中。优选的,所述方法还包括:当1号控制器发生故障时,将n号控制器的数据备份到2号控制器中。优选的,所述当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中之后,还包括:若发生故障的i号控制器恢复正常,将i-1号控制器的数据备份到i号控制器中,删除i+1号控制器中的备份数据。本专利技术还提供一种多控制器缓存镜像系统,该系统包括:控制器编号模块,用于对存储系统中的n个控制器从1至n进行编号;n≥3;备份模块,用于将i-1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;第一故障处理模块,用于当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中。优选的,所述系统还包括:第二故障处理模块,用于当n号控制器发生故障时,将n-1号控制器的数据备份到1号控制器中。优选的,所述系统还包括:第三故障处理模块,用于当1号控制器发生故障时,将n号控制器的数据备份到2号控制器中。优选的,所述系统还包括:恢复处理模块,用于若发生故障的i号控制器恢复正常,将i-1号控制器的数据备份到i号控制器中,删除i+1号控制器中的备份数据。本专利技术所提供的一种多控制器缓存镜像方法及系统,对存储系统中的n个控制器从1至n进行编号;n≥3;将i-1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中。可见,对存储系统中的控制器进行编号,每个控制器记录自身的编号,1号控制器的数据在2号控制器中备份,2号控制器的数据在3号控制器中备份,依次类推,n号控制器的数据在1号控制器中备份,依据控制器的编号,形成一个顺序环,如此当写IO到达i号控制器之后,先将数据备份到i+1号控制器,然后再写到i号控制器,最后才向服务器端返回写IO操作完成,当i号控制器故障时,i-1号控制器的数据备份到i+1号控制器中,保证i-1号控制器中的数据一直有备份,这样既能保证控制器中的数据一直都有备份,又不会降低写IO操作的性能,还可以适用于更多的控制器,因此有效的提高存储系统的可用性和可靠性。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术所提供的一种多控制器缓存镜像方法的流程图;图2为控制器故障处理示意图;图3为控制器恢复处理示意图;图4为本专利技术所提供的一种多控制器缓存镜像系统的结构示意图。具体实施方式本专利技术的核心是提供一种多控制器缓存镜像方法及系统,以实现保证每个控制器中的数据时刻都有备份,有效提高多控存储系统的可用性和可靠性。为了使本
的人员更好地理解本专利技术方案,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参考图1,图1为本专利技术所提供的一种多控制器缓存镜像方法的流程图,该方法包括:S11:对存储系统中的n个控制器从1至n进行编号;其中,n≥3;S12:将i-1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;其中,2≤i≤n;S13:当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中。可见,该方法对存储系统中的控制器进行编号,每个控制器记录自身的编号,1号控制器的数据在2号控制器中备份,2号控制器的数据在3号控制器中备份,依次类推,n号控制器的数据在1号控制器中备份,依据控制器的编号,形成一个顺序环,如此当写IO到达i号控制器之后,先将数据备份到i+1号控制器,然后再写到i号控制器,最后才向服务器端返回写IO操作完成,当i号控制器故障时,i-1号控制器的数据备份到i+1号控制器中,保证i-1号控制器中的数据一直有备份,这样既能保证控制器中的数据一直都有备份,又不会降低写IO操作的性能,还可以适用于更多的控制器,因此有效的提高存储系统的可用性和可靠性。其中,对存储系统中的n个控制器从1至n进行编号,就是对n个控制器均进行编号,从1到n进行编号,编号后的控制器为:1号控制器、2控制器、……、n号控制器。n为存储系统中控制器的总数。进一步的,上述方法还包括:当n号控制器发生故障时,将n-1号控制器的数据备份到1号控制器中。进一步的,上述方法还包括:当1号控制器发生故障时,将n号控制器的数据备份到2号控制器中。其中,当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中之后,还包括:若发生故障的i号控制器恢复正常,将i-1号控制器的数据备份到i号控制器中,删除i+1号控制器中的备份数据。其中,将i-1号控制器的数据在i号控制器中备份的过程具体为:当写IO数据到本文档来自技高网
...
一种多控制器缓存镜像方法及系统

【技术保护点】
一种多控制器缓存镜像方法,其特征在于,包括:对存储系统中的n个控制器从1至n进行编号;n≥3;将i‑1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;当i号控制器发生故障时,将i‑1号控制器的数据备份到i+1号控制器中。

【技术特征摘要】
1.一种多控制器缓存镜像方法,其特征在于,包括:对存储系统中的n个控制器从1至n进行编号;n≥3;将i-1号控制器的数据在i号控制器中备份,将n号控制器的数据在1号控制器中备份;2≤i≤n;当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中。2.如权利要求1所述的方法,其特征在于,还包括:当n号控制器发生故障时,将n-1号控制器的数据备份到1号控制器中。3.如权利要求2所述的方法,其特征在于,还包括:当1号控制器发生故障时,将n号控制器的数据备份到2号控制器中。4.如权利要求1至3中任意一项所述的方法,其特征在于,所述当i号控制器发生故障时,将i-1号控制器的数据备份到i+1号控制器中之后,还包括:若发生故障的i号控制器恢复正常,将i-1号控制器的数据备份到i号控制器中,删除i+1号控制器中的备份数据。5.一种多控制器缓存...

【专利技术属性】
技术研发人员:李辉卓保特张仁峰姜怡坤闫永刚
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1