管理存储系统中的存储设备的制作方法

文档序号:17660228发布日期:2019-05-15 22:19阅读:139来源:国知局
管理存储系统中的存储设备的制作方法

本申请涉及管理存储系统中的存储设备。



背景技术:

计算机系统可以包括由一个或多个主机处理器使用的不同资源。计算机系统中的资源和主处理器可以通过一个或多个通信连接互连。这些资源可以包括例如数据存储设备,诸如在由emc公司制造的数据存储系统中包括的数据存储设备。这些数据存储系统可以被耦合到一个或多个服务器或主机处理器,并向每个主处理器提供存储服务。来自一个或多个不同供应商的多个数据存储系统可以被连接,并且可以为计算机系统中的一个或多个主机处理器提供公共数据存储装置。

这样的数据存储系统通常包括处理电路和磁盘驱动器(磁盘驱动器在本文中也被简称为“磁盘”或“驱动器”)集合。通常,处理电路代表主机设备对磁盘驱动器集合执行加载和存储操作。在某些数据存储系统中,数据存储系统的磁盘驱动器分布在一个或多个分离的磁盘驱动器机箱中(磁盘驱动器机箱在本文中也称为“磁盘阵列”或“存储阵列”),并且处理电路用作到磁盘驱动器机箱的前端。处理电路将磁盘驱动器机箱向主机设备呈现为单个逻辑存储位置,并允许主机设备访问磁盘驱动器,使得单独的磁盘驱动器和磁盘驱动器机箱对于主机设备是透明的。

磁盘阵列通常用于为一个或多个计算机文件系统、数据库、应用等提供存储空间。由于这个原因和其他原因,磁盘阵列通常被构造为存储空间的逻辑分区,称为逻辑单元(本文也称为lu或lun)。例如,在lun创建时,存储系统可以分配磁盘阵列中的各种存储设备的存储空间以被呈现为逻辑卷,用于由外部主机设备使用。这允许磁盘阵列呈现为分离的文件系统、网络驱动器和/或卷的集合。

磁盘阵列还可以包括逻辑上被绑定在一起以表示应用的连续数据存储空间的物理磁盘组。例如,磁盘阵列可以划分为廉价磁盘冗余阵列(raid)组,这些廉价磁盘冗余阵列(raid)组是通过将单独的物理磁盘逻辑绑定在一起以形成raid组而创建的磁盘阵列。raid组表示分布在物理磁盘集合上的逻辑上连续的地址空间。每个物理磁盘被细分为用于在组中扩展raid组的地址空间的片(如果可用于raid级别则连同校验信息)。被连接在一起以创建raid组的逻辑上连续的地址空间的物理磁盘的物理连续片被称为条带(stripe)。条带可以形成块,并且块可以被分配以创建用于由数据存储系统内的应用使用的存储空间的逻辑表示。

如上所述,应用通过使用称为逻辑单元(lun)的逻辑存储阵列分区来逐步地访问和存储数据。lun由raid阵列的存储块的集合组成,并从raid阵列导出以在应用级使用。

存在可以结合为数据存储设备提供容错和/或改进性能的组合而使用的多个不同的raid(独立或廉价磁盘冗余阵列)级别和技术。不同的raid级别(例如,raid-1、raid-5、raid-6等)可以提供不同程度的容错。此外,可以利用raid校验方案在跨存储系统的数据的传送和取回期间提供错误检测。

通常,raid系统是对数据存储系统呈现为单个驱动器的多个磁盘驱动器的阵列。raid系统的目标是在磁盘上将一片数据均匀地扩展或条带化(通常以组块(chunk)为单位),使得大量请求可由多个磁盘并行地服务。例如,raid-5技术可以与数据存储系统结合使用,以防止单个设备发生故障。

例如,在包括五个磁盘模块的存储阵列的特定raid-5上下文中,每个磁盘具有多个“n”个数据存储扇区,五个磁盘中的每一个中的对应扇区通常被称为扇区的“条带”。对于任何条带,条带中的80%的扇区区域(即,在5个磁盘阵列中实际上是5个扇区中的4个扇区)被用于用户数据,并且它的20%(即,实际上是5个扇区中的1个扇区)被用于冗余或校验数据。如果在条带中的用户数据扇区发生故障,这种冗余的使用允许用户数据的重建。

当用户数据盘模块发生故障时,条带的校验扇区中可用的冗余或校验条目和条带的非故障用户数据扇区中的数据可以被用于允许在故障磁盘的扇区中的用户数据被有效地重建,使得即使当故障磁盘的该扇区的用户数据不能被访问时,系统可以使用这种经重建的数据来保持可操作。然后,该系统被称为以“退化”模式操作,因为当需要对其进行访问时需要额外的处理操作并且因此需要额外的时间来重建在故障磁盘扇区中的数据。

如上所述,数据存储系统可以利用与提供针对数据存储驱动器的容错和/或改进性能的组合有关的多个不同的raid级别和技术。例如,第一级raid-0组合了两个或多个驱动器以创建更大的虚拟磁盘。在双驱动raid-0系统中,一个磁盘包含低编号扇区或块,另一磁盘包含高编号扇区或块,形成一个完整的存储空间。raid-0系统通常会跨部件驱动器交织虚拟磁盘的扇区,从而提高经组合的虚拟磁盘的带宽。以这种方式对数据进行交织称为条带化。raid-0系统不提供数据冗余,因此如果驱动器发生故障或数据变得损坏,那么在故障之前缺乏备份则无法进行恢复。

以上描述了磁盘故障被处理以恢复数据的各种方式。然而,慢存储设备实际上可能会比磁盘故障更糟。如果raid组中的一个或多个磁盘较慢,则将导致raid组中总体缓慢的读取和写入性能。性能的总体退化可能会中断业务操作。

从上述可以理解,慢存储设备可能阻碍存储设备操作。因此,期望实时地检测存储系统中的慢存储设备操作,使得在慢存储设备影响存储设备操作之前可以隔离慢存储设备。



技术实现要素:

一种方法用于检测存储系统中的慢存储设备操作。该方法实时监测与在存储系统中的存储设备上执行的存储设备操作集合有关的信息,并且实时地分析该信息。从分析中,该方法确定存储设备是否可以被识别为慢存储设备。然后,该方法在存储系统继续操作的同时对存储系统执行至少一个动作,以隔离慢存储设备。

附图说明

从以下结合附图对其示例性实施例的详细描述中,本技术的特征和优点将变得更加明显,在附图中:

图1-2是可以利用本文描述的技术的计算机系统的实施例的示例;

图3是图示存储设备布局的示例;以及

图4是图示可以结合本文技术所使用的处理的流程图。

具体实施方式

下面描述的是用于检测存储系统中的慢存储设备操作的技术,该技术可以用于提供:实时地监测关于在存储系统的存储设备上执行的存储设备操作集合的信息,实时地分析信息,根据分析确定存储设备是否可以被识别为慢存储设备,以及在存储系统继续操作的同时对存储系统执行至少一个动作以隔离慢存储设备等等。

如本文所述,在存储阵列系统中,用户数据通常被存储在被组织在存储阵列系统的存储设备上的raid组中。此外,可以通过诸如吞吐量和每秒i/o操作(iops)的性能指示符来指示存储系统的性能或存储系统的存储设备的性能。通常,吞吐量是可以在特定时间内处理的数据量的度量。此外,iops或每秒输入/输出操作是每秒通过存储系统处理的存储事务或操作的总数量的度量。此外,存储事务或存储操作通常是用于从存储系统读取数据或将数据写入存储系统的请求,并且这种请求可以包括访问在raid组上存储的数据或向raid组写入数据以执行这些请求。通常,存储系统的性能由存储系统的最慢存储设备控制。存在许多指示符,基于指示符存储设备可以被标识为慢存储设备。一个这样的指示符是通常以毫秒(ms)测量并且应当尽可能低的延迟。延迟是处理单个存储事务或数据请求或存储操作(例如,i/o操作)所需的时间量的度量。此外,在存储系统中,延迟可以指在存储设备上查找与数据请求相关联的数据以及从存储设备访问该数据耗费多少时间。此外,延迟通常与平均i/o大小相结合考虑,因为大i/o操作比小i/o操作耗费更长的处理时间。

如果至少有一个存储设备(如磁盘驱动器、硬盘、存储磁盘驱动器)在执行raid组中的存储操作时变得缓慢,则它会导致raid组中的存储操作(诸如读写操作)的性能总体下降。采取极限情况,慢存储设备可能会导致业务中断发生,因为单个慢存储设备阻碍整个存储系统的性能。

通常,慢存储设备可能最终出现故障,并且可能在故障之前使整个存储系统变慢。因此,在这种传统的系统中,不仅存储设备的故障是需要解决的问题(即,丢失数据的恢复、故障存储设备的重建),而且慢存储设备对整个存储系统的影响如它影响存储系统的整体性能那样也需要被解决。因此,在这种传统的系统中,当慢存储设备未被检测到时,不仅影响传统的存储系统的性能,而且当慢存储设备最终出现故障时,故障的存储设备的数据变得对用户不可用,直到来自导致用户对数据的访问的中断的故障存储设备的数据被恢复。

在存储系统操作的同时,传统技术不能提供实时地检测慢存储设备的有效方法。

相比之下,在根据本文所述的技术的至少一些实现中,慢存储设备被实时地检测,并且及时地被隔离以防止数据丢失和/或存储系统缓慢的性能。因此,与在其中慢存储设备降低了存储系统的性能并且可能最终故障的传统系统相比,当前技术提供了以下能力:实时地动态地检测慢存储设备,并且隔离慢存储设备,同时存储系统继续操作,从而减轻了慢存储设备对存储系统的性能的影响。

在当前技术的至少一个实施例中,该方法实时地监测诸如每个存储设备操作的输入/输出(i/o)延迟的信息,其中存储设备操作的i/o延迟指示完成存储设备操作耗费的时间量。

在当前技术的至少一个实施例中,该方法收集i/o延迟数据,并且在至少一个指定的间隔上对i/o延迟数据进行采样。

在当前技术的至少一个实施例中,该方法对采样的i/o延迟数据应用启发法(heuristic)以标识慢存储设备。在示例实施例中,该方法标识与输入/输出延迟数据相关联的正态分布。在另一示例实施例中,该方法标识采样的i/o延迟数据的特定百分比超过延迟阈值。

在当前技术的至少一个实施例中,该方法避免对存储系统上被标识为慢存储设备的存储设备执行重建。在当前技术的另一实施例中,该方法避免重新启动存储系统。在当前技术的又一实施例中,该方法避免重新格式化在慢存储设备上组织的文件系统。在当前技术的又一实施例中,该方法避免了存储系统中慢存储设备的故障。

在根据本文所述的当前技术的至少一些实现中,在存储系统操作期间对慢存储设备的检测可以提供以下优点中的一个或多个:动态地检测慢存储设备,减轻慢存储设备可能具有的对存储系统的性能的影响,及时地介入解决缓存设备的问题,避免重启存储系统、重建存储设备或重新格式化文件系统,以及避免慢存储设备的故障。

应当注意,在本说明书中,术语“数据存储系统”、“存储系统”、“磁盘阵列”和“存储阵列”已经被互换地使用。还应当注意,在本说明书中,“存储设备”、“存储磁盘”和“磁盘”已经被互换地使用。

图1描绘了可以结合执行本文描述的技术使用的系统的示例实施例。系统10包括通过通信介质18连接到服务器或主机系统14a-14n的一个或多个数据存储系统12。系统10还包括通过通信介质2连接到一个或多个数据存储系统12的管理系统16。在此系统10的实施例中,管理系统16和n个服务器或主机14a14n可以访问数据存储系统12,例如以执行输入/输出(i/o)操作、数据请求和其他操作。通信介质18可以是本领域技术人员已知的各种网络或其他类型的通信连接中的任意一种或多种。通信介质18和2中的每一个可以是网络连接、总线和/或其他类型的数据链路,诸如硬线或本领域已知的其他连接。例如,通信介质18可以是因特网、内联网网络或其他无线或其他硬线连接,主机系统14a14n可以通过其访问数据存储系统12和与数据存储系统12通信,并且还可以与被包括在系统10中的其他部件(未示出)通信。在一个实施例中,通信介质2可以是lan连接,并且通信介质18可以是iscsi、光纤通道、串行附接scsi、或在以太网连接上的光纤信道。

被包括在系统10中的主机系统14a-14n和数据存储系统12中的每一个可以通过根据通信介质18的类型提供和支持的各种连接中的任何一个连接到通信介质18。类似地,管理系统16可以通过根据通信介质2的类型的各种连接中的任何一种连接到通信介质2。主计算机系统14a-14n和管理系统16中包括的处理器可以是各种专有或市售可用的单处理器系统或多处理器系统(诸如基于intel的处理器)或能够根据每个特定实施例和应用来支持业务的其他类型的市售可用的处理器中的任意一个。

应当注意,可以被包括在数据存储系统12中的硬件和软件的具体示例在本文中更详细地描述,并且可以根据每个具体实施例而改变。主计算机14a-14n、管理系统16和数据存储系统中的每一个均可以全部位于相同的物理站点,或者,备选地,也可以位于不同的物理位置。关于通信介质18和2,可以使用各种不同的通信协议,诸如scsi、光纤信道、iscsi等。通过其主机、管理系统和数据存储系统可以连接到它们相应的通信介质的一些或所有连接可以通过其他通信设备,诸如可能存在的交换设备,诸如电话线、中继器、多路复用器甚至卫星。在一个实施例中,主机可以通过iscsi或光纤信道连接与数据存储系统通信,并且管理系统可以使用tcp/ip通过分离的网络连接与数据存储系统通信。应当注意,尽管图1图示了主机和数据存储系统之间的通信是通过第一连接的,并且管理系统和数据存储系统之间的通信是通过第二不同的连接,但是实施例也可以使用相同的连接。连接的特定类型和数量可以根据每个实施例的细节而改变。

每个主计算机系统可以根据不同类型的任务执行不同类型的数据操作。在图1的实施例中,主计算机14a-14n中的任何一个可以向数据存储系统12发布用于执行数据操作的数据请求。例如,在主计算机14a-14n之一上执行的应用可以执行导致对数据存储系统12的一个或多个数据请求的读取或写入操作。

管理系统16可以与数据存储系统12的管理结合使用。管理系统16可以包括硬件和/或软件部件。管理系统16可以包括连接到诸如例如显示器或其他输出设备以及诸如例如键盘、鼠标等的输入设备的一个或多个i/o设备的一个或多个计算机处理器。例如,数据存储系统管理者可以在管理系统16的显示设备上查看关于当前存储卷配置的信息、提供数据存储系统资源等。

在一个实施例中,数据存储系统12可以包括一个或多个数据存储系统,诸如数据存储系统(诸如由马萨诸塞州霍普金顿市的emc公司提供的数据存储阵列)中的一个或多个。数据存储系统中的每一个可以包括一个或多个数据存储设备17a-17n。除非另有说明,否则数据存储设备在本文中可互换地使用,以指代硬盘驱动器、固态驱动器和/或其他已知的存储设备。一个或多个数据存储系统可以由一个或多个不同的供应商制造。在12中包括的数据存储系统中的每一个可以是互连的(未示出)。此外,数据存储系统还可以通过任何一个或多个通信连接来连接到主机系统,该任何一个或多个通信连接可以根据特定实施例中使用的不同协议随着每个特定实施例和设备变化。所使用的通信连接的类型可以随着某些系统参数和要求而变化,诸如与根据主计算机系统可以例如向数据存储系统12发布的i/o请求的速率所需的带宽和吞吐量有关的那些系统参数和要求。应当注意,数据存储系统中的每一个可以独立地操作,或者也可以被包括作为存储区域网络(san)的一部分中,该存储区域网络包括,例如,诸如其他数据存储系统的其它部件。为了说明目的而描述的特定数据存储系统和示例不应被解释为限制性的。其他类型的市售可用的数据存储系统以及控制对这些特定设备的访问的处理器和硬件也可以被包括在实施例中。

在其中使用一个或多个数据存储系统实现图1的元件12的这种实施例中,数据存储系统中的每一个在其上可以包括用于执行如本文所述的技术的代码。

服务器或主机系统(诸如14a-14n)通过信道向存储系统提供数据和访问控制信息,并且存储系统还可以通过信道向主机系统提供数据。主机系统可能不直接对存储系统的磁盘驱动器进行寻址,而是对数据的访问被提供给一个或多个主机系统,可以从主机系统视为多个逻辑设备或逻辑卷(lv)。lv可以或可以不对应于实际的磁盘驱动器。例如,一个或多个lv可以驻留在单个物理磁盘驱动器上。单个存储系统中的数据可以由多个主机访问,允许主机共享驻留在其中的数据。可以使用lv或lun(逻辑单元号)来指代上述逻辑上定义的设备或卷。

数据存储系统可以是单个单一数据存储系统,诸如单个数据存储阵列,包括两个存储处理器或计算处理单元。本文的技术可以更一般地结合任何一个或多个数据存储系统使用,每个数据存储系统包括与本文所述的不同数量的存储处理器。数据存储系统12可以是包括多个数据存储设备17a-17n和两个存储处理器114a、114b的数字存储阵列,诸如由马萨诸塞州霍普金顿市的emc公司的vnxtm或vnxetm数据存储阵列。存储处理器114a、114b可以包括用于与一个或多个物理或虚拟主机14a-14n通信的中央处理单元(cpu)和存储器和端口(未示出)。存储处理器可以经由诸如存储处理器总线19的通信介质进行通信耦合。存储处理器单元可以被包括在数据存储系统12中用于处理请求和命令。结合执行本文的技术,数据存储系统的实施例可以包括多个存储处理器,包括多于如所描述的两个存储处理器。上述vnxtm或vnxetm数据存储系统可以包括用于执行与服务请求有关的处理的两个存储处理器114a、114b。此外,两个存储处理器114a、114b可以当与管理系统16通信时与故障转移(failover)处理结合地使用。管理系统16上的客户端软件可以结合与通过通过连接2向数据存储器系统12发布命令和/或从数据存储系统12接收响应来执行数据存储系统管理使用。在一个实施例中,管理系统16可以是笔记本计算机或台式计算机系统。

本实施例中描述的特定数据存储系统或其特定设备(例如磁盘)不应被解释为限制性的。其他类型的市售可用的数据存储系统以及控制对这些特定设备的访问的处理器和硬件也可以包括在实施例中。

在一些布置中,数据存储系统12通过将数据存储在逻辑存储单元(lun)或卷的块中并使用逻辑块地址(lba)寻址块来提供基于块的存储。在其他布置中,数据存储系统12通过将数据存储为文件系统的文件并使用索引节点(inode)结构定位文件数据来提供基于文件的存储。在其他布置中,数据存储系统12存储lun和文件系统、在lun内存储文件系统等等。

两个存储处理器114a、114b(此处也称为“sp”)可以控制数据存储系统12的操作。处理器可以被配置为处理可以从主机、其他数据存储系统、管理系统和与其连接的其他部件接收的请求。sp中的每一个可以处理所接收的请求并且相对于另一处理器独立地且并发地操作。关于可以从诸如与本文中的技术相关的图1的管理系统16的客户端接收的数据存储管理请求、操作等,客户端可以与两个sp中的指定的一个交互。当一个sp的故障发生时,另一剩余sp可以处理通常由两个sp执行的所有处理。

在数据存储系统12中执行的存储操作可以包括由数据存储系统12从诸如主机的外部客户端接收的i/o操作。根据数据存储配置,单个主机i/o操作(诸如用于写入操作)可能会导致对数据存储系统上的一个或多个物理驱动器进行多于一次写入操作。例如,如果主机写入被指向到逻辑设备(诸如lun),该逻辑设备具有从具有利用两个物理驱动器的raid-1镜像配置的raid组提供的存储,则到lun的单个前端或主机i/o导致到包括raid组的存储系统的两个镜像物理设备中的每一个的两次后端物理设备写入。

参考图2,示出了示例10,示例10图示了可以在根据本文技术的实施例中使用的系统的部件。示例10包括如上所述的系统的部件的简化视图。示例10包括具有主机总线适配器(“hba”)112的主机14。主机14通过连接114与数据存储系统12通信。连接114可以是例如hba112和数据存储系统12的前端适配器122之间的网络连接。如上所述,前端适配器122可以是例如光纤通道适配器(“fa”)或促进主机通信的其他适配器。数据存储系统12还包括高速缓存124、磁盘适配器(“da”)或存储控制器126和一个或多个物理存储设备17(例如,旋转磁盘或诸如闪存驱动器的固态设备(ssd))。

可以与主机通信的诸如主机适配器(“ha”)的数据存储系统12的部件也可以被称为前端部件。在数据存储系统12内,可以被表征为后端部件的部件与前端部件通信。后端部件的示例是da。关于诸如由emc公司的数据存储系统,各种类型的导向器(director)或适配器可以被实现为处理器,或者更一般地,包括处理器的部件。导向器的示例是磁盘适配器(da)、主机适配器(ha)等。

一个或多个内部逻辑通信路径可以存在于da、ha和高速缓存存储器124之间。例如,实施例可以使用一个或多个内部总线和/或通信模块。例如,高速缓存存储器124可以用于促进数据存储系统中的da和ha之间的数据传送和其他通信。

数据存储系统12可以包括多个存储设备,诸如在包括n行磁盘或更一般地数据存储设备17a-17n的布置中包括的磁盘设备或卷。在这种布置中,磁盘的每一行可以连接到磁盘适配器(“da”)或负责去往和来自磁盘17的一部分的操作的后端管理的导向器。在诸如由emc公司的数据存储系统中,后端da也可以称为磁盘控制器。da可以执行诸如从由da所服务的物理设备读取数据和向由da所服务的物理设备写入数据的操作。

主机14可以通过连接114向数据存储系统发布i/o操作。例如,主机可以发布用于将数据写入存储设备17的一部分的写入操作。在一个实施例中,写入操作的数据可以首先存储在高速缓存124中,然后由da126在稍后的时间点将其离台到物理存储设备17。上述主机写入操作是由客户端发布的上述类型的i/o操作的示例。单个客户端i/o操作可以取决于i/o被导向的设备如何被配置,导致实际上将数据写入一个或多个存储设备。当执行由前端适配器122接收到的读取i/o操作时,处理可以首先确定所请求的数据是否已经在高速缓存124中(从而导致高速缓存命中或读取命中)。如果所请求的读取数据在高速缓存124中,则从高速缓存124取回数据并将其返回到主机14。因此,可以对导致高速缓存命中的读取进行服务,而不必访问针对数据的物理存储设备17。如果所请求的数据不在高速缓存124中,则数据由da126从存储设备128取回,存储在高速缓存124中,然后由前端适配器122返回给主机14。

高速缓存124的示例可以包括但不限于易失性、固态、高速缓存存储器系统(例如,动态ram高速缓存存储器系统)和/或非易失性、固态、高速缓存存储器系统(例如,基于闪存的高速缓存存储器系统)。

如在以下段落和附图中并且参考图1更详细地描述的,sp114a、114b中的每一个可以具有表示数据存储配置的各种逻辑和物理方面的诸如对象模型的数据模型的自身实例。数据模型可以包括表示数据存储系统中的物理和逻辑实体的对象。例如,对象可以存在于表示数据存储系统配置的模型中,由此对象可以表示诸如物理驱动器(pd)的物理实体和诸如raid组、lun等的逻辑实体。

参考图3,示出了表示如何使用数据存储系统最佳实践来形成存储池的示例。示例50图示了可以从物理设备组如何构建存储池。例如,raid组116a可以由物理设备60a形成。策略的数据存储系统最佳实践可以指定针对正被形成的存储池类型的特定磁盘和配置。例如,对于当形成存储池时的第一数据存储系统类型上的物理设备60a,raid-5可以以4+1配置(例如,4个数据驱动器和1个校验驱动器)使用。raid组164a可以提供多个数据存储lun62a。一个实施例还可以利用lun62a顶部上的一个或多个附加逻辑设备层来形成一个或多个逻辑设备卷61a。所使用的特定附加逻辑设备层(如果有的话)可以随数据存储系统而改变。应当注意的是,62a的lun和61a的卷之间可能不存在1-1对应关系。以类似的方式,设备卷61b可以从物理设备60b被形成或被配置。示例50的存储池1图示了用于定义单个存储池的两个raid组,但是更一般地,在使用raid技术的实施例中,一个或多个raid组可以被使用以用于形成存储池。

数据存储系统12还可以包括一个或多个映射设备70-74。映射设备(例如,“瘦逻辑单元”、“直接逻辑单元”)向在主机上运行的一个或多个应用呈现逻辑存储空间,其中逻辑存储空间的不同部分可以具有或可以不具有与其相关联的对应物理存储空间。然而,映射的设备不会直接映射到物理存储空间。相反,针对其物理存储空间存在的映射存储设备的部分被映射到诸如设备卷61a-61b的数据设备,设备卷61a-61b是将数据设备的逻辑存储空间映射到物理设备60a-60b上的物理存储空间的逻辑设备。因此,映射设备的逻辑存储空间的访问导致指示没有对应的物理存储空间尚未被分配的空指针(或等效物),或者导致对数据设备的引用,其进而引用底层物理存储空间。磁盘可以是存储系统内的物理磁盘。lun可以是用于逻辑单元的标识符的逻辑单元号。每个数据片可以具有到其开始和结束的物理驱动器的位置的映射。

参考图4,示出了更详细的流程图,流程图示出了管理存储系统中的存储设备。还参考图1-3,实时地监测关于在存储系统中的存储设备上执行的存储设备操作集合的信息(步骤400)。在该技术的至少一个实施例中,连续地监测关于在存储设备上执行的存储设备操作集合的信息。例如,关于存储设备操作集合的信息包括针对每个存储设备操作的输入/输出(i/o)延迟,其中针对存储设备操作的i/o延迟指示完成存储设备操作耗费的时间量。

在示例实施例中,i/o延迟的监测在存储系统的设备映射器部件中实现,该设备映射器部件将物理块设备映射到更高级的虚拟、逻辑或映射块设备的。因此,当对设备映射器部件中包括的i/o延迟监测逻辑进行修改时,仅在设备映射器部件中进行修改,从而避免对存储系统的整个i/o堆栈的全局改变。因此,在操作系统的内核中未实现对i/o延迟的监测。(内核将应用软件连接到计算机的硬件。)

在该技术的至少一个实施例中,针对该存储设备操作集合的i/o延迟数据被监测,并且在至少一个指定的时间间隔收集这种i/o延迟数据的样本。在示例实施例中,该方法持续监测磁盘i/o延迟数据,并且以特定的时间间隔连续地对存储设备的这种i/o延迟数据进行采样。在另一示例实施例中,对每个i/o数据进行采样。在另一示例实施例中,针对存储系统中的至少一个存储设备连续采样i/o数据。

在该技术的至少一个实施例中,实时地分析信息(步骤401)。例如,启发法被应用于采样的i/o延迟数据以标识慢存储设备。在该技术的至少一个实施例中,当应用启发法时,与i/o延迟数据相关联的正态分布被标识。在示例实施例中,可以使用例如统计测试(诸如anderson-darling测试)来检测正态分布。在该示例实施例中,可以将统计测试应用于采样的i/o延迟数据,以确定在绘制时采样的i/o延迟数据是否遵循正态分布曲线。应当注意,可以使用标识采样i/o延迟数据内的正态分布的任何技术。

在该技术的至少一个实施例中,如果用于存储设备的采样i/o延迟数据符合正态分布,并且采样i/o延迟数据的特定百分比超过延迟阈值,则存储设备被标识为慢存储设备。例如,慢存储设备上的大多数i/o延迟大于10毫秒,甚至这种慢存储设备的更多i/o延迟大于300毫秒。在该示例实施例中,300毫秒和用于特定存储设备的所有i/o请求的80%可以是用于确定存储设备是否是慢存储设备的阈值。因此,300毫秒的延迟可能表示潜在的慢存储设备。如果存储设备的所有i/o请求的85%耗费超过300毫秒的时间,则该方法可能会将存储设备识别为慢存储设备。

在示例实施例中,该方法可以应用启发法来检测采样的i/o延迟数据内的正态分布和/或标识采样的i/o延迟数据的特定百分比超过延迟阈值。这两个启发法测试可以单独或一起应用,并且可以以任何顺序应用。基于对i/o延迟数据的实时分析的结果,该方法确定存储设备是否可以被标识为慢存储设备(步骤402)。因此,在该技术的至少一个实施例中,在存储系统继续操作的同时动态地检测慢存储设备,并且在这种慢存储设备故障之前检测到这种慢存储设备。

在该技术的至少一个实施例中,在存储系统继续操作的同时该方法在存储系统上执行至少一个动作以隔离慢存储设备。对于本文公开的实施例存在几个优点。例如,当慢存储设备被隔离时,存储系统继续操作。因此,在该技术的至少一个实施例中,重新启动存储系统被避免。在该技术的至少另一实施例中,由于在慢存储设备发生故障之前以及时的方式将存储设备检测为慢存储设备,所以避免了对存储系统上被标识为慢存储设备的存储设备执行重建。在该技术的至少又一实施例中,重新格式化在慢存储设备上组织的文件系统被避免,因为存储设备以及时的方式被检测为慢存储设备,从而避免了当慢存储设备最终故障时重新格式化文件系统的需要。此外,在该技术的至少又一实施例中,通过以及时的方式将存储设备检测为慢存储设备,也避免了存储系统中的慢存储设备的故障。

应当再次强调的是,上述技术实现是通过说明的方式提供的,并且不应被解释为将本发明限制于任何具体实施例或实施例组。例如,本发明可以在其他类型的系统中实现,使用不同的处理设备和处理操作的布置。此外,所利用的消息格式和通信协议可以在备选实施例中改变。此外,在描述说明性实施例的过程中做出的各种简化假设也应被视为示例性的而不是本发明的要求或限制。在所附权利要求的范围内的许多备选实施例对于本领域技术人员将是显而易见的。

此外,如本领域技术人员将理解的,本公开可以被实现为方法、系统或计算机程序产品。因此,本公开可以采取完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等),或者将软件和硬件方面组合的实施例的形式,其可以在本文中通常被称为“电路”、“模块”或“系统”。此外,本公开可以采用计算机可用存储介质上的计算机程序产品的形式,该计算机可用存储介质具有在介质中体现的计算机可用程序代码。

图中的流程图和框图图示了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这方面,流程图或框图中的每个块可以表示代码的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。还应当注意的是,在一些备选的实施方式中,框中记载的功能可能不以图中所示的顺序发生。例如,连续示出的两个框实际上可以基本同时地执行,或者框可以有时根据所涉及的功能以相反的顺序执行。还将注意到,框图和/或流程图图示的每个框和框图和/或流程图图示中的框的组合可以由执行指定功能或动作的基于专用硬件的系统或专用硬件和计算机指令的组合来实现。

本文使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如本文所使用的,单数形式“一”、“一个”和“该”也旨在包括复数形式,除非上下文另有明确指示。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其它特征、整体、步骤、操作、元件、部件和/或其组合的存在或添加。

虽然已经结合所示出和详细描述的优选实施例公开了本发明,但是对于本领域的技术人员来说,对其的修改和改进将变得显而易见。因此,本发明的精神和范围应仅由所附权利要求限定。

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