管理存储阵列配置的方法和设备与流程

文档序号:12595965阅读:380来源:国知局
管理存储阵列配置的方法和设备与流程

本公开的实施例涉及存储阵列,并且更具体地涉及管理存储阵列配置的方法和设备。



背景技术:

在现有的存储阵列中,一般将存储阵列分为系统驱动器和用户驱动器。系统驱动器上的一些磁盘阵列(RAID,又称独立磁盘冗余阵列)组和逻辑单元(LUN)以及裸盘空间由系统本身消耗。例如,操作系统镜像可以存储在系统驱动器的裸盘空间上。此外,用户驱动器的内部对象(例如,驱动器、RAID组、LUN)的元数据(即,配置信息)也存储在系统驱动器上。而用户驱动器专用于存储用户数据,而不存储配置信息。

集中配置管理方法将驱动器的配置信息集中存储在系统驱动器上,因此具有多个缺点。首先,用户驱动器和系统驱动器之间的I/O与系统驱动器上的系统内部I/O之间存在冲突。这种冲突在一些情况下显著影响用户IO性能,例如,后台服务正在运行时等等,并且在存储阵列包含更多驱动器时这种影响将更加严重。其次,集中配置管理方法严重限制存储阵列可以托管的驱动器、用户RAID组和LUN等对象的个数。系统RAID组/LUN具有固定的容量来存储用户RAID组/LUN/驱动器配置。如果存储阵列可以承载成千上万的驱动器、RAID组和LUN,这种配置管理方法将很难承载这些对象的全部配置。此外,集中配置管理方法不能跨阵列移动用户RAID组/LUN/数据。例如,如果将一个RAID组移动至另一阵列,则新的阵列不能够识别并且不能提供对该RAID组的I/O访问。这些移动的驱动器将被擦除并且作为新盘使用。如果用户错误地移动盘,这就是莫名其妙的数据 丢失情况。



技术实现要素:

本公开的实施例旨在提供能够克服以上缺点的管理存储阵列配置的方法和设备。

本公开的第一方面提供了一种管理存储阵列配置的方法。所述方法包括:将用户驱动器的基本配置信息存储到系统驱动器上;以及将所述用户驱动器的扩展配置信息存储到所述用户驱动器上。所述方法还包括响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述基本配置信息包括:有效性信息;RAID组编号信息;以及LUN编号信息。

根据本公开的一个实施例,所述扩展配置信息包括:有效性信息;RAID组编号信息;驱动器编号信息;以及LUN编号信息。

根据本公开的一个实施例,将所述用户驱动器的扩展配置信息存储到所述用户驱动器上包括:通过N路镜像方法,将所述扩展配置信息存储到所述用户驱动器所属的RAID组;其中N等于所述用户驱动器所属的RAID组所包含的用户驱动器的个数。

根据本公开的一个实施例,响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组包括:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器属于所述存储阵列;确定所述驱动器上的扩展配置信息是否与所述系统驱动器上的基本配置信息匹配;通过所述驱动器上的扩展配置信息和所述系统驱动器上的基本配置信息,或者通过所述驱动器所属的RAID组的驱动器上的扩展配置信息,确定所述驱动器的有效性;以及基于创建策略,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息, 创建新的RAID组或者更新RAID组包括:当所述存储阵列包括所述驱动器所属的RAID组的其他驱动器时,将所述驱动器加入所述RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列不包括所述驱动器所属的RAID组的其他用户驱动器时,创建新的RAID组。

根据本公开的一个实施例,响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组包括:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器不属于所述存储阵列;以及当存在不属于所述存储阵列的至少两个驱动器时,根据所述基本配置信息以及所述扩展配置信息,基于所述至少两个所述驱动器创建新的RAID组。

根据本公开的一个实施例,基于所述至少两个所述用户驱动器创建新的RAID组包括:通过所述至少两个驱动器的扩展配置信息,确定所述至少两个驱动器中属于同一RAID组的驱动器的有效性;以及基于创建策略,根据所述至少两个驱动器中属于同一RAID组的有效驱动器上的扩展配置信息,创建新的RAID组。

根据本公开的一个实施例,响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组包括:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,确定所述驱动器未被初始化;以及基于创建策略,在所述驱动器上创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述创建策略包括以下各项中的其中一项:当组成RAID组的所有驱动器被发现时,创建所述RAID组;当RAID组中未被发现的驱动器的数目小于或者等于预定值时,创建所述RAID组;当RAID组中至少一个驱动器被发现时,创建所述RAID组;以及自发现RAID组中的一个驱动器时起经过预定时间之后,创建RAID组。

根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。

根据本公开的一个实施例,所述方法进一步包括:在RAID组上创建或者更新LUN。

根据本公开的一个实施例,所述方法进一步包括:对所述系统驱动器上的基本配置信息进行更新,并且将所述更新后的基本配置信息存储到所述系统驱动器;以及对所述RAID组上的扩展配置信息进行更新,并且将所述更新后的扩展配置信息存储到所述RAID组的驱动器。

本公开的另一方面提供了一种管理存储阵列配置的设备。所述设备包括:基本存储装置,被配置为将用户驱动器的基本配置信息存储到系统驱动器上;以及扩展存储装置,被配置为将所述用户驱动器的扩展配置信息存储到所述用户驱动器上。所述设备还包括配置发现装置,被配置为响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述基本配置信息包括:有效性信息;RAID组编号信息;以及LUN编号信息。

根据本公开的一个实施例,所述扩展配置信息包括:有效性信息;RAID组编号信息;驱动器编号信息;以及LUN编号信息。

根据本公开的一个实施例,所述扩展存储装置被进一步配置为:通过N路镜像方法,将所述扩展配置信息存储到所述用户驱动器所属的RAID组;其中N等于所述用户驱动器所属的RAID组所包含的用户驱动器的个数。

根据本公开的一个实施例,所述配置发现装置被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器属于所述存储阵列;确定所述驱动器上的扩展配置信息是否与所述系统驱动器上的基本配置信息匹配;通过所述驱动器上的扩展配置信息和所述系统驱动器上的基本配置信息,或者通过所述驱动器所属的RAID组 的驱动器上的扩展配置信息,确定所述驱动器的有效性;以及基于创建策略,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列包括所述驱动器所属的RAID组的其他驱动器时,将所述驱动器加入所述RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列不包括所述驱动器所属的RAID组的其他用户驱动器时,创建新的RAID组。

根据本公开的一个实施例,所述配置发现装置被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器不属于所述存储阵列;以及当存在不属于所述存储阵列的至少两个驱动器时,根据所述基本配置信息以及所述扩展配置信息,基于所述至少两个所述驱动器创建新的RAID组。

根据本公开的一个实施例,基于所述至少两个所述用户驱动器创建新的RAID组包括:通过所述至少两个驱动器的扩展配置信息,确定所述至少两个驱动器中属于同一RAID组的驱动器的有效性;以及基于创建策略,根据所述至少两个驱动器中属于同一RAID组的有效驱动器上的扩展配置信息,创建新的RAID组。

根据本公开的一个实施例,所述配置发现装置被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,确定所述驱动器未被初始化;以及基于创建策略,在所述驱动器上创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述创建策略包括以下各项中的其中一项:当组成RAID组的所有驱动器被发现时,创建所述RAID组;当RAID组中未被发现的驱动器的数目小于或者等于预定值时,创建所述RAID组;当RAID组中至少一个驱动器被发现时,创建所述 RAID组;以及自发现RAID组中的一个驱动器时起经过预定时间之后,创建RAID组。

根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。

根据本公开的一个实施例,所述设备进一步包括:LUN配置装置,被配置为在RAID组上创建或者更新LUN。

根据本公开的一个实施例,所述设备进一步包括:基本更新装置,被配置为对所述系统驱动器上的基本配置信息进行更新,并且将所述更新后的基本配置信息存储到所述系统驱动器;以及扩展更新装置,被配置为对所述RAID组上的扩展配置信息进行更新,并且将所述更新后的扩展配置信息存储到所述RAID组的驱动器。

本公开的又一方面提供了一种计算机程序产品,所述计算机程序产品包括程序代码,所述程序代码在处理器上执行时,促使所述处理器执行根据本公开的第一方面的方法。

本公开的实施例减轻了用户I/O与系统驱动器上的系统内部I/O之间的冲突,消除由固定系统驱动器容量引起的RAID组、LUN和驱动器等对象的数目限制,并且使得存储阵列的RAID组等可以在阵列之间移动。

附图说明

此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开。在附图中:

图1图示了根据本公开的一个实施例的存储阵列的示意图;

图2示意性地图示了根据本公开的一个实施例的管理存储阵列配置的方法的流程图;

图3示意性地图示了根据本公开的一个实施例的基本配置信息的架构的示意图;

图4示意性地图示了根据本公开的一个实施例的扩展配置信息的 架构的示意图;以及

图5示意性地图示了根据本公开的一个实施例的管理存储阵列配置的设备的框图。

具体实施方式

下面将参考附图中示出的若干示例性实施方式来描述本公开的原理和精神。应当理解,描述这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。

本文中的术语“驱动器”不限于硬盘驱动器,而是包括任何能够存储数据的装置,例如,固态驱动器等。

本文中的术语“磁盘阵列”指独立磁盘冗余阵列(RAID)。因此,本文中的术语“磁盘阵列组”即指RAID组。此外,本文中的术语“逻辑单元”有时也简称为LUN。

图1图示了根据本公开的一个实施例的存储阵列100的示意图。存储阵列100包括系统驱动器和用户驱动器。系统驱动器可以包括一个或者多个驱动器,并且用户驱动器可以包括一个或者多个驱动器。此外,可以创建系统驱动器的RAID组以及用户驱动器的RAID组。进一步地,可以在RAID组上创建一个或者多个LUN。

图2图示了根据本公开的一个实施例的管理存储阵列配置的方法200的流程图。下文参考图2描述方法200的具体步骤。

在方法200开始之前,首先创建系统驱动器RAID组和用户驱动器RAID组。可选地,也可以在RAID组上创建一个或者多个LUN。方法200开始之后前进至步骤S201。

在步骤S201,将用户驱动器的基本配置信息存储到系统驱动器上。根据本公开的一个实施例,所述基本配置信息包括有效性信息、RAID组编号信息以及LUN编号信息。有效性信息可以用于检查数据的有效性,并且从系统驱动器上的多个镜像中选择有效的数据副本。RAID组编号信息和LUN编号信息可以用来标识对应的RAID组和 LUN。下文将结合图3进一步详细地描述根据本公开的一个实施例的基本配置信息的架构的示意图。

在步骤S202,将所述用户驱动器的扩展配置信息存储到所述用户驱动器上。根据本公开的一个实施例,所述扩展配置信息包括有效性信息、RAID组编号信息、驱动器编号信息以及LUN编号信息。与基本配置信息中的有效性信息类似,扩展配置信息中的有效性信息也可以用于检查数据的有效性,并且从用户驱动器上的多个镜像中选择有效的数据副本。RAID组编号信息、驱动器编号信息和LUN编号信息可以用来标识对应的RAID组、驱动器和LUN。下文将结合图4进一步详细地描述根据本公开的一个实施例的扩展配置信息的架构的示意图。

根据本公开的一个实施例,将所述用户驱动器的扩展配置信息存储到所述用户驱动器上包括:通过N路镜像方法,将所述扩展配置信息存储到所述用户驱动器所属的RAID组;其中N等于所述用户驱动器所属的RAID组所包含的用户驱动器的个数。因为扩展配置信息分布式存储在组成RAID组的各个用户驱动器上,因此,需要以与RAID组相同或者更高的等级来保护扩展配置信息。N路镜像在所有RAID算法中具有最高的保护等级,因此可以按照N路镜像方法存储扩展配置信息。N路镜像通过检查每个镜像中的有效性信息,确定哪个镜像是有效数据。例如,一个驱动器发生故障,并且在该驱动器重启之前对该驱动器所属的RAID组曾经进行写入操作。在重启之后如果该驱动器可用,则N路镜像方法可以检测到并且不使用该驱动器上的过期数据。

根据本公开的一个实施例,在创建存储阵列中,响应于所述用户驱动器的RAID组和LUN中的至少一项未被发现,可以发送警报。这正是将基本配置信息存储在系统驱动器上的原因之一。例如,系统刚刚启动,由于驱动器的柜电缆(closure cable)断开等原因,组成一些RAID组的驱动器掉线。如果系统驱动器上不包含基本配置信息,则当掉线的驱动器达到一定阈值致使无法满足RAID算法的要求时, 对应的RAID组和LUN将不能被发现和报告。对于用户而言,他们将丢失这些LUN而没有任何警报。根据本公开的一个实施例,当不能从所述系统驱动器获取所述基本配置信息时,从所述扩展配置信息创建所述基本配置信息。例如,系统驱动器发生故障,导致基本配置信息不能读取,则可以从用户驱动器上的扩展配置信息重新创建基本配置信息。再例如,如果存储阵列启动一定时间(例如,10分钟)之后,扫描系统驱动器上的基本配置信息。如果发现有RAID组或者LUN尚未被发现,则可以发送警报。

在步骤S203,响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组。存储阵列的变化可以包括向存储阵列增加新的驱动器。

根据本公开的一个实施例,步骤S203包括如下步骤。首先,识别与所述存储阵列连接的驱动器上的驱动器信息。根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。初始化信息可以用来确定所述驱动器是否被初始化,存储阵列信息可以用来确定所述驱动器所属的存储阵列。然后,根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器属于所述存储阵列。接着,确定所述驱动器上的扩展配置信息是否与所述系统驱动器上的基本配置信息匹配。换言之,确定所述驱动器上的扩展配置信息是否能够在系统驱动器上的基本配置信息中找到。接着,通过所述驱动器上的扩展配置信息和所述系统驱动器上的基本配置信息,或者通过所述驱动器所属的RAID组的驱动器上的扩展配置信息,确定所述驱动器的有效性。因为基本配置信息和扩展配置信息中可以包含同样的有效性信息,因此,可以通过二者的对比确定驱动器的有效性。另外,也可以通过用户驱动器上的多个镜像来检查驱动器的有效性。例如,如果一个用户驱动器上的有效性信息与同一RAID组的其他多个用户驱动器上的有效性信息不同,则可以认为该用户驱动器无效。最后,基于创建策略,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列包括所述驱动器所属的RAID组的其他驱动器时,将所述驱动器加入所述RAID组。根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列不包括所述驱动器所属的RAID组的其他用户驱动器时,创建新的RAID组。

根据本公开的一个实施例,步骤S203包括如下步骤。首先,识别与所述存储阵列连接的驱动器上的驱动器信息。根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。初始化信息可以用来确定所述驱动器是否被初始化,存储阵列信息可以用来确定所述驱动器所属的存储阵列。然后,根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器不属于所述存储阵列。接着,当存在不属于所述存储阵列的至少两个驱动器时,根据所述基本配置信息以及所述扩展配置信息,基于所述至少两个所述驱动器创建新的RAID组。注意,在这个过程期间,可以通过交互,例如命令号界面,向用户询问是否创建RAID组。如果用户确认,则继续进行,否则,可以将所述驱动器作为新驱动器使用,或者由用户定义另作他用。

根据本公开的一个实施例,基于所述至少两个所述用户驱动器创建新的RAID组包括:通过所述至少两个驱动器的扩展配置信息,确定所述至少两个驱动器中属于同一RAID组的驱动器的有效性;以及基于创建策略,根据所述至少两个驱动器中属于同一RAID组的有效驱动器上的扩展配置信息,创建新的RAID组。

根据本公开的一个实施例,步骤S203包括如下步骤。首先,识别与所述存储阵列连接的驱动器上的驱动器信息。根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。初始化信息可以用来确定所述驱动器是否被初始化,存储阵列信息可以用来确定所述驱动器所属的存储阵列。然后,根据所述驱动器信息,确定所述驱动器未被初始化。接着,基于创建策略,在所述驱 动器上创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述创建策略包括以下各项中的其中一项:当组成RAID组的所有驱动器被发现时,创建所述RAID组;当RAID组中未被发现的驱动器的数目小于或者等于预定值时,创建所述RAID组;当RAID组中至少一个驱动器被发现时,创建所述RAID组;以及自发现RAID组中的一个驱动器时起经过预定时间之后,创建RAID组。

根据本公开的一个实施例,方法200进一步包括:在RAID组上创建或者更新LUN。这可以通过常规技术手段进行实现,而至于创建还是更新LUN可以根据具体情况而定,特别是所连接的驱动器中是否含有新的配置信息以及用户是否有新的需求等等。根据本公开的一个实施例,方法200进一步包括:对所述系统驱动器上的基本配置信息进行更新,并且将所述更新后的基本配置信息存储到所述系统驱动器;以及对所述RAID组上的扩展配置信息进行更新,并且将所述更新后的扩展配置信息存储到所述RAID组的驱动器。

应当注意的是,用户可以在不脱离本公开的原理的情况下,对一些情况进行定制。例如,驱动器的移动类型可以是除上文所提到的之外的其他类型,诸如不含配置信息的外部驱动器、含与基本配置信息不匹配的配置信息的该存储阵列的驱动器、不含配置信息的该存储阵列的驱动器等。针对这些类型用户可以将这些驱动器作为未初始化的驱动器进行处理,或者可以以其他合理的方式进行处理。此外,对于上文所描述的方法,用户也可以通过命令行等手段对其进行干预,特别是在以上方法失效的时候。例如,通过上文所提供的方法无法确定驱动器的有效性时,可以通过人工干预进行处理。

上文结合发现与存储阵列进行连接的驱动器,说明了本公开的原理。应当注意,其他配置过程也可以通过以上所描述的方法的原理进行操作。例如,在系统启动时,对驱动器的发现过程与上文所描述的方法基本类似,因此,不再赘述。

图3示意性地图示了根据本公开的一个实施例的基本配置信息的 架构的示意图。基本配置信息可以包括有效性信息、RAID组编号信息以及LUN编号信息。如图3所示,有效性信息由中心数据库戳来实现,RAID组编号信息由各个用户RAID组的ID来实现,并且LUN编号信息由LUN ID来实现。基本配置信息可以以数据库的形式存储在系统驱动器中的每个驱动器的特定区域中,该特定区域例如可以是裸盘区域。但是本公开的实施例不限于这种存储形式,也可以以其他任何合适的方式存储,只要能够实现本公开的原理即可。根据图3的示例,基本配置信息以中心数据库的形式存储,并且将每个RAID组上创建的LUN与该RAID组和中心数据库戳对应。

根据一个实施例,中心数据库戳是8个字节的数据头。用户RAID组ID和用户LUN ID是4个字节的整数。中心数据库可以以三路镜像方法驻留在系统驱动器上。例如,一个RAID组由256个LUN构成,并且阵列上有1000个RAID组,则中心数据库空间只需1.5MB。考虑支持10000个驱动器的存储阵列,则中心数据库大小约为20MB。当所有的系统驱动器损坏时,该中心数据库可以从用户驱动器上的分布式数据库创建。

图4示意性地图示了根据本公开的一个实施例的扩展配置信息的架构的示意图。如前文所述,扩展配置信息包括有效性信息、RAID组编号信息、驱动器编号信息以及LUN编号信息。如图4所示,有效性信息由分布式数据库戳来具体实现,RAID组编号信息由用户RAID组ID实现,驱动器编号信息由驱动器序列号实现,并且LUN编号信息由用户LUN ID实现。分布式数据库被自组织在每个RAID组中并且存储在包括RAID组的驱动器上。例如,如图3所示,一个RAID组构建在256个驱动器上,并且由256个LUN构成。如果一个存储阵列包括1000个这样的RAID组,则扩展配置信息的分布式数据库将在每个驱动器上占用11MB空间。因此,分布式数据库并不占有很多空间。有效性信息可以用于保护不同驱动器上的配置数据的有效性。一个典型的示例是一个驱动器从一个RAID组中抽出。当系统启动时,应当有能力识别该驱动器上具有过期数据的信息,并且不能 用于创建拓扑。

图5示意性地图示了根据本公开的一个实施例的管理存储阵列配置的设备500的框图。设备500包括基本存储装置501、扩展存储装置502和配置发现装置503。基本存储装置501被配置为将用户驱动器的基本配置信息存储到系统驱动器上。扩展存储装置502被配置为将所述用户驱动器的扩展配置信息存储到所述用户驱动器上。此外,配置发现装置503被配置为响应于所述存储阵列的变化,根据所述基本配置信息以及所述扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述基本配置信息包括有效性信息、RAID组编号信息以及LUN编号信息。根据本公开的一个实施例,所述扩展配置信息包括有效性信息、RAID组编号信息、驱动器编号信息以及LUN编号信息。根据本公开的一个实施例,扩展存储装置502被进一步配置为:通过N路镜像方法,将所述扩展配置信息存储到所述用户驱动器所属的RAID组,其中N等于所述用户驱动器所属的RAID组所包含的用户驱动器的个数。

根据本公开的一个实施例,配置发现装置503被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器属于所述存储阵列;确定所述驱动器上的扩展配置信息是否与所述系统驱动器上的基本配置信息匹配;通过所述驱动器上的扩展配置信息和所述系统驱动器上的基本配置信息,或者通过所述驱动器所属的RAID组的驱动器上的扩展配置信息,确定所述驱动器的有效性;以及基于创建策略,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列包括所述驱动器所属的RAID组的其他驱动器时,将所述驱动器加入所述RAID组。

根据本公开的一个实施例,根据所述驱动器上的扩展配置信息,创建新的RAID组或者更新RAID组包括:当所述存储阵列不包括所述驱动器所属的RAID组的其他用户驱动器时,创建新的RAID组。

根据本公开的一个实施例,配置发现装置503被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,在所述驱动器的类型是用户驱动器时,确定所述驱动器不属于所述存储阵列;以及当存在不属于所述存储阵列的至少两个驱动器时,根据所述基本配置信息以及所述扩展配置信息,基于所述至少两个所述驱动器创建新的RAID组。

根据本公开的一个实施例,基于所述至少两个所述用户驱动器创建新的RAID组包括:通过所述至少两个驱动器的扩展配置信息,确定所述至少两个驱动器中属于同一RAID组的驱动器的有效性;以及基于创建策略,根据所述至少两个驱动器中属于同一RAID组的有效驱动器上的扩展配置信息,创建新的RAID组。

根据本公开的一个实施例,配置发现装置503被进一步配置为:识别与所述存储阵列连接的驱动器上的驱动器信息;根据所述驱动器信息,确定所述驱动器未被初始化;以及基于创建策略,在所述驱动器上创建新的RAID组或者更新RAID组。

根据本公开的一个实施例,所述创建策略包括以下各项中的其中一项:当组成RAID组的所有驱动器被发现时,创建所述RAID组;当RAID组中未被发现的驱动器的数目小于或者等于预定值时,创建所述RAID组;当RAID组中至少一个驱动器被发现时,创建所述RAID组;以及自发现RAID组中的一个驱动器时起经过预定时间之后,创建RAID组。

根据本公开的一个实施例,所述驱动器信息包括初始化信息和存储阵列信息中的至少一个。

根据本公开的一个实施例,设备500进一步包括:逻辑单元配置装置,被配置为在RAID组上创建或者更新LUN。

根据本公开的一个实施例,设备500进一步包括:基本更新装置, 被配置为对所述系统驱动器上的基本配置信息进行更新,并且将所述更新后的基本配置信息存储到所述系统驱动器;以及扩展更新装置,被配置为对所述RAID组上的扩展配置信息进行更新,并且将所述更新后的扩展配置信息存储到所述RAID组的驱动器。

在对本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“根据”应当理解为“至少部分地根据”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。

应当注意,本公开的实施例可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。

此外,尽管在附图中以特定顺序描述了本公开的实施例的方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤组合为一个步骤执行,和/或将一个步骤分解为多个步骤执行。还应当注意,根据本公开的实施例的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。

虽然已经参考若干具体实施例描述了,但是应当理解,本公开不限于所公开的具体实施例。本公开的实施例旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等效布置。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1