首页 / 专利库 / 人工智能 / 人工智能 / 机器人技术 / 机器人 / 驱动器 / 用于存储设备扩展的方法、装置以及扩展的存储设备

用于存储设备扩展的方法、装置以及扩展的存储设备

阅读:2发布:2021-02-19

专利汇可以提供用于存储设备扩展的方法、装置以及扩展的存储设备专利检索,专利查询,专利分析的服务。并且本公开的 实施例 涉及用于存储设备扩展的方法、装置以及扩展的存储设备。该方法包括在第一存储设备和第二存储设备之间建立跨设备链接;通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;在所述第一存储设备中创建阴影对象,该阴影对象与所述第二存储设备中的真实对象对应;以及在所述第二存储设备中创建阴影对象,该阴影对象与所述第一存储设备中的真实对象对应;其中,每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,而不实施所对应的真实对象的功能逻辑。本公开的实施例还提供相关的 计算机程序 产品。,下面是用于存储设备扩展的方法、装置以及扩展的存储设备专利的具体信息内容。

1.一种用于存储设备扩展的方法,包括:
在第一存储设备和第二存储设备之间建立跨设备链接;
通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;
在所述第一存储设备中创建阴影对象,所述阴影对象与所述第二存储设备中的真实对象对应;以及在所述第二存储设备中创建阴影对象,所述阴影对象与所述第一存储设备中的真实对象对应;
在所述第一存储设备中接收来自用户的输入/输出I/O请求
如果所述I/O请求的目标是真实对象,则促使所述第一存储设备处理所述I/O请求;
如果所述I/O请求的目标是阴影对象,则促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备,其中作为所述I/O请求的所述目标的所述阴影对象与所述第二存储设备中的真实对象对应;以及
如果所述I/O请求为写请求,则促使所述第一存储设备经由所述跨设备链接将要写入的数据转发给所述第二存储设备,以及促使所述第二存储设备处理所述I/O请求、并经由所述跨设备链接向所述第一存储设备返回处理结果,以使得所述第一存储设备能够向所述用户返回所述处理结果;
其中每个真实对象跟踪一个磁盘配置,所述磁盘配置描述至少部分数据如何被存储在所述第一存储设备和所述第二存储设备中的相应存储设备中的磁盘上;
其中每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,而不实施所对应的真实对象的功能逻辑。
2.根据权利要求1所述的方法,其中所述第一存储设备和所述第二存储设备均包括磁盘,并且所述方法进一步包括:
在所述第一存储设备和所述第二存储设备中的任一存储设备从头引导时、或者在新的磁盘加入所述任一存储设备时,发现所述任一存储设备中的磁盘;
在磁盘的所述发现完成后,在所述任一存储设备中创建真实对象,以跟踪所述任一存储设备的磁盘配置和/或状态;并且
其中通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息包括通过所述跨设备链接交换所述任一存储设备的磁盘配置和/或状态的信息。
3.根据权利要求1或者2所述的方法,其中所述第一存储设备和第二存储设备是存储阵列,并且所述真实对象包括以下中的至少一项:
物理驱动器对象PDO;
独立磁盘冗余阵列RAID组RG;
逻辑单元号LUN;以及
磁盘的卷。
4.根据权利要求1或者2所述的方法,其中所述第一存储设备和所述第二存储设备中均包括存储处理器SP,并且所述方法进一步包括:
将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP;
并且
其中在所述第一存储设备中创建阴影对象包括:在所述第一存储设备的SP中创建用于其远程对等SP的阴影对象;并且
其中在所述第二存储设备中创建阴影对象包括:在所述第二存储设备的SP中创建用于其远程对等SP的阴影对象。
5.根据权利要求4所述的方法,其中所述第一存储设备和所述第二存储设备均包括主动SP,并且所述方法还包括:
在所述第一存储设备的主动SP和所述第二存储设备的主动SP之间经由所述跨设备链接检测对等状态。
6.根据权利要求5所述的方法,其中所述第一存储设备和所述第二存储设备中的至少一个存储设备还包括被动SP,用以增加可用性,并且所述方法还包括:
在所述至少一个存储设备的主动SP出现故障时,将所述至少一个存储设备的所述被动SP提升为其新的主动SP。
7.根据权利要求6所述的方法,其中将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP包括:
在所述第一存储设备和所述第二存储设备中均只包括可用的主动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP;
在所述第一存储设备中包括可用的主动SP和被动SP,而所述第二存储设备只包括可用的主动SP时,将所述第一存储设备的主动SP和被动SP设置为均以所述第二存储设备的主动SP作为远程对等SP;以及
在所述第一存储设备和所述第二存储设备中均包括可用的主动SP和被动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP,并且将所述第一存储设备的被动SP和所述第二存储设备的被动SP设置为互为远程对等SP。
8.根据权利要求1所述的方法,其中促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备包括:
如果所述I/O请求为读请求,则促使所述第一存储设备经由所述跨设备链接将所述I/O请求转发给所述第二存储设备,以及促使所述第二存储设备处理所述I/O请求、并经由所述跨设备链接向所述第一存储设备返回数据,以使得所述第一存储设备能够向所述用户返回所述数据。
9.根据权利要求1或者2所述的方法,其中所述跨设备链接通过TCP/IP、FCC、INIFINIBAND、PCI-E中的至少一种协议执行。
10.一种用于存储设备扩展的装置,所述装置包括:
链接单元,被配置为在第一存储设备和第二存储设备之间建立跨设备链接;
管理单元,被配置为通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;
阴影对象创建单元,被配置为在所述第一存储设备中创建阴影对象,所述阴影对象与所述第二存储设备中的真实对象对应;以及被配置为在所述第二存储设备中创建阴影对象,所述阴影对象与所述第一存储设备中的真实对象对应;以及
输入/输出I/O控制单元,被配置为:
在所述第一存储设备中接收到来自用户的I/O请求;
如果所述I/O请求的目标是真实对象,则促使在所述第一存储设备中处理所述I/O请求;
如果所述I/O请求的目标是阴影对象,则促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备,其中作为所述I/O请求的所述目标的所述阴影对象与所述第二存储设备中的真实对象对应;以及
如果所述I/O请求为写请求,则促使所述第一存储设备经由所述跨设备链接将要写入的数据转发给所述第二存储设备,以及促使所述第二存储设备处理所述I/O请求、并经由所述跨设备链接向所述第一存储设备返回处理结果,以使得所述第一存储设备能够向所述用户返回所述处理结果;其中每个真实对象跟踪一个磁盘配置,所述磁盘配置描述至少部分数据如何被存储在所述第一存储设备和所述第二存储设备中的相应存储设备中的磁盘上;
其中每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,而不实施所对应的真实对象的功能逻辑。
11.根据权利要求10所述的装置,其中所述第一存储设备和所述第二存储设备均包括磁盘,并且所述装置进一步包括:
发现单元,被配置为在所述第一存储设备和所述第二存储设备中的任一存储设备从头引导时、或者在新的磁盘加入所述任一存储设备时,发现所述任一存储设备中的磁盘;
真实对象创建单元,被配置为在磁盘的所述发现完成后,在所述任一存储设备中创建真实对象,以跟踪所述任一存储设备的磁盘配置和/或状态;以及
其中所述管理单元被配置为通过所述跨设备链接交换所述任一存储设备的磁盘配置和/或状态的信息。
12.根据权利要求10或11所述的装置,其中所述第一存储设备和第二存储设备是存储阵列,并且所述真实对象包括以下中的至少一项:
物理驱动器对象PDO;
独立磁盘冗余阵列RAID组RG;
逻辑单元号LUN;以及
磁盘的卷。
13.根据权利要求10或11所述的装置,其中所述第一存储设备和所述第二存储设备中均包括存储处理器SP,并且所述装置进一步包括:
远程对等SP设置单元,被配置为将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP;并且
其中所述阴影对象创建单元被配置为,在所述第一存储设备的SP中创建用于其远程对等SP的阴影对象;并且在所述第二存储设备的SP中创建用于其远程对等SP的阴影对象。
14.根据权利要求13所述的装置,其中所述第一存储设备和所述第二存储设备均包括主动SP,并且所述装置还包括:
对等状态检测单元,被配置为在所述第一存储设备的主动SP和所述第二存储设备的主动SP之间经由所述跨设备链接检测对等状态。
15.根据权利要求14所述的装置,其中所述第一存储设备和所述第二存储设备中的至少一个存储设备还包括被动SP,用以增加可用性,并且所述装置还包括:
主动SP更新单元,被配置为在所述至少一个存储设备的主动SP出现故障时,将所述至少一个存储设备的所述被动SP提升为其新的主动SP。
16.根据权利要求15所述的装置,其中所述远程对等SP设置单元被配置为:
在所述第一存储设备和所述第二存储设备中均只包括可用的主动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP;
在所述第一存储设备中包括可用的主动SP和被动SP,而所述第二存储设备只包括可用的主动SP时,将所述第一存储设备的主动SP和被动SP设置为均以所述第二存储设备的主动SP作为远程对等SP;以及
在所述第一存储设备和所述第二存储设备中均包括可用的主动SP和被动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置互为远程对等SP,并且将所述第一存储设备的被动SP和所述第二存储设备的被动SP设置为互为远程对等SP。
17.根据权利要求10所述的装置,其中促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备包括:
如果所述I/O请求为读请求,则促使所述第一存储设备经由所述跨设备链接将所述I/O请求转发给所述第二存储设备,以及促使所述第二存储设备处理所述I/O请求、并经由所述跨设备链接向所述第一存储设备返回数据,以使得所述第一存储设备能够向所述用户返回所述数据。
18.根据权利要求10或11所述的装置,其中所述跨设备链接通过TCP/IP、FCC、INIFINIBAND、PCI-E中的至少一种协议执行。
19.一种用于存储设备扩展的装置,包括:
至少一个处理器;以及
至少一个包括计算机程序代码的存储器
其中所述至少一个存储器和所述计算机程序代码被配置为,与所述至少一个处理器一起,促使所述装置执行根据权利要求1-9中的任一权利要求所述的方法。
20.一种体现有计算机程序的计算机可读介质,所述计算机程序包括计算机可读程序指令,当被加载到装置中并被所述装置执行时,所述计算机可读程序指令实现根据权利要求1-9中任一权利要求所述的方法。
21.一种经扩展的存储设备,包括:
根据权利要求10-18中任一权利要求所述的用于存储设备扩展的装置,以及第一存储设备和第二存储设备。

说明书全文

用于存储设备扩展的方法、装置以及扩展的存储设备

技术领域

[0001] 本公开的实施例涉及存储领域,更具体地涉及用于存储设备扩展的方法、装置、计算机程序产品以及扩展的存储设备。

背景技术

[0002] 目前,传统的中档存储产品通常使用双控制器结构。例如,EMC公司生产的VNX系列产品包括两个控制器,该控制器又被称为存储处理器(SP)。
[0003] 为了增加产品的容量以及改进产品的性能,一种方法是在中档存储产品中引入多控制器。然而,直接设计和生产具有多控制器的存储设备将导致高成本;同时,已有的双控制器存储产品将被替代从而造成资源的浪费。
[0004] 基于以上所述问题,本公开的实施例提出了用于存储设备扩展的方法、装置和计算机程序产品,以及经扩展的存储设备。发明内容
[0005] 针对上述问题,本公开的各示例性实施例提供了一种用于存储设备扩展的低成本的解决方案。
[0006] 根据本公开的第一方面,提供了一种用于存储设备扩展的方法,包括:在第一存储设备和第二存储设备之间建立跨设备链接;通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;在所述第一存储设备中创建阴影对象,该阴影对象与所述第二存储设备中的真实对象对应;以及在所述第二存储设备中创建阴影对象,该阴影对象与所述第一存储设备中的真实对象对应;其中,每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,但是不实施所对应的真实对象的功能逻辑。
[0007] 在一个实施例中,所述第一存储设备和所述第二设备可以均包括磁盘,并且所述方法可以进一步包括:在所述第一存储设备和所述第二设备中的任一存储设备从头引导时、或者在新的磁盘加入所述任一存储设备时,发现所述任一存储设备中的磁盘;在磁盘的所述发现完成后,在所述任一存储设备中创建真实对象,以跟踪所述任一存储设备的磁盘配置和/或状态;并且其中通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息包括通过所述跨设备链接交换所述任一存储设备的磁盘配置和/或状态的信息。
[0008] 在另一实施例中,第一存储设备和第二存储设备可以是存储阵列,并且所述真实对象可以包括以下中的至少一项:物理驱动器对象(PDO)、独立磁盘冗余阵列RAID组(RG)、逻辑单元号(LUN)、以及磁盘的卷。
[0009] 在又一实施例中,第一存储设备和第二存储设备中均包括存储处理器SP,并且所述方法可以进一步包括:将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP;并且其中在所述第一存储设备中创建阴影对象包括,在所述第一存储设备的SP中创建用于其远程对等SP的阴影对象;并且在所述第二存储设备中创建阴影对象包括,在所述第二存储设备的SP中创建用于其远程对等SP的阴影对象。
[0010] 在一个实施例中,第一存储设备和第二存储设备均包括主动SP,并且其中所述方法可以还包括:在所述第一存储设备的主动SP和所述第二存储设备的主动SP之间经由所述跨设备链接检测对等状态。
[0011] 在另一实施例中,第一存储设备和第二存储设备中的至少一个存储设备还包括被动SP,用以增加可用性,并且,所述方法还可以包括:在所述至少一个存储设备的主动SP出现故障时,将所述至少一个存储设备的所述被动SP提升为其新的主动SP。
[0012] 在又一实施例中,将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP包括:在所述第一存储设备和所述第二存储设备中均只包括可用的主动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP;在所述第一存储设备中包括可用的主动SP和被动SP,而所述第二存储设备只包括可用的主动SP时,将所述第一存储设备的主动SP和被动SP设置为均以所述第二存储设备的主动SP作为远程对等SP;以及在所述第一存储设备和所述第二存储设备中均包括可用的主动SP和被动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP,并且将所述第一存储设备的被动SP和所述第二存储设备的被动SP设置为互为远程对等SP。
[0013] 在进一步的实施例中,该方法可以进一步包括:在所述第一存储设备中接收来自用户的输入/输出I/O请求;如果所述I/O请求的目标是真实对象,则促使所述第一存储设备处理该I/O请求;并且如果所述I/O请求的目标是阴影对象,则促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备,其中作为所述I/O请求的所述目标的阴影对象与所述第二存储设备中的真实对象对应。
[0014] 在另一实施例中,促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备可以包括以下中的至少一项:如果所述I/O请求为读请求,则促使所述第一存储设备经由所述跨设备链接将所述I/O请求转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回数据,以使得所述第一存储设备能够向所述用户返回所述数据;如果所述I/O请求为写请求,则促使所述第一存储设备经由所述跨设备链接将要写入的数据转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回处理结果,以使得所述第一存储设备能够向所述用户返回所述处理结果。
[0015] 在一个实施例中,跨设备链接通过TCP/IP、FCC、INIFINIBAND、PCI-E中的至少一种协议执行。
[0016] 根据本公开的第二方面,提供了一种与第一方面的方法对应的用于存储设备扩展的装置,所述装置包括:链接单元,被配置为在所述第一存储设备和所述第二存储设备之间建立跨设备链接;管理单元,被配置为通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;阴影对象创建单元,被配置为在所述第一存储设备中创建阴影对象,该阴影对象与所述第二存储设备中的真实对象对应;以及被配置为在所述第二存储设备中创建阴影对象,该阴影对象与所述第一存储设备中的真实对象对应;其中,每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,但是不实施所对应的真实对象的功能逻辑。
[0017] 根据本公开的第三方面,提供了一种用于存储设备扩展的装置,包括:至少一个处理器;以及至少一个包括计算机程序代码的存储器,其中所述至少一个存储器和所述计算机程序代码被配置为,与所述至少一个处理器一起,促使所述装置执行根据本公开的第一方面所述的任一权利要求所述的方法。
[0018] 根据本公开的第四方面,提供了一种计算机程序产品,所述计算机程序产品被体现在计算机可读的介质中并且包括计算机可读程序指令,当被加载到装置中时,所述计算机可读程序指令执行根据本公开的第一方面所述的方法。
[0019] 根据本公开的第五方面,提供了一种经扩展的存储设备,包括:根据本公开的第二方面所述的用于存储设备扩展的装置,以及第一存储设备和第二存储设备。
[0020] 根据本公开的一些实施例,如果用户需要扩展现有的设备的性能、带宽和容量,他可以购买同样的现有设备,通过本公开的实施例的方法和装置来获得扩展的设备,而不是购买更高端的阵列产品以节省成本。附图说明
[0021] 现在仅通过示例并且参照附图描述根据本公开的实施例的方法和/或装置的一些实施例,在附图中:
[0022] 图1A-1B图示根据本公开的实施例的用于存储设备扩展的方法的流程图
[0023] 图2示出根据本公开的实施例的第一存储设备的结构示意图;
[0024] 图3示意性地示出根据本公开的实施例利用第一存储设备和第二存储设备扩展得到的存储设备的结构示意图;
[0025] 图4示意性地示出根据本公开的实施例利用第一存储设备和第二存储设备扩展得到的存储设备的拓扑结构示意图;
[0026] 图5示意性地示出根据本公开的实施例转发I/O请求的示意图;以及
[0027] 图6示意性地示出根据本公开的实施例的用于构建可扩展的存储设备的装置的结构框图

具体实施方式

[0028] 以下将参考附图详细描述本公开的各个示例性实施例。
[0029] 应当理解,给出这些示例性实施例仅仅是为了使本领域技术人员能够更好地理解并进而实现本公开,而并非以任何方式限制本公开的范围。
[0030] 在本文中,对“一个实施例”、“另一实施例”或“一个优选实施例”等的引用指示所描述的实施例可以包括特定特征、结构或特性,但每个实施例不一定必须包括该特定特征、结构或特性。而且,这些术语并不一定指相同的实施例。
[0031] 还应理解,在此处使用的各种术语仅用于描述特定实施例的目的,而不旨在于限制本公开。如这里使用的单数形式“一”和“该”可以包括复数形式,除非上下文中有明确的相反指示。还应理解,此处使用的术语“包括”、“具有”和“包含”指示所述特征、单元和/或组件等的存在,但不排除一个或多个其他特征、单元、组件和/或其组合的存在。如这里使用的术语“多个”表示“两个或更多”。如这里使用的术语“和/或”可以包括关联列出的各项中的一项或多项的任何和所有组合。其他术语的定义将在下文描述中具体给出。
[0032] 另外,在以下描述中,将省略一些本领域技术人员所熟知的功能或者结构,以避免它们把本公开的实施例掩盖在不必要的细节中。
[0033] 下面为便于说明,将主要参照具有双控制器的现有存储产品,例如EMC公司的VNX2,来描述本公开的主要原理,但是本领域技术人员将能够理解,本公开并不限于这里公开的示例,并且可以更广泛的应用。例如,本公开的方法和装置可以应用于任何存储设备的扩展,只要其与本文提到的特征兼容。
[0034] 以下将首先参照附图1A描述根据本公开的实施例的方法。如图1A所示,该方法100包括:在步骤S101,在第一存储设备和第二存储设备之间建立跨设备链接;在步骤S102,通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;在步骤S103,在所述第一存储设备中创建阴影对象,该阴影对象与所述第二存储设备中的真实对象对应;以及在所述第二存储设备中创建阴影对象,该阴影对象与所述第一存储设备中的真实对象对应;其中,每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,但是不实施所对应的真实对象的功能逻辑。
[0035] 该方法100允许利用现有的性能中等的存储设备(即,第一存储设备和第二存储设备)扩展得到高性能的存储设备,使得能够在重新利用现有的存储资源的情况下获得存储系统性能的提高。
[0036] 根据本公开的一个实施例,该第一存储设备和第二存储设备可以是现有的VNX系列的存储产品,例如VNX2系列。该VNX2具有两个存储处理器。在VNX2系列中引入了全新的被称为MCx的运行环境。MCx是多核高速缓存(MCC)、多核RAID(MCR)和多核快速缓存(MCF)的组合,其使得阵列能够充分地利用因特尔(intel)的新的多核中央处理单元(CPU)架构。当输入/输出(I/O)从MCC下来时,该MCR处理到后端存储的I/O。MCC提供高速缓存能。并且MCR负责发现/管理后端磁盘并且实施独立磁盘任一阵列(RAID)算法。MCC和MCR驱动器均定义内部对象以跟踪和管理后端存储(HDD或者SSD)。
[0037] 在图2中示出了根据本公开的实施例的第一存储设备的示例性示意结构图。如图2所示,该示例性的第一存储设备具有两个存储处理器,表示为SPA1和SPB1。每个存储处理器中包括MCC、MCR以及可能的其它未示出的模块。在图2的示例中,该第一存储设备还包括两个磁盘封装,分别表示为“总线0封装0”和“总线0封装1”,其中两个磁盘封装均包括n+1个磁盘,标号为0到n。这两个磁盘封装附接到存储处理器SPA1和SPB1。两个存储处理器也互相连接,例如通过通信管理器接口(CMI)连接。如本领域技术人员能够理解的,本公开的实施例并不限于采用图2所示的示例性结构作为第一存储设备,相反地,第一存储设备可以是任何存储装置。另外,第二存储设备可以具有和第一存储设备相同或者不同的结构或者配置。
[0038] 在图3中示出了根据方法100扩展得到的示例性的存储设备的示意图。其中假定第一存储设备具有如图2所示的结构,而第二存储设备具有类似的结构,例如具有两个存储处理器(表示为SPA2,SPB2),但是仅具有1个磁盘封装(表示为“总线0封装0”),其中包括n+1个磁盘。该第一存储设备和第二存储设备经由跨设备链接互相连接来交换关于第一存储设备和/或第二存储设备的配置信息。
[0039] 在一个实施例中,跨设备链接可以是TCP/IP、FCC、INIFINIBAND、PCI-E中的一种,但是本公开的实施例不限于此。
[0040] 图1B中示出方法100的另外的实施例。在一些实施例中,假定第一存储设备和第二设备均包括磁盘,如图2所示。并且,在一个实施例中,方法100可以进一步包括,在步骤S104,在所述第一存储设备和所述第二设备中的任一存储设备从头引导时、或者在新的磁盘加入所述任一存储设备时,发现所述任一存储设备中的磁盘;在步骤S105,在磁盘的所述发现完成后,在所述任一存储设备中创建真实对象,以跟踪所述任一存储设备的磁盘配置和/或状态;并且在该实施例中,步骤S102包括通过所述跨设备链接交换所述任一存储设备的磁盘配置和/或状态的信息。
[0041] 在另一实施例中,所述第一存储设备和第二存储设备是存储阵列,并且所述真实对象包括以下中的至少一项:物理驱动器对象(PDO)、独立磁盘冗余阵列(RAID)组(RG)、逻辑单元号(LUN)以及磁盘的卷。其中卷可以被用于跟踪能够被暴露于上层驱动器或者用户的设备,其可以作为标准块驱动器被暴露;在处理I/O以及向后端存储递送I/O时,RG对象提供RAID组算法;LUN也可以被作为标准块设备向SP暴露,其和卷具有1-到-1映射;而PDO可以被用于跟踪磁盘状态、磁盘类型等的对象。
[0042] 在又一实施例中,在所述第一存储设备和所述第二存储设备中均包括存储处理器SP,如图3所示。在该实施例中,所述方法100可以进一步包括,在如图1B所示的步骤106,将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP(RPSP);并且在一个实施例中,步骤103包括在第一存储设备的SP中创建用于其远程对等SP(即,第二存储设备的SP)的阴影对象;并且在第二存储设备中创建阴影对象包括,在第二存储设备的SP中创建用于其远程对等SP(即,第一存储设备的SP)的阴影对象。
[0043] 在一个实施例中,第一存储设备和第二存储设备均包括主动SP,并且该方法100可以还包括,在步骤S107,在所述第一存储设备的主动SP和所述第二存储设备的主动SP之间经由所述跨设备链接检测对等状态。在一个示例中,检测对等状态可以包括但不限于检测RPSP是否存在或者启动,以及/或者,检测该RPSP在跨设备通信中的色。在另一示例中,第一存储设备的主动SP和第二存储设备的主动SP之间经由所述跨设备链接通过心跳(heartbeat)来检测对等状态,但是本公开的实施例并不限于此,主动SP之间也可以以不同于心跳的方式检测对等状态。
[0044] 在另一实施例中,第一存储设备和第二存储设备中的至少一个存储设备还包括被动SP以增加可用性,例如减少故障的发生,并且,方法100还可以包括,在步骤108,在所述至少一个存储设备的主动SP出现故障时,将所述至少一个存储设备的被动SP提升为其新的主动SP。
[0045] 在又一实施例中,步骤S106包括通过以下方式将第一存储设备中的SP和第二存储设备中的相应SP设置为互为远程对等SP(RPSP):(1)在所述第一存储设备和所述第二存储设备中均只包括可用的主动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP;(2)在所述第一存储设备中包括可用的主动SP和被动SP,而所述第二存储设备只包括可用的主动SP时,将所述第一存储设备的主动SP和被动SP设置为均以所述第二存储设备的主动SP作为远程对等SP;以及(3)在所述第一存储设备和所述第二存储设备中均包括可用的主动SP和被动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP,并且将所述第一存储设备的被动SP和所述第二存储设备的被动SP设置为互为远程对等SP。
[0046] 以下将假定第一存储设备和第二存储设备为VNX2系列的产品,并在该假定下给出具体的示例。但是本领域技术人员将能够理解,本公开的实施例不限于此,而是可以应用于任何类型的第一和第二存储设备。
[0047] 在一个示例实施例中,当磁盘阵列从头引导或者当有新的驱动器进入阵列时,其中的SP(例如,SP中的MCR)将发现磁盘。随后,真实对象(例如PDO)将被创建以跟踪磁盘配置和状态。此外,在磁盘的发现完成后,来自两个阵列的SP(例如SP中的MCR)可以经由跨磁盘链路交换磁盘配置和状态。在接收到交换的配置信息后,阴影对象(例如阴影PDO)可以在RPSP中被创建。最终,真实对象和阴影对象将都对阵列配置软件暴露驱动器配置和状态,使得用户能够看到本地和远程的磁盘。
[0048] 在另一示例实施例中,创建的真实对象和阴影对象可以包括RG和LUN。例如,在磁盘的所述发现完成后,当用户发起请求以在本地磁盘上创建RG时,该RG将在真实的PDO上被创建。之后,该阵列中的SP(例如可以是SP中的MCR部件)将通过跨设备链接向RPSP同步该RG创建请求。以使得能够在该另一存储设备中创建阴影RG。在另一示例中,当用户发起请求以在阴影PDO上创建RG时,该请求将被发送到RPSP以创建真实的RG。然后阴影RG创建请求将相应地被发送回,用于创建阴影RG。然后真实RG的和阴影RG将以同步的状态和配置被创建。
[0049] 在又一示例中,当用户发起请求以将LUN绑定到真实RG时,该LUN将被绑定到真实RG,如现在在VNX2中的处理一样。在之后,阵列上的SP(例如SP中的MCR)将向RPSP同步该LUN创建请求。RPSP(例如其中的MCR部件)将创建阴影LUN。在另一示例中,当用户发起请求以将LUN绑定到阴影RG时,该请求将被发送到RPSP以绑定真实LUN,并且真实LUN被创建。然后阴影LUN绑定请求将相应地被发送回。之后,例如MCR将向MCC暴露真实LUN和阴影LUN两者。MCC将为该LUN创建真实卷和阴影卷。
[0050] 值得注意的是,本文中,“真实”仅是相对于“阴影”而言的术语。真实对象可以相当于,例如,现有的VNX2技术术语中的对象。在VNX2中,MCC和MCR驱动器定义和实施内部对象,以跟踪和维护设备的状态,该设备包括直接连接到SP的磁盘和在那些本地磁盘之上构建的RG/LUN/卷。MCC和MCR还向那些对象(诸如卷、RG、LUN、和PDO)中实施IO功能逻辑,它们均具有对应的真实对象。而在公开中进一步地引入了“阴影对象”的概念,以跟踪/管理来自远端阵列的设备。阴影对象具有如下特征:
[0051] 1.阴影对象在RPSP上必须具有对应的真实对象。
[0052] 2.用户可见的真实对象具有对应的阴影对象,诸如PDO、RG、LUN和卷。
[0053] 3.阴影对象仅经由阵列配置路径软件向用户暴露设备的特性/状态;在阴影对象中没有实施功能逻辑。
[0054] 在图4中示出了根据本公开的实施例创建的扩展存储设备中的拓扑结构的示意图。在图4的示例中,假定第一设备(阵列1)具有两个磁盘封装,而第二设备(阵列2)具有一个磁盘封装。如图4所示出的,在阵列1中创建了两组真实对象(包括PDO、RG、LUN和卷),以及与阵列2中的真实对象对应的一组阴影对象;而在阵列2中创建了1组真实对象,以及与阵列1中的真实对象对应的两组阴影对象。
[0055] 在一个实施例中,该方法100可以进一步包括,在步骤S109,在所述第一存储设备中接收来自用户的输入/输出I/O请求;如果所述I/O请求的目标是真实对象,则促使所述第一存储设备处理该I/O请求;并且如果所述I/O请求的目标是阴影对象,则促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备,其中作为所述I/O请求的所述目标的阴影对象与所述第二存储设备中的真实对象对应。
[0056] 在另一实施例中,步骤S109包括通过以下方式之一促使第一存储设备将所述I/O请求重新定向到第二存储设备:(1)如果所述I/O请求为读请求,则促使所述第一存储设备经由所述跨设备链接将所述I/O请求转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回数据,以使得所述第一存储设备能够向所述用户返回所述数据;(2)如果所述I/O请求为写请求,则促使所述第一存储设备经由所述跨设备链接将要写入的数据转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回处理结果,以使得所述第一存储设备能够向所述用户返回所述处理结果。
[0057] 在图5中示出了根据本公开的实施例将I/O请求重定向(或者称为I/O路由)的示意图。在图5的示例中,I/O请求初始地被发送到阵列2上的阴影卷,然后根据本公开的实施例,该I/O请求被转发到RPSP(阵列1的SP)上的真实卷,由该RPSP处理。
[0058] 在一个实施例中,位于MCC之上的所有的软件层,诸如所映射的LUN(MLU)可以把所有的卷看作是真实的。阴影对象对于MLU可以是不可见的。根据一些实施例,横向扩展的概念终止于MCC。这是因为其它层能够利用该扩展块概念侧(MCx)来完成其扩展概念,或者它们由于块侧具有扩展而不再需要自己的扩展概念。
[0059] 由于MCC保持存储器,因此MCC能够获知LUN/卷是真实的还是阴影的,在整个软件堆栈中,MCC能够提供I/O转发工作。同时,使MCC获知LUN/卷是真实的还是阴影的能够改进高速缓存的查到百分比,这由某种“数据分割”导致。根据一些实施例,任何SP上的任何MCC可以仅负责高速缓存来自真实LUN/卷的热数据。
[0060] 在一些实施例中,可以由SP中的MCC负责从阴影卷向对应的真实卷转发I/O,由MCR负责本地磁盘发现,将磁盘/RG/LUN配置/元数据发送到RPSP上的MCR;在得到远程磁盘配置后创建阴影PDO,创建/管理真实的和对应的RG/LUN对象等。但是如本领域技术人员能够理解的,本公开的实施例并不限于此。在其他的实施例中,以上操作/功能也可以由其他的部件来完成。
[0061] 利用本公开的实施例,来自两个存储设备的多个存储处理器(SP)能够将被集群在一起,并且它们关于磁盘、RG、LUN、和卷向用户展示同样的视图;SP均能够服务针对本地磁盘和远程磁盘两者的I/O。多个存储设备的SP能够向主机提供所有后端存储的统一的命名空间。
[0062] 在以VNX2为示例时,通过将两个VNX2阵列组合在一起,2+2横向扩展的VNX2能够使整个系统获得比现有的VNX2更高的性能(例如,在每秒IO方面),带宽和容量。例如,VNX8000能够支持1500磁盘,而根据本公开的实施例的扩展结构允许3000磁盘对于系统均为可用的。此外,根据本公开的实施例,如果用户需要扩展现有设备的性能、带宽和容量,他可以购买同样的VNX,而不是更高端的阵列产品以节省成本。
[0063] 另外,尽管本公开的一些实施例以两个存储设备为例描述了扩展方法,但是,如本领域技术人员能够理解的,该方法同样适用于多于两个设备的扩展。例如,在组合多于两个存储设备来获得更高性能的扩展存储设备时,可以根据参考图1A-5所述的任一方法来组合该多个存储设备中的任两个存储设备。在实际实施中,可以根据需要,通过参考图1A-5所述的任一方法来组合可变数目的存储设备实现扩展。
[0064] 以上结合图1A到图5描述了方法100的实施例。下面将参照图6介绍根据本公开的实施例的用于存储设备扩展的装置600。该装置600可以实施参照图1A-5所述的任一实施例的方法,但是不限于实施该方法100;而参考图1A-5所述的方法100可以由该装置600实施,但是不限于由该装置600实施。例如,在一些实施例中,方法100的至少一个步骤可以由另外的装置来实施。
[0065] 如图6所示,该装置600包括链接单元601,被配置为在所述第一存储设备和所述第二存储设备之间建立跨设备链接;管理单元602,被配置为通过所述跨设备链接交换所述第一存储设备和所述第二存储设备中的至少一个存储设备的配置信息;以及阴影对象创建单元603,被配置为在所述第一存储设备中创建阴影对象,该阴影对象与所述第二存储设备中的真实对象对应;以及被配置为在所述第二存储设备中创建阴影对象,该阴影对象与所述第一存储设备中的真实对象对应;其中,每个阴影对象能够向用户暴露其所对应的真实对象的特性和/或状态,但是不实施所对应的真实对象的功能逻辑。
[0066] 在一个实施例中,该跨设备链接可以包括,但不限于,TCP/IP、FCC、INIFINIBAND、PCI-E中的一种。
[0067] 根据一个实施例,链接单元601、管理单元602和阴影对象创建单元603分别能够被配置为实施参考图1A所述的步骤S101、S102和S103的操作。因此,参考图1A-5所进行的关于步骤S101、S102和S103的描述在这里同样适用,因此链接单元601、管理单元602和阴影对象创建单元603的具体示例功能将不再一一重复。
[0068] 在一个实施例中,第一存储设备和所述第二设备均包括磁盘,并且所述装置可以进一步包括发现单元604,被配置为在所述第一存储设备和所述第二设备中的任一存储设备从头引导时、或者在新的磁盘加入所述任一存储设备时,发现所述任一存储设备中的磁盘;以及真实对象创建单元605,被配置为在磁盘的所述发现完成后,在所述任一存储设备中创建真实对象,以跟踪所述任一存储设备的磁盘配置和/或状态;并且其中所述管理单元602可以被配置为通过所述跨设备链接交换所述任一存储设备的磁盘配置和/或状态的信息。
[0069] 在另一实施例中,第一存储设备和第二存储设备是存储阵列,并且所述真实对象包括以下中的至少一项:物理驱动器对象(PDO)、独立磁盘冗余阵列组(RG)、逻辑单元号(LUN)以及磁盘的卷。
[0070] 在又一实施例中,在第一存储设备和第二存储设备中包括存储处理器SP,并且所述装置可以进一步包括远程对等SP(RPSP)设置单元606,被配置为将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP;并且其中所述阴影对象创建单元603可以被配置为,在所述第一存储设备的SP中创建用于其远程对等SP的阴影对象;并且在所述第二存储设备的SP中创建用于其远程对等SP的阴影对象。
[0071] 在一个实施例中,第一存储设备和第二存储设备均包括主动SP,并且所述装置600还可以包括对等状态检测单元607,被配置为在所述第一存储设备的主动SP和所述第二存储设备的主动SP之间经由所述跨设备链接检测对等状态。
[0072] 在另一实施例中,第一存储设备和第二存储设备中的至少一个存储设备还包括被动SP以增加可用性,并且所述装置600还可以包括主动SP更新单元608,被配置为在所述至少一个存储设备的主动SP出现故障时,将所述至少一个存储设备的所述被动SP提升为其新的主动SP。
[0073] 在一个实施例中,远程对等SP设置单元606可以被配置为通过以下方式将所述第一存储设备中的SP和所述第二存储设备中的相应SP设置为互为远程对等SP:(1)在所述第一存储设备和所述第二存储设备中均只包括可用的主动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置为互为远程对等SP;(2)在所述第一存储设备中包括可用的主动SP和被动SP,而所述第二存储设备只包括可用的主动SP时,将所述第一存储设备的主动SP和被动SP设置为均以所述第二存储设备的主动SP作为远程对等SP;以及(3)在所述第一存储设备和所述第二存储设备中均包括可用的主动SP和被动SP时,将所述第一存储设备的主动SP和所述第二存储设备的主动SP设置互为远程对等SP,并且将所述第一存储设备的被动SP和所述第二存储设备的被动SP设置为互为远程对等SP。
[0074] 根据一个实施例,发现装置604、真实对象创建单元605、远程对等SP设置单元606、对等状态检测单元607和主动SP更新单元608分别能够被配置为实施参考图1B所述的步骤S104-S108的操作。因此,参考图1B-5所进行的关于步骤S104-S108的描述在这里同样适用,因此这里将不再一一重复。
[0075] 在本公开的一个实施例中,装置600可以进一步包括输入/输出I/O控制单元609,被配置为在所述第一存储设备中接收到来自用户的I/O请求时,如果所述I/O请求的目标是真实对象,则促使在所述第一存储设备中处理该I/O请求;并且如果所述I/O请求的目标是阴影对象,则促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备,其中作为所述I/O请求的所述目标的阴影对象与所述第二存储设备中的真实对象对应。
[0076] 在另一实施例中,输入/输出I/O控制单元609可以被配置为通过以下方式之一促使所述第一存储设备将所述I/O请求重新定向到所述第二存储设备:(1)如果所述I/O请求为读请求,则促使所述第一存储设备经由所述跨设备链接将所述I/O请求转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回数据,以使得所述第一存储设备能够向所述用户返回所述数据;(2)如果所述I/O请求为写请求,则促使所述第一存储设备经由所述跨设备链接将要写入的数据转发给所述第二存储设备;促使所述第二存储设备处理所述I/O请求,并经由所述跨设备链接向所述第一存储设备返回处理结果,以使得所述第一存储设备能够向所述用户返回所述处理结果。
[0077] 尽管本公开的一些实施例以两个存储设备为例描述了用于存储设备扩展的装置600,但是,如本领域技术人员能够理解的,该装置600同样适用于多于两个设备的扩展。例如,在组合多于两个存储设备来获得更高性能的扩展存储设备时,可以根据参考图6所述的任一装置来组合该多个存储设备中的任两个存储设备来实现扩展。在实际实施中,可以根据需要,通过参考图6所述的任一装置来组合可变数目的存储设备。
[0078] 如上所述,根据本公开的实施例的方法100和装置600使得能够利用低性能的存储设备来获得高性能的存储系统,使得能够重新利用已有的存储资源来提供改进的性能。
[0079] 尽管在一些实施例中以一些特定的配置(例如以VNX2作为第一存储设备和第二存储设备的结构示例)为例描述了本公开提出的方法/装置的实施方式,但是,如本领域技术人员能够理解的,本公开的实施例并不限于此,而是可以被更广泛地应用。
[0080] 本领域技术人员应当认识到,这里描述的任何结构图表示实现本公开的原理的说明性原理图。类似地,应当理解,这里描述的流程图表示可以在机器可读介质中具体表示并且由机器或处理设备执行的各种过程,不论这样的机器或处理设备是否被明确示出。流程图中的步骤可以以任何适当的顺序执行,而不一定按照所示出的顺序。
[0081] 本领域普通技术人员还应当理解,根据本公开实施例的装置600所包含的各单元可以利用各种方式来实现,包括软件、硬件固件或其任意组合。例如,在某些实施方式中,装置600可以利用软件和/或固件来实现。备选地或附加地,装置600可以部分地或者完全地基于硬件来实现。例如,装置600中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上系统(SOC)、现场可编程阵列(FPGA),等等。本公开的范围在此方面不受限制。
[0082] 本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上记录了用于使处理设备/机器能够实现本公开的各个方面的计算机可读程序指令。根据本公开的一个实施例,本公开可以通过一种用于存储设备扩展的装置来实现,该装置包括至少一个处理器;以及至少一个包括计算机程序代码的存储器,其中所述至少一个存储器和所述计算机程序代码被配置成与所述至少一个处理器一起,促使所述装置执行前文参考图1A-5所述的任一方法。根据本公开的另一实施例,本公开可以通过一种计算机程序产品来实现,所述计算机程序产品被体现在计算机可读的介质中并且包括计算机可读程序指令,当被加载到装置中时,所述计算机可读程序指令执行根据本公开的实施例的任一方法。
[0083] 本公开的一个实施例还提供经扩展得到的存储设备。经扩展的该存储设备可以包括例如参考图6所述的根任一装置600,以及第一存储设备和第二存储设备。
[0084] 上面结合附图所进行的描述只是为了说明本公开而示例性给出的。本领域技术人员可以理解,能够基于上面所描述的本公开的原理提出不同的结构,虽然这些不同的结构未在此处明确描述或示出,但都体现了本公开的原理并被包括在其精神和范围之内。此外,所有此处提到的示例明确地主要只用于教导目的,以帮助读者理解本公开的原理以及发明人所贡献的促进本领域的构思,并不应被解释为对本公开范围的限制。此外,本文所有提到本公开的原则、方面和实施方式的陈述及其特定的示例包含其等同物在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈