掌桥专利:专业的专利平台
掌桥专利
首页

用于磁盘阵列缓存数据保护功能的评估方法和装置

文献发布时间:2023-06-19 11:27:38


用于磁盘阵列缓存数据保护功能的评估方法和装置

技术领域

本公开涉及存储技术领域,特别涉及一种用于磁盘阵列缓存数据保护功能的评估方法和装置。

背景技术

磁盘阵列(Redundant Arrays of Independent Drives,简称为RAID)是由很多块独立的磁盘,组合成一个容量巨大的磁盘组。利用个别磁盘提供数据所产生的加成效果可以提升整个磁盘系统的效能。磁盘阵列具备数据冗余保存能力和极高的并发访问IOPS(Input/Output Operations Per Second,每秒进行读写操作的次数)和带宽,是企业数据存取必备的重要外存储器。

通常,磁盘阵列具有缓存数据掉电保护功能。磁盘阵列的控制器缓存是为了提高读写速度而设置的一个内存部件,该部件在磁盘阵列读写过程中为提高读写速度临时保存部分读写数据。为了防止缓存中的数据在磁盘阵列异常掉电后无法及时保存到持久化部件导致数据丢失,很多磁盘阵列均在控制器中设置缓存数据保护装置,在掉电后利用备用电池或电容紧急将缓存中的数据进行持久化处置,以保证数据的安全。

由于各厂家采用的保护机制及算法不同,需要对磁盘阵列缓存数据的保护功能的进行评估。目前主要是依靠人工的方式进行评估。该人工的方法耗费时间长,控制数据注入和断电之间时间间隔的控制精度差,数据注入缓存的时机(例如,该时机需要确保数据临时保存到缓存中,尚未达到写盘的条件)不容易把握,导致对磁盘阵列缓存数据的保护功能评估的准确性和效率都比较差。

发明内容

本公开解决的一个技术问题是:提供一种用于磁盘阵列缓存数据保护功能的评估方法,从而实现对磁盘阵列缓存数据保护功能的自动评估,提高评估效率。

根据本公开的一个方面,提供了一种用于磁盘阵列缓存数据保护功能的评估方法,其中,所述磁盘阵列包括控制器和与所述控制器电连接的磁盘池,所述评估方法包括:生成测试数据;将所述测试数据注入到所述磁盘阵列的控制器;在将所述测试数据完全注入到所述控制器时,向与所述磁盘阵列电连接的供电装置发送断电信号以中断所述磁盘阵列的电源;在经过预定时间后,向所述供电装置发送启动信号以重新接通所述磁盘阵列的电源;在接通所述磁盘阵列的电源从而使得所述磁盘阵列完全启动后,从所述磁盘阵列的磁盘池获取需要验证的测试数据;以及判断所述需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致;如果一致,则确定所述磁盘阵列的缓存数据的保护功能合格,否则确定所述保护功能不合格。

在一些实施例中,确定所述磁盘阵列的缓存数据的保护功能合格的步骤包括:若所述需要验证的测试数据与在所述生成测试数据的步骤中所生成的测试数据一致,则判断是否完成预定次数的测试;如果是,确定所述磁盘阵列的缓存数据的保护功能合格,否则重新生成测试数据。

在一些实施例中,所述测试数据包括文件系统数据或者裸设备数据。

在一些实施例中,在判断所述需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致的过程中,判断所述需要验证的测试数据的每一个数据字节与所生成的测试数据的每一个数据字节是否一致。

在一些实施例中,所述测试数据的字节数的范围为1KB至256KB。

根据本公开的另一个方面,提供了一种用于磁盘阵列缓存数据保护功能的评估装置,其中,所述磁盘阵列包括控制器和与所述控制器电连接的磁盘池,所述评估装置包括:数据生成单元,用于生成测试数据;数据注入单元,用于将所述测试数据注入到所述磁盘阵列的控制器;电源控制单元,用于在将所述测试数据完全注入到所述控制器时,向与所述磁盘阵列电连接的供电装置发送断电信号以中断所述磁盘阵列的电源,以及在经过预定时间后,向所述供电装置发送启动信号以重新接通所述磁盘阵列的电源;数据获取单元,用于在接通所述磁盘阵列的电源从而使得所述磁盘阵列完全启动后,从所述磁盘阵列的磁盘池获取需要验证的测试数据;以及判断单元,用于判断所述需要验证的测试数据与所述数据生成单元生成的测试数据是否一致;如果一致,则确定所述磁盘阵列的缓存数据的保护功能合格,否则确定所述保护功能不合格。

在一些实施例中,所述判断单元还用于若所述需要验证的测试数据与所述数据生成单元生成的测试数据一致,则判断是否完成预定次数的测试;如果是,确定所述磁盘阵列的缓存数据的保护功能合格,否则使得所述数据生成单元重新生成测试数据。

在一些实施例中,所述测试数据包括文件系统数据或者裸设备数据。

在一些实施例中,所述判断单元用于判断所述需要验证的测试数据的每一个数据字节与所生成的测试数据的每一个数据字节是否一致。

在一些实施例中,所述测试数据的字节数的范围为1KB至256KB。

根据本公开的另一个方面,提供了一种用于磁盘阵列缓存数据保护功能的评估装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器的指令执行如前所述的方法。

根据本公开的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现如前所述的方法的步骤。

在上述评估方法中,生成测试数据;将测试数据注入到磁盘阵列的控制器;在将测试数据完全注入到控制器时,向与磁盘阵列电连接的供电装置发送断电信号以中断磁盘阵列的电源;在经过预定时间后,向供电装置发送启动信号以重新接通磁盘阵列的电源;在接通磁盘阵列的电源从而使得所述磁盘阵列完全启动后,从磁盘阵列的磁盘池获取需要验证的测试数据;以及判断需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致;如果一致,则确定磁盘阵列的缓存数据的保护功能合格,否则确定保护功能不合格。上述评估方法实现了对磁盘阵列缓存数据保护功能的自动评估,提高了评估的准确性和效率。

通过以下参照附图对本公开的示例性实施例的详细描述,本公开的其它特征及其优点将会变得清楚。

附图说明

构成说明书的一部分的附图描述了本公开的实施例,并且连同说明书一起用于解释本公开的原理。

参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:

图1是示出根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估方法的流程图;

图2是示出根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估方法的流程图;

图3是示出根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估装置的结构图;

图4是示出根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估装置的结构图;

图5是示出根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估装置的结构图。

具体实施方式

现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

在一些实施例中,磁盘阵列可以包括控制器和与该控制器电连接的磁盘池。控制器可以包括缓存单元。例如,磁盘阵列可以包括多个控制器。在一些实施例中,该多个控制器可以共用一个缓存单元。磁盘池可以包括多个磁盘。

图1是示出根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估方法的流程图。如图1所示,该评估方法包括步骤S102至S116。

在步骤S102,生成测试数据。例如,可以随机生成测试数据。

在一些实施例中,测试数据可以包括文件系统数据或者裸设备数据。这里,文件系统数据是指经过分区格式化的通过操作系统进行存取的磁盘区域的数据;裸设备(rawdevice),也叫裸分区(原始分区),裸设备数据是一种没有经过格式化且不通过OS(Operating System,操作系统)读取而是直接被应用程序读取的特殊块设备的文件数据。当然,本领域技术人员能够理解,该测试数据也可以为其他类型的数据,因此,本公开的范围并不仅限于此。

在步骤S104,将测试数据注入到磁盘阵列的控制器。

例如,控制器可以利用缓存单元先对该测试数据缓存,然后将测试数据传输到磁盘池。

在步骤S106,在将测试数据完全注入到控制器时,向与磁盘阵列电连接的供电装置发送断电信号以中断磁盘阵列的电源。

这里,供电装置是用于向磁盘阵列供电的外部装置。在向磁盘阵列的控制器注入测试数据完成后,立即向该供电装置发送断电信号,该供电装置在接收到该断电信号后断电,从而中断了磁盘阵列的电源。例如,在向磁盘阵列的控制器注入测试数据完成后,可以在几毫秒(例如5毫秒)的时间内执行中断磁盘阵列电源的操作。

在步骤S108,在经过预定时间后,向供电装置发送启动信号以重新接通磁盘阵列的电源。即,在断电预定时间后,向供电装置发送启动信号,该供电装置在接收到启动信号后,重新接通磁盘阵列的电源。

在一些实施例中,该预定时间的范围为3分钟至10分钟。经过预定时间再重新接通磁盘阵列的电源,可以尽量确保控制器的缓存单元内的数据内写入磁盘池,从而对数据持久化。

在步骤S110,在接通磁盘阵列的电源从而使得磁盘阵列完全启动后,从磁盘阵列的磁盘池获取需要验证的测试数据。例如,在接通磁盘阵列的电源,磁盘阵列启动就绪(例如磁盘阵列可以经过5分钟至30分钟的时间启动)后,从磁盘阵列的磁盘池获取需要验证的测试数据。

在步骤S112,判断需要验证的测试数据与在生成测试数据的步骤(即步骤102)中所生成的测试数据是否一致。如果是,则过程进入步骤S114;否则过程进入步骤S116。

在一些实施例中,在判断需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致的过程中,判断需要验证的测试数据的每一个数据字节与所生成的测试数据的每一个数据字节是否一致。这样评估的更加准确。

在步骤S114,确定磁盘阵列的缓存数据的保护功能合格。

在步骤S116,确定磁盘阵列的缓存数据的保护功能不合格。

至此,提供了根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估方法。该评估方法包括:生成测试数据;将测试数据注入到磁盘阵列的控制器;在将测试数据完全注入到控制器时,向与磁盘阵列电连接的供电装置发送断电信号以中断磁盘阵列的电源;在经过预定时间后,向供电装置发送启动信号以重新接通磁盘阵列的电源;在接通磁盘阵列的电源从而使得磁盘阵列完全启动后,从磁盘阵列的磁盘池获取需要验证的测试数据;以及判断需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致;如果一致,则确定磁盘阵列的缓存数据的保护功能合格,否则确定保护功能不合格。该评估方法实现了对磁盘阵列缓存数据保护功能的自动评估,提高了评估的准确性和效率。

上述评估方法可以评估磁盘阵列在业务运行过程中遭遇突然掉电时采取紧急数据保护措施的有效性,从而可以评价磁盘阵列的可靠性,摒弃测试不合格的磁盘阵列,从而保证集采磁盘阵列的产品质量、保障企业运营数据在遭遇断电事件时的安全性和可靠性。

在一些实施例中,测试数据的字节数的范围可以为1KB(千字节)至256KB。例如,测试数据的字节数可以为5KB、10KB、30KB、100KB或200KB等。由于该测试数据的字节数比较小,因此使得测试数据能够被充分注入到磁盘阵列的控制器中,这样提高了对磁盘阵列缓存数据保护功能评估的准确性。

在一些实施例中,确定磁盘阵列的缓存数据的保护功能合格的步骤可以包括:若需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据一致,则判断是否完成预定次数的测试;如果是,确定磁盘阵列的缓存数据的保护功能合格,否则重新生成测试数据。这样可以实现对磁盘阵列缓存数据保护功能的多次评估,从而进一步提高对磁盘阵列缓存数据保护功能评估的准确性。

图2是示出根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估方法的流程图。如图2所示,该评估方法可以包括步骤S202至S218。

在步骤S202,生成测试数据。

在步骤S204,将测试数据注入到磁盘阵列的控制器。

在步骤S206,在将测试数据完全注入到控制器时,向与磁盘阵列电连接的供电装置发送断电信号以中断磁盘阵列的电源。

在步骤S208,在经过预定时间后,向供电装置发送启动信号以重新接通磁盘阵列的电源。

在步骤S210,在接通磁盘阵列的电源从而使得磁盘阵列完全启动后,从磁盘阵列的磁盘池获取需要验证的测试数据。

在步骤S212,判断需要验证的测试数据与在生成测试数据的步骤中所生成的测试数据是否一致。如果是,则过程进入步骤S214;否则过程进入步骤S216。

在步骤S214,判断是否完成预定次数的测试。即判断是否完成所有测试。如果是,则过程进入步骤S218;否则过程返回步骤S202,即重新生成测试数据,执行下一次的测试流程。

在步骤S216,确定磁盘阵列的缓存数据的保护功能不合格。

在步骤S218,确定磁盘阵列的缓存数据的保护功能合格。

至此,提供了根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估方法。上述评估方法可以实现对磁盘阵列缓存数据保护功能的多次测试,从而进一步提高了对磁盘阵列缓存数据保护功能评估的准确性。

在本公开一些实施例中的评估方法可以节省磁盘阵列缓存数据保护评估的人力物力,提高测试效率,降低测试成本。而且对于测试数据的一致性检查,可以查验所有注入的测试数据持久化后的一致性情况,并且能够细致到每一个数据字节,因此测试粒度较细,测试更加准确。另外,该评估方法可以覆盖尽可能多的受保护的数据。

针对磁盘阵列异常掉电导致的缓存数据保护问题,通过上述评估方法,可以全面的检测设备对数据保护的有效性。上述评估方法可以针对不同厂家的磁盘阵列产品,不用关注磁盘阵列数据保护的实现细节,采用黑盒测试的方法验证缓存数据保护。

上述评估方法打通从测试数据生成到测试数据一致性验证整个评估流程,根据测试数据量及测试数据样本特征参数可反复进行测试,覆盖全面,准确率、评估效率更高。另外,在上述评估方法中,磁盘阵列控制器电源的断开和打开均纳入评估流程,提高了自动化程度。

图3是示出根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估装置的结构图。

在图3中,除了示出了评估装置310之外,还示出了磁盘阵列320和与磁盘阵列320电连接的供电装置330。该磁盘阵列320可以包括控制器321和与控制器321电连接的磁盘池322。在一些实施例中,磁盘阵列320可以包括多个控制器321,例如图3中示出了两个控制器321。控制器321可以包括缓存单元3212。例如,多个控制器321可以共用一个缓存单元3212。又例如,每个控制器321也可以具有单独的缓冲单元。磁盘池322可以包括多个互相连接的磁盘3224。在一些实施例中,该磁盘阵列320还可以包括分别与控制器321和磁盘池322电连接的备用电池323。

如图3所示,评估装置310可以包括:数据生成单元311、数据注入单元312、电源控制单元313、数据获取单元314和判断单元315。

数据生成单元311用于生成测试数据。例如,测试数据可以包括文件系统数据或者裸设备数据。在一些实施例中,测试数据的字节数的范围可以为1KB至256KB。

数据注入单元312用于将测试数据注入到磁盘阵列的控制器321。

电源控制单元313用于在将测试数据完全注入到控制器时,向与磁盘阵列320电连接的供电装置330发送断电信号以中断磁盘阵列的电源,以及在经过预定时间后,向供电装置330发送启动信号以重新接通磁盘阵列320的电源。

数据获取单元314用于在接通磁盘阵列的电源从而使得磁盘阵列完全启动后,从磁盘阵列的磁盘池322获取需要验证的测试数据。

判断单元315用于判断需要验证的测试数据与数据生成单元311生成的测试数据是否一致;如果一致,则确定磁盘阵列320的缓存数据的保护功能合格,否则确定保护功能不合格。

至此,提供了根据本公开一些实施例的用于磁盘阵列缓存数据保护功能的评估装置。该评估装置实现了对磁盘阵列缓存数据保护功能的自动评估,提高了评估的准确性和效率。上述评估装置可以评估磁盘阵列在业务运行过程中遭遇突然掉电时采取紧急数据保护措施的有效性,从而可以评价磁盘阵列的可靠性,摒弃测试不合格的磁盘阵列,从而保证集采磁盘阵列的产品质量、保障企业运营数据在遭遇断电事件时的安全性和可靠性。

在一些实施例中,判断单元315用于判断需要验证的测试数据的每一个数据字节与所生成的测试数据的每一个数据字节是否一致。

在一些实施例中,判断单元315还用于若需要验证的测试数据与数据生成单元311生成的测试数据一致,则判断是否完成预定次数的测试;如果是,确定磁盘阵列的缓存数据的保护功能合格,否则使得数据生成单元311重新生成测试数据。

在本公开的一些实施例中,评估装置可以控制磁盘阵列电源通断、连接磁盘阵列数据卷(文件系统或者裸设备)。上述评估装置可以是全流程闭环的评估系统。评估装置向磁盘阵列注入测试数据完成后,立即中断磁盘阵列电源,静待若干时间后重新接通磁盘阵列电源,磁盘阵列启动就绪后,检验测试数据在磁盘阵列中的情况,可感觉实际情况,多次重复上次步骤,得出磁盘阵列缓存数据保护是否可靠的结论。

图4是示出根据本公开另一些实施例的用于磁盘阵列缓存数据保护功能的评估装置的结构图。该评估装置包括存储器410和处理器420。其中:

存储器410可以是磁盘、闪存或其它任何非易失性存储介质。存储器用于存储图1和/或图2所对应实施例中的指令。

处理器420耦接至存储器410,可以作为一个或多个集成电路来实施,例如微处理器或微控制器。该处理器420用于执行存储器中存储的指令,实现了对磁盘阵列缓存数据保护功能的自动评估,提高了评估的准确性和效率。

在一些实施例中,还可以如图5所示,该评估装置500包括存储器510和处理器520。处理器520通过BUS总线530耦合至存储器510。该评估装置500还可以通过存储接口540连接至外部存储装置550以便调用外部数据,还可以通过网络接口560连接至网络或者另外一台计算机系统(未标出),此处不再进行详细介绍。

在该实施例中,通过存储器存储数据指令,再通过处理器处理上述指令,实现了对磁盘阵列缓存数据保护功能的自动评估,提高了评估的准确性和效率。

在另一些实施例中,本公开还提供了一种计算机可读存储介质,其上存储有计算机程序指令,该指令被处理器执行时实现图1和/或图2所对应实施例中的方法的步骤。本领域内的技术人员应明白,本公开的实施例可提供为方法、装置、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本公开是参照根据本公开实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

至此,已经详细描述了本公开。为了避免遮蔽本公开的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。

可能以许多方式来实现本公开的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。

虽然已经通过示例对本公开的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本公开的范围。本领域的技术人员应该理解,可在不脱离本公开的范围和精神的情况下,对以上实施例进行修改。本公开的范围由所附权利要求来限定。

相关技术
  • 用于磁盘阵列缓存数据保护功能的评估方法和装置
  • 一种测试系统电池对缓存数据保护功能的方法
技术分类

06120112938289