一种基于主机仲裁的双活存储系统及存储方法

文档序号:1627882 发布日期:2020-01-14 浏览:29次 >En<

阅读说明:本技术 一种基于主机仲裁的双活存储系统及存储方法 (Double-active storage system and method based on host arbitration ) 是由 谭方剑 于 2019-08-23 设计创作,主要内容包括:本发明实施例公开了一种基于主机仲裁的双活存储系统及存储方法,双活存储系统,包括主机端和双活存储端,存储端的每个存储器包括一个仲裁卷,所述仲裁卷映射到所述主机端;所述主机端上包括仲裁驱动模块,所述仲裁模块探测主机端与存储端的通信,根据仲裁卷内的信息,配置仲裁策略,并将所述仲裁策略写入所述仲裁卷。本发明通过在存储端穿件仲裁卷并映射到主机端,主机端配置仲裁策略,一仲裁卷作为媒介,实现存储系统的自主仲裁。在不需要第三方站点和不增加设备的情况下,提升双活等容灾环境下存储仲裁的稳定性,降低实现架构和成本。(The embodiment of the invention discloses a double-active storage system and a storage method based on host arbitration, wherein the double-active storage system comprises a host end and a double-active storage end, each storage of the storage end comprises an arbitration volume, and the arbitration volume is mapped to the host end; the host end comprises an arbitration driving module, the arbitration driving module detects the communication between the host end and the storage end, configures an arbitration strategy according to the information in the arbitration volume, and writes the arbitration strategy into the arbitration volume. The invention realizes the autonomous arbitration of the storage system by penetrating the arbitration volume at the storage end and mapping the arbitration volume to the host end, configuring the arbitration strategy at the host end and taking an arbitration volume as a medium. Under the condition of not needing a third-party site and not increasing equipment, the stability of storage arbitration in disaster tolerance environments such as double-activity disaster tolerance and the like is improved, and the implementation architecture and the cost are reduced.)

一种基于主机仲裁的双活存储系统及存储方法

技术领域

本发明涉及存储技术领域,具体地说是一种基于主机仲裁的双活存储系统及存储方法。

背景技术

数据容灾存储系统,就是为计算机信息系统提供的一个能应付各种灾难的环境。当计算机系统在遭受如火灾、水灾、地震、战争等不可抗拒的自然灾难以及计算机犯罪、计算机病毒、掉电、网络/通信失败、硬件/软件错误和人为操作错误等人为灾难时,容灾系统将保证用户数据的不间断服务或数据安全。

数据容灾存储系统采用两套或以上存储组成集群,在集群中如果内部心跳出现异常,就会导致各存储器之间无法互相通信从而互相争抢资源导致数据损坏或者业务中断问题,为了解决这个问题引入了第三方仲裁机制,通过部署在第三站点的仲裁存储或者IP仲裁,在存储器心跳异常时提供仲裁保证业务连续和数据安全。

传统的仲裁服务由第三站点的FC(Fibre Channel,光纤通道)存储器或者第三站点的IP(Internet Protocol,互联网协议)仲裁系统提供。第三方FC存储器仲裁采用部署在不同于两存储器所在站点的第三站点的额外存储器,通过FCSAN或IPSAN等方式,提供若干个若干大小的存储卷为仲裁磁盘进行仲裁和配置备份;第三站点的IP仲裁采用部署在不同于两存储器所在站点的第三站点上的物理机或者虚拟机,运行特定的仲裁程序,通过IP网络为两存储器提供仲裁服务。

以上两种仲裁都需要在现有存储系统的基础上添加第三方站点,同时增加额外的配置和链路设计,成本高,且容易导致业务中断。

发明内容

本发明实施例中提供了一种基于主机仲裁的双活存储系统及存储方法,以解决现有技术中采用第三方站点进行仲裁的成本高、可靠性低的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方面提供了一种基于主机仲裁的双活存储系统,包括主机端和双活存储端,存储端的每个存储器包括一个仲裁卷,所述仲裁卷映射到所述主机端;所述主机端上包括仲裁驱动模块,所述仲裁模块探测主机端与存储端的通信,根据仲裁卷内的信息,配置仲裁策略,并将所述仲裁策略写入所述仲裁卷。

进一步地,所述仲裁驱动模块还包括:

通信单元,通过FCSAN或IPSAN链路,进行主机端与存储端的心跳通信;

仲裁单元,根据主机端与存储端之间,以及存储器之间的通信情况,结合仲裁卷内的信息,通过优先级设定或投票方式,提供仲裁策略;

接口单元,用于主机端向存储端配置仲裁策略。

进一步地,所述仲裁卷内包括存储器的配置信息;所述仲裁驱动模块还包括配置同步单元,用于保存所述配置信息。

进一步地,所述仲裁驱动模块还包括数据读取配置单元,所述数据读取配置单元根据所述配置信息,结合多路径信息,选择当前主机的最优路径进行数据就近读取。

本发明第二方面提供了一种基于主机仲裁的双活存储方法,基于所述的双活存储系统,所述方法包括以下步骤:

S1,每个存储器上创建一个仲裁卷,将所述仲裁卷映射到主机端;

S2,在主机端上配置仲裁策略;

S3,根据存储系统的通信情况,主机端按照配置的策略,选取最优的数据读写路径,并将选取的最优路径写入仲裁卷;

S4,存储系统按照所述最优路径进行数据读写。

进一步地,所述仲裁策略用于主机组或一致性组通信正常时的多路径选择策略,以及通信异常时主机组或一致性组的投票选举策略。

进一步地,所述步骤S3和S4的具体过程为:

S31,判断存储系统的通信情况是否正常:

S32,若是,则主机端各主机进行仲裁;

S33,若否,判断异常通信是否发生在一致性组或主机组内:

S331,若否,则各主机选择最优路径,转到步骤S38;

S332,若是,则进行步骤S32,

S34,判断各主机的仲裁结果是否一致;

S35,若是,则根据仲裁结果选择最优路径;

S36,若否,根据少数服从多数原则选择最优路径;

S37,判断步骤S35和S36中选择的最优路径是否为每个主机的最优读取路径;

S38,若是,则使用该路径进行数据读写操作;

S39,若否,使用步骤S37所述最优路径写入数据,使用主机各自的最优路径读取数据。

进一步地,所述主机各自的最优路径根据优先级、带宽、传输质量和延时确定。

发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:

1、通过在存储端穿件仲裁卷并映射到主机端,主机端配置仲裁策略,一仲裁卷作为媒介,实现存储系统的自主仲裁。在不需要第三方站点和不增加设备的情况下,提升双活等容灾环境下存储仲裁的稳定性,降低实现架构和成本。

2、根据仲裁卷内的配置信息、系统的通信情况,设置精确的仲裁策略,提升业务访问性能,提高在异常情况下的业务可用性,具有成本低、可靠性高、性能好、架构简单等优点,降低存储器容灾的技术门槛和投入成本,让更多的用户轻松拥有高可用高安全性的数据容灾系统。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明所述双活存储系统的结构示意图;

图2是本发明所述双活存储系统的拓扑结构图;

图3是本发明所述方法的流程示意图;

图4是本发明所述方法的仲裁流程示意图。

具体实施方式

为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。

如图1、2所示,本发明基于主机仲裁的双活存储系统,包括主机端1和双活存储端2,存储端2的每个存储器21均包括一个仲裁卷211,仲裁卷211映射到主机端1;主机端1上包括仲裁驱动模块11,仲裁模块11探测主机端1与存储端2的通信,根据仲裁卷211内的信息,配置仲裁策略,并将仲裁策略写入仲裁卷211。

仲裁驱动模块11将仲裁相关功能集成在主机端多路径程序里,将仲裁功能前置到主机端1,提供与存储端2的心跳通信、API交互接口、配置同步、就近读取和仲裁策略等功能,具体包括通信单元111、仲裁单元112、接口单元113、配置同步单元114和数据读取配置单元115。

通信单元111根据主机端1与存储端2链接的拓扑,通过FCSAN或IPSAN链路,保持与各存储器21的心跳通信,确保互相之间能彼此探测到对方,防止脑裂的发生。

仲裁单元112根据主机端1与存储端2,以及存储器21之间的通信情况,结合仲裁卷211内的信息,通过优先级设定或投票方式,提供仲裁策略。

仲裁策略包括一致性组仲裁,当某个主机或某些主机需要访问同样一个或多个卷而提供同一服务时,将对应的主机和卷加入一致性组,一致性组内主机通过优先级设定或投票方式统一仲裁所需服务的存储,保持数据的一致性。例如主机运行的是数据库,数据库使用了两个存储卷,那么这两个存储卷就必须在同一个一致性组里,否则在异常情况下会导致数据库不可用;一致性组是多个卷对应同一个业务的情况下,卷要保持更新的时间戳一致。优先级设定中包括存储优先级、路径优先级、主机优先级等。

在存储间心跳通信发生异常的情况下,各前端主机根据预先设定的策略,按照优先级各自选择优先存储进行服务,可在不改变主机或主机组到存储访问路径的情况下,各存储同时提供服务,不受心跳通信异常影响,主机或主机组需要哪个存储提供服务由主机或主机组自己进行仲裁,避免了传统情况下存储仲裁导致的长链路访问问题。上述过程中,各前端主机预先设定的策略包括路径优先级、存储优先级和主机优先级等。主机组是指需要访问同样卷的主机。

当主机设定的优先存储失效时,主机或主机组将根据事先设定的优先级,或通过投票选举的方式,自行仲裁需要提供服务的存储;投票过程由主机或主机组内部自行决定,投票参考因素包括:链路带宽、延时、抖动等,以少数服从多数决定选举结果。优先存储失效是指被设置成优先存储的那个存储器故障了、断电了、磁盘坏了、光纤链路中断了等等,导致该存储器无法提供服务;失效不一定是整个存储器,也可以是某条路径,假设一个主机拥有4条路径,其中路径1是优先路径,当路径1由于配置问题或者物理中断,路径234就得通过优先级或者投票的方式确定,而路径234可以是两个存储器上的不同路径。

接口单元113采用API接***互,在存储端1配置当前主机对应的站点属性、存储优先级等配置工作,免于每台主机单独操作配置,并且向存储端2配置仲裁策略。

仲裁卷211跟业务主机使用的卷类型一致,为通用卷,空间大小只需要1GB,因仲裁卷是作为仲裁用,不提供空间给主机使用的数据卷,因此不需要格式化。仲裁数据是RAW格式数据,存储器分配仲裁卷时,在仲裁卷开头写属性信息,主机驱动程序通过扫描卷的属性信息确认是仲裁卷,而后驱动层将该仲裁卷屏蔽,防止操作系统的其他误操作导致卷损坏。仲裁卷内记录存储器的配置信息。站点属性和存储优先级等信息。每个存储器对应一个仲裁卷,两仲裁卷内保存相同的信息。

配置同步单元114保存各仲裁卷内的配置信息,当灾难性故障发生时,可从其恢复数据信息和配置信息,避免存储因硬件故障导致的配置丢失影响集群恢复。

数据读取配置单元115根据仲裁卷记录的信息,结合多路径情况,各主机选择路径最优的路径进行数据读取,不受投票结果的限制,避免长链路读取问题,提升整体读取性能。

如图3所示,本发明基于主机仲裁的双活存储方法,根据上述双活存储系统,本实施例的方法包括以下步骤:

S1,每个存储器上创建一个仲裁卷,将仲裁卷映射到主机端;

S2,在主机端上配置仲裁策略;

S3,根据存储系统的通信情况,主机端按照配置的策略,选取最优的数据读写路径,并将选取的最优路径写入仲裁卷;

S4,存储系统按照最优路径进行数据读写。

步骤S2中的仲裁策略用于主机组或一致性组通信正常时的多路径选择策略,以及通信异常时主机组或一致性组的投票选举策略。

如图4所示,根据存储信息的通信情况,按照配置的策略,进行仲裁的具体过程为:

S31,判断存储系统的通信情况是否正常:

S32,若是,则主机端各主机进行仲裁;

S33,若否,判断异常通信是否发生在一致性组或主机组内:

S331,若否,则各主机选择最优路径,转到步骤S38;

S332,若是,则进行步骤S32;

S34,判断各主机的仲裁结果是否一致;

S35,若是,则根据仲裁结果选择最优路径;

S36,若否,根据少数服从多数原则选择最优路径;

S37,判断步骤S35和S36中选择的最优路径是否为每个主机的最优读取路径;

S38,若是,则使用该路径进行数据读写操作;

S39,若否,使用步骤S37所述最优路径写入数据,使用主机各自的最优路径读取数据。

基于上述步骤,本实施例的存储方法可实现如下情况的仲裁。

在正常情况下,数据写入根据各主机或主机组的优先设定情况,统一由整体最优的路径写入,确保整体写入性能最佳整体最优路径通过设定的优先级、链路带宽和数据传输质量确定;当数据读取时,各主机只需依照自身的最优路径读取数据,确保所有主机读取性能最优,自身的最优路径通过设定的优先级和链路质量、带宽确定。整体最优路径和自身最有路径的区别在于,整体最优路径的确定通过主机组或一致性组内各主机自身最优路径是否一致,若不一致,则通过投票选举,以少数服从多数原则确定整体最优路径。

当存储间心跳通信异常时,此时后端存储间无法同步,但能通过仲裁卷从主机端获得各存储信息,各存储依然可以按照预设情况继续运行,不受影响;当其中一存储与部分主机通信中断时,受影响的主机继续在另一存储写入,同一主机组或一致性组的卷和主机,保持整体写入一致。此时部分主机将出现长链路读取情况,但业务连续性不受影响。

当其中一存储器与部分主机通信中断,同时与另一存储器也通信中断,此时受影响的主机或主机组,读写均在另一存储器进行,此时出现部分主机长链路读写的情况,但业务连续性不受影响。

当同一主机组或一致性组中,一部分主机与存储器一中断,一部分主机与存储器二中断,主机组将通过投票选举的方式,选举最佳的存储器进行写入,读取依然保持最近读取。投票过程中主机通过预设的优先级、链路带宽、质量、延时等一一比较,选择最优的;比如主机A有路径1和路径2,路径1优先级大于路径2,则主机A选择路径1;如果路径1和路径2优先级相同,路径1带宽比路径2大,选择路径1;如果带宽也一致,路径1延时比路径2低,选择路径1,依此类推。

当同一主机组或一致性组中,一部分主机与存储器一中断,一部分主机与存储器二中断,且存储器一与存储器二通信也中断,主机组将通过投票选举的方式,选举最佳的存储器进行读写,此时存在部分主机长链路读取的情况。

存储器间的主写卷,将根据各存储器上主机写入情况动态确定主写卷位于哪个存储器,由前端主机访问情况而决定。在双活存储器里面,主机上看到的一个卷,实际上在两个存储器上各有一个卷与其对应,而主机写入数据时是先写其中一个存储器,然后再同步给另外一个存储器,先写那个存储器的卷就是主写卷。

以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

11页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于FPGA的硬盘自动切换装置及应用方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!