一种数据保护方法及存储设备技术

技术编号:16528824 阅读:32 留言:0更新日期:2017-11-09 20:32
本申请提供一种数据保护方法及存储设备,该方法应用于顺序写模式下的双活存储系统中的被预配置为Thin‑LUN的从LUN存储单元,双活存储系统中的主LUN存储单元处理写IO请求,且不执行数据同步;可包括:在主LUN存储单元或者其所在存储设备故障后,基于故障后接收到的写IO请求中的逻辑地址,确定本LUN上的目标逻辑子空间;将目标逻辑子空间转换为临时主状态,并为其开启自动扩容机制,将写IO请求的数据写入该目标逻辑子空间,且不执行数据同步;在故障恢复后,触发目标逻辑子空间和转换为临时从状态的与目标逻辑子空间对应的位于主LUN存储单元中的逻辑子空间的数据同步,在同步完成后,释放该目标逻辑子空间占用的物理空间,并执行恢复操作,从而实现数据保护。

【技术实现步骤摘要】
一种数据保护方法及存储设备
本申请涉及计算机通信领域,尤其涉及一种双活存储技术。
技术介绍
双活存储技术是一种数据保护技术,在双活存储系统中通常可以包括主LUN存储单元和从LUN存储单元。主LUN存储单元和从LUN存储单元可分配给应用服务器,对于应用服务器而言,主LUN存储单元和从LUN存储单元被识别为同一LUN存储单元。在接收到应用服务器下发的写IO请求后,该双活存储系统中的主LUN存储单元可处理该写IO请求,并将该写IO请求携带的数据写入主LUN存储单元,同时将该写入的数据同步至从LUN存储单元。当在主LUN存储单元发生故障或者其所在存储设备发生故障时,如何继续进行IO请求处理,以及在主LUN存储单元或者其所在存储设备恢复正常后恢复数据等数据保护问题就成为亟待解决的问题。
技术实现思路
有鉴于此,本申请提供一种数据保护方法及存储设备,用以通过投入较低的硬件成本实现数据的保护。具体地,本申请是通过如下技术方案实现的:根据本申请的第一方面,提供一种数据保护方法,所述方法应用于双活存储系统中的从逻辑单元号LUN存储单元,所述双活存储系统还包括主LUN存储单元;所述双活存储系统在接收写IO请求后,由该双活存储系统中的主LUN存储单元处理该写IO请求,且该主LUN存储单元不将该写IO请求中的数据同步至所述从LUN存储单元;所述从LUN存储单元被预配置为瘦逻辑单元号Thin-LUN存储单元,所述方法包括:在所述主LUN存储单元或者所述主LUN存储单元所在存储设备故障后,基于故障后接收到的写IO请求中携带的逻辑地址,确定本LUN存储单元上的目标逻辑子空间;其中,所述目标逻辑子空间对应的目标逻辑地址段的起始逻辑地址大于等于所述写IO请求中携带的逻辑地址;将所述目标逻辑子空间的状态转换为临时主状态,为所述目标逻辑子空间开启自动扩容机制,并将所述写IO请求携带的数据写入该目标逻辑子空间,且不执行数据同步;在故障恢复后,触发所述目标逻辑子空间和转换为临时从状态的与所述目标逻辑地址段对应的位于所述主LUN存储单元中的逻辑子空间的数据同步,并在同步完成后,释放该目标逻辑子空间所占用的物理空间,并恢复本LUN存储单元和所述主LUN存储单元。根据本申请的第二方面,提供存储设备,所述存储设备包括处理器和存储介质,所述处理器调用所述存储介质上储存的与数据保护逻辑对应的机器可执行指令,所述处理器被促使执行上述数据保护的方法。本申请提出一种数据保护方法,该方法可应用于双活存储系统。在接收到应用服务器下发的写IO请求时,该双活存储系统中的主LUN存储单元处理该写IO请求,并不将该写IO请求中携带的数据同步至从LUN存储单元。该双活存储系统中的从LUN存储单元被配置为Thin-LUN存储单元,在所述主LUN存储单元或者所述主LUN存储单元所在存储设备故障后,从LUN存储单元可基于故障后接收到的写IO请求中携带的逻辑地址,确定本LUN存储单元上的目标逻辑子空间,并将该目标逻辑子空间的状态转换为临时主状态,为所述目标逻辑子空间开启自动扩容机制,并将所述写IO请求携带的数据写入该目标逻辑子空间,且不执行数据同步。在故障恢复后,从LUN存储单元触发所述目标逻辑子空间和转换为临时从状态的与所述目标逻辑地址段对应的位于所述主LUN存储单元中的逻辑子空间的数据同步,并在同步完成后,释放该目标逻辑子空间所占用的物理空间,并恢复本LUN存储单元和所述主LUN存储单元。一方面,由于在主LUN存储单元或者其所在存储设备正常时,双活存储系统中只保存一份写IO请求携带的数据,而在主LUN存储单元或者其所在存储设备故障恢复后同步数据的过程中,双活存储系统才保存两份写IO请求携带的数据,采用这种数据保护机制既可以尽量减少正常时保存两份数据导致的硬件成本和硬件维护复杂度以及额外的IO响应时间,还可实现在主LUN存储单元或其所在存储设备故障时,写IO的正常写入,以及故障恢复后的主LUN存储单元的数据恢复。另一方面,主LUN存储单元和从LUN存储单元的逻辑空间被划分为若干个逻辑子空间,每个逻辑子空间对应有双活状态。这种基于逻辑子空间来管理LUN双活状态机制,可以使得在主LUN存储单元或者其所在存储设备故障后,针对写IO请求,继续写入从LUN存储单元中临时主状态的目标逻辑子空间,使得写IO请求被成功处理;同时,针对读IO请求,只要主LUN存储单元中主状态的逻辑子空间可以被访问,则可实时读取数据,从而解决了从LUN存储单元上未写入数据的空间不能读取数据,必须等待主LUN存储单元或者其所在存储设备恢复且数据同步完成后才能读取数据的问题。第三方面,从LUN存储单元被配置为Thin-LUN存储单元,该从LUN存储单元中的目标逻辑子空间在变为临时主状态后,可开启自动扩容机制,采用这种按需申请存储空间的方式来扩大存储容量,在故障恢复,该临时主状态的目标逻辑子空间执行数据同步后,可释放该目标逻辑子空间所占用的存储空间。采用这种机制既可以尽量降低从LUN存储单元对存储空间的要求,减少存储空间的浪费,提高存储空间的利用率,还可以快速找到待同步数据,提高数据同步的效率。附图说明图1是本申请一示例性实施例示出的一种双活存储系统的示意图;图2是本申请一示例性实施例示出的一种数据保护方法的流程图;图3是本申请一示例性实施例示出的一种数据保护的示意图;图4是本申请一示例性实施例示出的一种数据保护装置所在存储设备的硬件结构图;图5是本申请一示例性实施例示出的一种数据保护装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。参见图1,图1是本申请一示例性实施例示出的一种双活存储系统的示意图。在该双活存储系统中通常可以包括主LUN存储单元和从LUN存储单元。主LUN存储单元和从LUN存储单元可分别配置在不同的存储设备上。主LUN存储单元和从LUN存储单元可分配给应用服务器,对于应用服务器而言,主LUN存储单元和从LUN存储单元被识别为同一LUN存储单元。在接收到应用服务器下发的写IO请求后,该双活存储系统中的主LUN存储单元可处理该写IO请求,并将该写IO请求携带的数据写入主LUN存储单元,同时将该写入的数据同步至从LUN存储单元。本文档来自技高网...
一种数据保护方法及存储设备

【技术保护点】
一种数据保护方法,其特征在于,所述方法应用于顺序写模式下的双活存储系统中的从逻辑单元号LUN存储单元,所述双活存储系统还包括主LUN存储单元;所述双活存储系统在接收写IO请求后,由该双活存储系统中的主LUN存储单元处理该写IO请求,且该主LUN存储单元不将该写IO请求中的数据同步至所述从LUN存储单元;所述从LUN存储单元被预配置为瘦逻辑单元号Thin‑LUN存储单元,所述方法包括:在所述主LUN存储单元或者所述主LUN存储单元所在存储设备故障后,基于故障后接收到的写IO请求中携带的逻辑地址,确定本LUN存储单元上的目标逻辑子空间;其中,所述目标逻辑子空间对应的目标逻辑地址段的起始逻辑地址大于等于所述写IO请求中携带的逻辑地址;将所述目标逻辑子空间的状态转换为临时主状态,为所述目标逻辑子空间开启自动扩容机制,并将所述写IO请求携带的数据写入该目标逻辑子空间,且不执行数据同步;在故障恢复后,触发所述目标逻辑子空间和转换为临时从状态的与所述目标逻辑地址段对应的位于所述主LUN存储单元中的逻辑子空间的数据同步,并在同步完成后,释放该目标逻辑子空间所占用的物理空间,并恢复本LUN存储单元和所述主LUN存储单元。...

【技术特征摘要】
1.一种数据保护方法,其特征在于,所述方法应用于顺序写模式下的双活存储系统中的从逻辑单元号LUN存储单元,所述双活存储系统还包括主LUN存储单元;所述双活存储系统在接收写IO请求后,由该双活存储系统中的主LUN存储单元处理该写IO请求,且该主LUN存储单元不将该写IO请求中的数据同步至所述从LUN存储单元;所述从LUN存储单元被预配置为瘦逻辑单元号Thin-LUN存储单元,所述方法包括:在所述主LUN存储单元或者所述主LUN存储单元所在存储设备故障后,基于故障后接收到的写IO请求中携带的逻辑地址,确定本LUN存储单元上的目标逻辑子空间;其中,所述目标逻辑子空间对应的目标逻辑地址段的起始逻辑地址大于等于所述写IO请求中携带的逻辑地址;将所述目标逻辑子空间的状态转换为临时主状态,为所述目标逻辑子空间开启自动扩容机制,并将所述写IO请求携带的数据写入该目标逻辑子空间,且不执行数据同步;在故障恢复后,触发所述目标逻辑子空间和转换为临时从状态的与所述目标逻辑地址段对应的位于所述主LUN存储单元中的逻辑子空间的数据同步,并在同步完成后,释放该目标逻辑子空间所占用的物理空间,并恢复本LUN存储单元和所述主LUN存储单元。2.根据权利要求1所述的方法,其特征在于,所述确定本LUN存储单元上的目标逻辑子空间,包括:基于预设的划分规则,将所述本LUN存储单元对应的逻辑空间划分为若干逻辑子空间,使得在所述若干逻辑子空间对应的若干逻辑地址段中,至少包括起始逻辑地址大于等于所述写IO请求中携带的逻辑地址的目标逻辑地址段;将所述目标逻辑地址段对应的逻辑子空间确定为目标逻辑子空间。3.根据权利要求1所述的方法,其特征在于,所述若干逻辑地址段至少包括结束逻辑地址小于所述写IO请求中携带的逻辑地址的已写入逻辑地址段;所述已写入逻辑地址段对应的主LUN存储单元上的逻辑子空间的状态为主状态;所述已写入逻辑地址段对应的从LUN存储单元上的逻辑子空间的状态为从状态;所述方法还包括:在接收到应用服务器下发的读IO请求后,获取该读IO请求携带的逻辑地址段;如果获取到的所述逻辑地址段在所述已写入逻辑地址段,向应用服务器返回读取错误提示消息;或者将所述读IO请求转发给所述主LUN存储单元,以使所述主LUN存储单元基于所述读IO请求中携带的逻辑地址,在所述已写入逻辑地址段对应的主状态的逻辑子空间中读取对应的数据,若读取到数据,则向所述从LUN存储单元返回读取到的数据;若未读取到数据,则向所述从LUN存储单元返回读取错误提示消息;在接收到所述主LUN存储单元返回的所述数据或者所述读取错误提示消息后,将所述数据或者所述读取错误提示消息返回应用服务器。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:在接收到应用服务器下发的读IO请求后,获取该读IO请求携带的逻辑地址段;如果获取到的所述逻辑地址段在所述目标逻辑地址段...

【专利技术属性】
技术研发人员:上官应兰
申请(专利权)人:杭州宏杉科技股份有限公司
类型:发明
国别省市:浙江,33

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

1