CN116737056A - 基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 - Google Patents
基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 Download PDFInfo
- Publication number
- CN116737056A CN116737056A CN202210213889.6A CN202210213889A CN116737056A CN 116737056 A CN116737056 A CN 116737056A CN 202210213889 A CN202210213889 A CN 202210213889A CN 116737056 A CN116737056 A CN 116737056A
- Authority
- CN
- China
- Prior art keywords
- storage
- performance
- clustered
- tiers
- given
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 916
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000015654 memory Effects 0.000 claims description 127
- 238000000034 method Methods 0.000 claims description 35
- 230000004044 response Effects 0.000 claims description 32
- 230000000694 effects Effects 0.000 claims description 23
- 238000012544 monitoring process Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000003491 array Methods 0.000 description 47
- 230000008569 process Effects 0.000 description 22
- 230000008901 benefit Effects 0.000 description 20
- 230000008859 change Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000001747 exhibiting effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 235000019633 pungent taste Nutrition 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5033—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3495—Performance evaluation by tracing or monitoring for systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0605—Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种设备,包括处理装置,所述处理装置被配置为:对利用与集群存储系统中的第一存储层级相关联的第一类型存储资源进行存储的给定的存储对象的输入/输出模式进行分类;以及针对所述分类的输入/输出模式,识别利用与所述集群存储系统中的第一存储层级和第二存储层级相关联的第一类型和第二类型存储资源之间的性能差异。所述处理装置还被配置为:至少部分地基于所述识别的性能差异,确定是否将所述给定的存储对象从与所述第一存储层级相关联的所述第一类型存储资源移动到与所述集群存储系统中的所述第二存储层级相关联的所述第二类型存储资源;以及响应于所述确定,将所述给定的存储对象移动到与所述第二存储层级相关联的所述第二类型存储资源。
Description
技术领域
本领域总体上涉及信息处理,并且更具体地涉及信息处理系统中的存储。
背景技术
存储阵列和其他类型的存储系统通常由多个主机装置通过网络进行共享。在主机装置上运行的应用程序各自包括执行应用程序功能性的一个或多个过程。此类过程发出针对递送到存储系统的输入-输出(IO)操作请求。存储系统的存储控制器为针对IO操作的此类请求提供服务。在一些信息处理系统中,多个存储系统可用于形成存储集群。
发明内容
本公开的说明性实施方案提供了用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的技术。
在一个实施方案中,一种设备包括至少一个处理装置,所述至少一个处理装置包括耦合到存储器的处理器。所述至少一个处理装置被配置为执行以下步骤:至少部分地基于在指定的时间段内监控给定的存储对象的输入/输出操作来对与所述给定的存储对象相关联的输入/输出模式进行分类,所述给定的存储对象利用集群储存系统中的两个或更多个存储系统中的给定的存储系统中的第一类型存储资源进行存储,所述第一类型存储资源与所述集群存储系统中的两个或更多个存储层级中的第一存储层级相关联。所述至少一个处理装置也被配置为执行以下步骤:针对所述分类的输入/输出模式,识别以下两项之间的性能差异:(i)利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源,以及(ii)利用与所述集群存储系统中的所述两个或更多个存储层级中的至少第二存储层级相关联的至少第二类型存储资源。所述至少一个处理装置还被配置为执行以下步骤:至少部分地基于所述识别的性能差异来确定是否将所述给定的存储对象从利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源;以及响应于所述确定,将所述给定的存储对象移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源。
这些和其他说明性实施方案包括但不限于方法、设备、网络、系统以及处理器可读存储介质。
附图说明
图1是在说明性实施方案中的用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的信息处理系统的框图。
图2是在说明性实施方案中的用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的示例性过程的流程图。
图3示出了在说明性实施方案中的存储访问数据模式趋势的曲线图。
图4A至图4C示出了在说明性实施方案中的用于存储在不同存储层级上的具有第一输入/输出模式的存储对象的不同性能度量的曲线图。
图5A至图5C示出了在说明性实施方案中的用于存储在不同存储层级上的具有第二输入/输出模式的存储对象的不同性能度量的曲线图。
图6A至图6C示出了在说明性实施方案中的用于存储在不同存储层级上的具有第三输入/输出模式的存储对象的不同性能度量的曲线图。
图7A至图7C示出了在说明性实施方案中的用于存储在不同存储层级上的具有第四输入/输出模式的存储对象的不同性能度量的曲线图。
图8示出了总结在说明性实施方案中的用于存储在不同存储层级上的具有第一至第四输入/输出模式的存储对象的性能度量的表。
图9示出了在说明性实施方案中的用于考虑到存储对象的输入/输出模式的存储对象重定位的过程流程。
图10示出了在说明性实施方案中的示例存储对象及其相关联的输入/输出模式和当前存储层级位置的表。
图11示出了在说明性实施方案中的基于存储对象的相关联输入/输出模式来提升存储对象的性能差异和性能收益的表。
图12示出了在说明性实施方案中的存储对象重定位指导的表。
图13A至图13D示出了在说明性实施方案中的考虑到和未考虑到存储对象的输入/输出模式的存储对象重定位的示例。
图14和图15示出了说明性实施方案中的可用于实现信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文中将参考示例性信息处理系统和相关联的计算机、服务器、存储装置和其他处理装置来描述说明性实施方案。然而,应当理解,实施方案不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所用的术语“信息处理系统”意图广泛地被解释,以便涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可包括例如至少一个数据中心或其他类型的包括托管访问云资源的租户的一个或多个云的基于云的系统。
图1示出了信息处理系统100,所述信息处理系统根据说明性实施方案被配置为提供基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的功能性。信息处理系统100包括一个或多个主机装置102-1、102-2、……102-N(统称为102),所述一个或多个主机装置通过网络104与一个或多个存储阵列106-1、106-2、......106-M(统称为106)通信。网络104可包括存储区域网(SAN)。
存储阵列106-1(如图1所示)包括多个存储装置108,每个存储装置存储由在主机装置102上运行的一个或多个应用程序所利用的数据。存储装置108说明性地布置在一个或多个存储池中。存储阵列106-1还包括有利于存储装置108的输入/输出(IO)处理的一个或多个存储控制器110。存储阵列106-1及其相关联的存储装置108是本文更一般地称为“存储系统”的示例。本实施方案中的这种存储系统由主机装置102共享,并且因此在本文中也被称为“共享存储系统”。在只有单个主机装置102的实施方案中,主机装置102可以被配置为独占使用存储系统。
主机装置102说明性地包括能够经由网络104与存储阵列106通信的相应的计算机、服务器或其他类型的处理装置。例如,主机装置102的至少子集可被实现为计算服务平台或其他类型的处理平台的相应虚拟机。这种布置中的主机装置102说明性地提供计算服务,诸如代表与主机装置102中的相应主机装置相关联的一个或多个用户中的每一者执行一个或多个应用程序。
本文中的术语“用户”意图广泛地被解释,以便涵盖人、硬件、软件或固件实体以及此类实体的组合的许多布置。
可在平台即服务(PaaS)模型、基础设施即服务(IaaS)模型、功能即服务(FaaS)模型和/或存储即服务(STaaS)模型下为用户提供计算和/或存储服务,但是应当理解,可使用许多其他云基础设施布置。而且,说明性实施方案可在云基础设施上下文之外实现,如在给定的企业内实现的独立式计算和存储系统的情况下。
存储阵列106-1的存储装置108可实现被配置为存储与主机装置102相关联的用户的对象的逻辑单元(LUN)。这些对象可包括文件、块或其他类型的对象。主机装置102利用读取和写入命令以及通过网络104传输的其他类型的命令与存储阵列106-1交互。在一些实施方案中,此类命令更特别地包括小型计算机系统接口(SCSI)命令,但是在其他实施方案中,可使用其他类型的命令。如该术语在本文中广泛地使用,给定的IO操作说明性地包括一个或多个此类命令。本文中对诸如“输入-输出”和“IO”的术语的引用应当被解释为是指输入和/或输出。因此,IO操作与输入和输出中的至少一者相关。
另外,如本文中所使用的术语“存储装置”意图广泛地被解释,以便涵盖例如逻辑存储装置,诸如LUN或其他逻辑存储卷。逻辑存储装置可被定义为在存储阵列106-1中包括一个或多个物理存储装置的不同部分。因此,存储装置108可被视为包括相应的LUN或其他逻辑存储卷。
存储阵列106-1的存储装置108可使用固态驱动器来(SSD)实现。此类SSD使用诸如闪存存储器的非易失性存储器(NVM)装置来实现。可用来实现存储装置108的至少一部分的其他类型的NVM装置包括非易失性随机存取存储器(NVRAM)、相变RAM(PC-RAM)和磁性RAM(MRAM)。还可使用多种不同类型的NVM装置或其他存储装置的这些和各种组合。例如,硬盘驱动器(HDD)可与SSD或其他类型的NVM装置组合使用,或代替SSD或其他类型的NVM装置使用。因此,许多其他类型的电子或磁性介质可用于实现存储装置108的至少子集。
在图1的信息处理系统100中,假定存储阵列106是存储集群105的一部分(例如,其中存储阵列106可用于实现包括通过一个或多个网络互连的多个存储节点的集群存储系统中的一个或多个存储节点),并且假定主机装置102提交要由存储集群105处理的IO操作。假定存储阵列106的存储控制器中的至少一者(例如,存储阵列106-1的存储控制器110)实现用于跨存储阵列106-1的存储装置108(例如,在存储装置108或其部分中的提供存储集群105中的不同存储层级的不同存储装置或其部分之间)并且在存储阵列106-1与存储阵列106-2至106-M中的一个或多个其他存储阵列之间进行智能数据移动的功能性。经由存储对象IO模式分类模块112和存储对象移动模块114来提供此类智能数据移动功能性。
如上所述,假定图1的实施方案中的存储阵列106是存储集群105的一部分。假定存储集群105提供或实现多层级存储系统的多个不同存储层级。举例来说,给定的多层级存储系统可包括使用闪存存储装置或其他类型的SSD实现的快速层级或性能层级,以及使用HDD实现的容量层级,其中可能有一个或多个此类层级是基于服务器的。如对于本领域技术人员将显而易见,在其他实施方案中可使用多种其他类型的存储装置和多层级存储系统。在给定的存储层级中使用的特定存储装置可根据给定的实施方案的特定需要而变化,并且在单个存储层级内可使用多种不同的存储装置类型。如先前所指示,如本文中所使用的术语“存储装置”意图广泛地被解释,并且因此可涵盖例如SSD、HDD、固态驱动器、混合驱动器或其他类型的存储产品和装置或其部分,并且说明性地包括逻辑存储装置诸如LUN。
应当了解,多层级存储系统可包括多于两个存储层级,诸如一个或多个“性能”层级和一个或多个“容量”层级,其中性能层级相对于容量层级说明性地提供增加的IO性能特性,并且说明性地使用比性能层级相对更低成本的存储来实现容量层级。也可存在各自根据需要提供不同水平的服务或性能的多个性能层级或者多个容量层级。
存储对象IO模式分类模块112被配置为基于在一段时间内监控存储对象的IO操作来对存储对象的IO模式进行分类。可基于各种标准来确定IO模式,所述标准包括但不限于存储对象的大小、存储对象的读/写比、存储对象的随机/顺序比等。存储对象移动模块114被配置为至少部分地基于由存储对象IO模式分类模块112提供的分类来确定是否重定位存储对象以及重定位在哪里。例如,可针对每个IO模式来识别存储集群105的不同存储层级的性能差异(例如,表征呈现特定IO模式的存储对象如何在存储集群105的不同存储层级上执行的识别的性能差异)。基于IO模式的此类识别的性能差异,存储对象移动模块114将确定存储对象是否应在存储集群105的存储层级之间移动。存储对象移动模块114然后将基于此类确定来移动存储对象,其中这种移动可以是在存储阵列内或在存储阵列间,如本文中其他地方所述。
尽管在图1的实施方案中,存储对象IO模式分类模块112和存储对象移动模块114被示出为在存储阵列106-1内部和在存储控制器110外部实现,但是在其他实施方案中,存储对象IO模式分类模块112和存储对象移动模块114中的一者或两者可至少部分地在存储控制器110内部或至少部分地在存储阵列106-1外部实现,诸如在主机装置102中的一者、存储阵列106-2至106-M中的一个或多个其他存储阵列上、在主机装置102和存储阵列106外部的一个或多个服务器上实现(例如,包括在云计算平台或其他类型的信息技术(IT)基础设施上实现)等。此外,尽管图1中未示出,但是存储阵列106-2至106-M中的其他存储阵列可实现存储对象IO模式分类模块112和存储对象移动模块114的相应实例。
存储对象IO模式分类模块112和存储对象移动模块114的功能性的至少一些部分可至少部分地以存储在存储器中并由处理器执行的软件的形式来实现。
图1的实施方案中的主机装置102和存储阵列106被假定为使用至少一个处理平台来实现,其中每个处理平台包括一个或多个处理装置,每个处理装置具有耦合到存储器的处理器。此类处理装置可说明性地包括计算、存储和网络资源的特定布置。例如,在一些实施方案中,处理装置至少部分地利用虚拟资源来实现,诸如虚拟机(VM)或Linux容器(LXC)或这两者的组合,如在Docker容器或其他类型的LXC被配置为在VM上运行的布置中。
尽管主机装置102和存储阵列106可在相应的不同处理平台上实现,但是许多其他布置是可能的。例如,在一些实施方案中,主机装置102中的一者或多者以及存储阵列106中的一者或多者的至少部分在同一处理平台上实现。存储阵列106中的一者或多者因此可至少部分地在实现主机装置102的至少子集的至少一个处理平台内实现。
网络104可使用多个不同类型的网络来实现以将存储系统部件互连。例如,网络104可包括作为诸如互联网的全球计算机网络的一部分的SAN,但是其他类型的网络可以是SAN的一部分,包括广域网(WAN)、局域网(LAN)、卫星网络、电话或电缆网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型网络的各种部分或组合。因此,在一些实施方案中,网络104包括多种不同类型的网络的组合,每种网络包括被配置为使用互联网协议(IP)或其他相关通信协议进行通信的处理装置。
作为更特定的示例,一些实施方案可利用一个或多个高速局域网络,其中相关联的处理装置利用那些装置的外围部件互连快速(PCIe)卡和诸如无线带宽、吉比特以太网或光纤通道的网络协议进行彼此通信。在给定的实施方案中,许多替代的网络布置是可能的,如本领域技术人员将了解。
尽管在一些实施方案中,由主机装置102用来与存储阵列106通信的某些命令说明性地包括SCSI命令,但是在其他实施方案中可使用其他类型的命令和命令格式。例如,一些实施方案可利用与NVM快速(NVMe)相关联的命令特征和功能性来实现IO操作,如在NVMe规范,版本1.3,2017年5月中所描述,所述规范以应用方式并入本文。可在本文中公开的说明性实施方案中利用的这种类型的其他存储协议包括架构上NVMe(也称为NVMeoF)和基于传输控制协议(TCP)的NVMe(也称为NVMe/TCP)。
假定本实施方案中的存储阵列106-1包括使用存储阵列106-1的闪存存储器或其他类型的非易失性存储器实现的持久性存储器。更具体的示例包括基于NAND的闪存存储器或其他类型的非易失性存储器,诸如电阻式RAM、相变存储器、自旋扭矩转换磁电阻式RAM(STT-MRAM)以及基于3D XPointTM存储器的Intel OptaneTM装置。进一步假定持久性存储器与存储阵列106-1的存储装置108是分开的,但是在其他实施方案中,持久性存储器可被实现为存储装置108中的一者或多者的一个或多个指定部分。例如,在一些实施方案中,存储装置108可包括基于闪存的存储装置,如在涉及全闪存存储阵列的实施方案中,或者可完全地或部分地使用其他类型的非易失性存储器来实现。
如上述所述,主机装置102与存储阵列106之间的通信可利用PCIe连接或通过一个或多个网络实现的其他类型的连接。例如,说明性实施方案可以使用诸如互联网SCSI(iSCSI)、串行附接SCSI(SAS)和串行ATA(SATA)的接口。在其他实施方案中可使用许多其他接口和相关联的通信协议。
在一些实施方案中,存储阵列106可被实现为基于云的系统的一部分。
因此,应当明白,如本文中所使用的术语“存储阵列”意图广泛地被解释,并且可涵盖可商购获得的存储阵列的多个不同的实例。
可用于实现说明性实施方案中的给定存储系统的其他类型的存储产品包括软件定义的存储、云存储、基于对象的存储和向外扩展存储。在说明性实施方案中,这些和其他存储类型中的多个存储类型的组合也可用于实现给定的存储系统。
在一些实施方案中,存储系统包括以主动-主动配置布置的第一存储阵列和第二存储阵列。例如,这种布置可用于确保利用同步复制过程将存储在存储阵列中的一者的数据复制到存储阵列中的其他存储阵列。跨多个存储阵列的这种数据复制可用于促进系统100中的故障恢复。因此,存储阵列中的一者可相对于作为备用或恢复存储阵列操作的其他存储阵列而作为生产存储阵列进行操作。
然而,应当了解,本文中公开的实施方案不限于主动-主动配置或任何其他特定的存储系统布置。因此,本文中的说明性实施方案可使用多种其他布置进行配置,所述多种其他布置包括例如主动-被动布置、主动-主动非对称逻辑单元访问(ALUA)布置以及其他类型的ALUA布置。
这些和其他存储系统可以是在本文中更一般地称为处理平台的一部分,所述处理平台包括一个或多个处理装置,每个处理装置包括耦合到存储器的处理器。给定的这种处理装置可对应于一个或多个虚拟机或者其他类型的虚拟化基础设施,诸如Docker容器或其他类型的LXC。如上文所指示,系统100的此类元件之间的通信可通过一个或多个网络来进行。
如本文中所使用的术语“处理平台”意图广泛地被解释以便涵盖(以说明方式但不限于)被配置为通过一个或多个网络进行通信的多组处理装置和一个或多个相关联的存储系统。例如,主机装置102的分布式实现方式是可能的,其中主机装置102中的某些主机装置驻留在处于第一地理位置的一个数据中心中,而主机装置102中的其他主机装置驻留在处于可能远离第一地理位置的一个或多个其他地理位置的一个或多个其他数据中心中。存储阵列106可至少部分地在第一地理位置、第二地理位置和一个或多个其他地理位置实现。因此,在系统100的一些实现方式中,主机装置102和存储阵列106中的不同主机装置和存储阵列可能驻留在不同的数据中心中。
主机装置102和存储阵列106的许多其他分布式实现方式是可能的。因此,主机装置102和存储阵列106也可通过分布式方式跨多个数据中心实现。
说明性实施方案中的用于实现系统100的部分的处理平台的附加示例将在下面结合图14和图15更详细地描述。
应当理解,图1中示出的用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的一组特定元件仅通过说明性示例的方式来呈现,并且在其他实施方案中,可使用附加或替代的元件。因此,另一个实施方案可包括附加或替代的系统、装置和其他网络实体以及模块和其他部件的不同布置。
应当了解,说明性实施方案的这些和其他特征仅通过示例方式呈现,并且不应以任何方式解释为限制。
现在将参考图2的流程图更详细地描述用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的示例性过程。应当理解,该特定过程仅是示例,并且在其他实施方案中,可使用用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的附加或替代过程。
在该实施方案中,所述过程包括步骤200至206。假定这些步骤由存储对象IO模式分类模块112和存储对象移动模块114执行。所述过程以步骤200开始,所述步骤至少部分地基于在指定的时间段内监控给定的存储对象的IO操作来对与给定的存储对象相关联的IO模式进行分类。给定的存储对象利用集群存储系统中的两个或更多个存储系统中的给定存储系统中的第一类型存储资源进行存储,所述第一类型存储资源与集群存储系统中的两个或更多个存储层级中的第一存储层级相关联。步骤200可至少部分地基于给定的存储对象的大小、在指定的时间段内给定的存储对象的读操作与写操作的比,以及在指定的时间段内涉及给定的存储对象的顺序IO操作与随机IO操作的比。
在步骤202中,针对经分类的IO模式来识别以下两项之间的性能差异:(i)利用与集群存储系统中的两个或更多个存储层级中的第一存储层级相关联的第一类型存储资源,以及(ii)利用与集群存储系统中的两个或更多个存储层级中的至少第二存储层级相关联的至少第二类型存储资源。步骤202可包括评估利用与集群存储系统中的两个或更多个存储层级中的第一存储层级相关联的第一类型存储资源存储的具有经分类的IO模式的第一组一个或多个存储对象的第一性能,以及评估利用与集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的第二类型存储资源存储的具有经分类的IO模式的第二组一个或多个存储对象的第二性能。第一性能和第二性能可由一组性能度量表征,所述一组性能度量包括带宽度量、每秒IO操作(IOPS)度量以及响应时间度量。
在步骤204中,至少部分地基于识别的性能差异来作出是否将给定的存储对象从利用与集群存储系统中的两个或更多个存储层级中的第一存储层级相关联的第一类型存储资源进行存储移动到与集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的第二类型存储资源的确定。步骤204中的确定是否将给定的存储对象从利用与集群存储系统中的两个或更多个存储层级中的第一存储层级相关联的第一类型存储资源进行存储移动到与集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的第二类型存储资源可进一步至少部分地基于在指定的时间段内给定的存储对象的IO活动级别。可基于在指定的时间段内给定的存储对象的被监控的输入/输出操作的计数来确定在指定的时间段内给定的存储对象的IO活动级别。
在步骤206中,响应于步骤204的确定而将给定的存储对象移动到与集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的第二类型存储资源。步骤206可包括响应于确定给定的存储系统具有第二类型的足够的可用存储资源来存储给定的存储对象而将给定的存储对象从给定的存储系统上的第一类型存储资源移动到给定的存储系统上的第二类型存储资源,以及响应于确定给定的存储系统没有第二类型的足够的可用处处资源来存储给定的存储对象而将给定的存储对象从给定的存储系统上的第一类型存储资源移动到集群存储系统中的两个或更多个存储系统中的另一个存储系统上的第二类型存储资源。至少部分地基于集群存储系统中的两个或更多个存储系统中的每一者上的第二类型的可用存储资源的相应量来选择两个或更多个存储系统中的另一存储系统。
在一些实施方案中,集群存储系统中的两个或更多个存储层级中的第一存储层级提供第一性能级别,所述第一性能级别大于由集群存储系统中的两个或更多个存储层级中的第二存储层级提供的第二性能级别,并且响应于识别的性能差异小于指定的阈值而执行步骤206。可至少部分地基于以下项来设置指定的阈值:集群存储系统中的两个或更多个存储层级中的第一存储层级的第一性能级别与集群存储系统中的两个或更多个存储层级中的第;存储层级的第二性能级别之间的可接受性能损失;以及与将给定的存储对象从集群存储系统中的两个或更多个存储层级中的第一存储层级移动到集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的成本。
在其他实施方案中,集群存储系统中的两个或更多个存储层级中的第一存储层级提供第一性能级别,所述第一性能级别小于由集群存储系统中的两个或更多个存储层级中的第二存储层级提供的第二性能级别,并且响应于识别的性能差异大于指定的阈值而执行步骤206。可至少部分地基于以下项来设置指定的阈值:集群存储系统中的两个或更多个存储层级中的第一存储层级的第一性能级别与集群存储系统中的两个或更多个存储层级中的第二存储层级的第二性能级别之间的性能增益;以及与将给定的存储对象从集群存储系统中的两个或更多个存储层级中的第一存储层级移动到集群存储系统中的两个或更多个存储层级中的第二存储层级相关联的成本。
在数据中心或其他类型的IT基础架构(包括云计算平台)中,可能存在许多不同的存储阵列,每个存储阵列都有其自身的特性和优势以用于不同类型的工作负载。例如,与业务或其他企业相关联的数据中心可通过利用此类存储阵列的不同特性(包括存储阵列中的每一者内的存储装置的不同特性)向客户或其他用户提供高质量的全面服务。在一些情况下,存储阵列是集群存储系统(在本文中也称为存储集群、存储阵列集群或阵列集群)的一部分。
在阵列集群级别,随着业务需求的变化,不同数据的“热度”可能会不断变化。热度或IO温度可表征数据访问频率(例如,当前时间的指定阈值内的IO请求数量)或其他类型的IO度量。由于此类热度变化,当前驻留在高性能存储阵列上的数据可能变冷,而驻留在低性能存储阵列上的数据可能变热。为了优化性能,因此需要在阵列集群中的不同阵列之间进行自助数据移动(例如,根据数据访问频率)。此类自助数据移动可包括打破阵列集群中的存储阵列之间的壁垒、将热数据移动到高性能存储阵列、将冷数据归档到较低性能存储阵列等。这有利地为客户或其他终端用户提供各种益处(例如,提高性能、降低成本、改善存储利用效率以及加快阵列集群中的客户业务处理等)。
对于一些存储阵列和阵列集群,数据移动功能性可用于在不同的存储阵列或平台和云存储平台之间扩展存储分层、在异构存储资源之间移动数据、在存储集群级别和可能地跨数据中心充分地利用存储资源等。在一些存储阵列中,这种数据移动功能性可包括全自动化存储分层(FAST)技术以及其扩展(被称为FAST Sideways或FAST.X)。例如,Dell EMCVMAX存储阵列可实现FAST提示,这向用户提供基于业务优先级和其他服务级目标(SLO)来加速任务关键性过程的方式。FAST提示有利地是应用程序感知的,并且利用存储和性能分析器来监控不同工作负载的读写状态,以将提示发送给存储阵列以获取可能在给定的时间段内访问的数据。IT管理员可创建FAST提示配置文件,这些配置文件被赋予优先级并且被一次性、持续地或反复地(例如,每天、每周、每月等)调度并具有预期的执行持续时间。可经由存储阵列的分析软件的分析选项卡(例如,Unisphere中用于VMAX阵列的数据库存储分析器界面)提供此类提示。
基于所提供的提示,性能分析器可在采取动作之前等待增加的工作负载需求。例如,FAST可通过提示管理器应用程序编程接口(API)从数据库存储分析器接收提示,并且根据优先级集(例如,闪存和串行附接SCSI(SAS)存储装置的混合)主动地调整存储装置的混合。存储装置的混合可自动地调整,并且需要保持SLO完整且不会覆盖先前的SLO。FAST或其他数据移动功能性提供了为在特定业务时期内需要对任务关键型应用程序的最佳响应时间的客户或终端用户递送领先的应用程序感知功能性的能力。
除了通过FAST提示进行的优化外,数据服务还可通过FAST.X扩展到存储阵列本身之外并跨数据中心。FAST.X有利地将存储分层和服务级别管理演变并扩展到其他存储平台以及云存储。FAST.X实现跨由各种块装置提供的存储技术(例如,包括Dell EMC XtremIO、VNX、CloudArray和其他类型的存储)进行数据移动。FAST.X简化了管理和操作,并且在其控制下整合了异构存储。FAST.X也进一步将SLO管理扩展到外部存储阵列。实现跨外部存储阵列进行SLO管理实现根据不同的工作负载和要求的需求来轻松地集成不同的设备。FAST.X可大规模简化管理,从而以与内部SLO设置相同的简单性提供跨存储阵列的工作负载优化。FAST的高级自动化优化客户或其他终端用户的工作负载,以自动地应用必要量的资源,并且FAST.X根据相同的指定性能和可用性标准将该功能扩展到外部存储阵列。如上所述,FAST.X也可与云存储集成在一起,诸如以将活动较少的工作负载移动到更具成本效益的云存储。
如上所讨论,FAST.X技术可用于在不同的存储平台和云之间扩展存储分层,从而实现在异构存储之间移动数据以在存储集群级别且甚至在数据中心级别更充分地利用存储资源。FAST.X技术可用于将“热”数据(例如,具有高访问频率的数据)移动到高性能存储阵列,而将“冷”数据(例如,具有低访问频率的数据)归档到节约成本的较低性能存储阵列。这可向终端用户提供显著的益处,从而提高存储系统利用效率并且加速存储集群中的终端用户处理。
说明性实施方案提供了通过在存储对象重定位选择期间确定并考虑到存储阵列集群的多个存储层级之间的IO模式性能差异来提高FAST.X和其他类型的存储对象重定位机制(例如,对于存储阵列内和存储阵列问数据移动)的效率的技术。有利地,一些实施方案在存储对象重定位选择期间考虑到存储对象的IO模式性能差异和IO访问频率两者。因此,一些实施方案选择具有性能改善较大的相关联IO模式的存储对象进行晋升,而不选择在相邻或不同的存储层级之间没有或具有有限的性能差异的IO模式的存储对象。此外,可选择在相邻或不同的存储层级上没有或具有有限的性能差异的IO模式的存储对象以降级到更低存储层级。以此方式,一些实施方案确保被移动到更高存储层级的存储对象将提供至少一些指定阈值的性能改善,而被移动到更低存储层级的存储对象将在节约成本的同时不经历或经历最少性能损失(例如,通过将此类数据从更高且成本昂贵的存储层级移动到更低且成本更少的存储层级)。存储阵列集群IO性能(例如,包括FAST.X数据移动性能)将大大改善,同时也提高存储集群效率。
不同的应用程序可运行具有变化的IO特性的存储工作负载。因此,为了分析和调谐存储系统的性能,重要的是理解利用存储系统的应用程序或主机正在生成的存储工作负载的类型。存储工作负载可根据各种特性来描述,包括但不限于IO大小、读/写比、随机/顺序比等。图3示出了展示应用程序及其相关联的存储工作负载特性(例如,IO大小、读/写比和随机/顺序比)的各种示例的表300。此类应用程序包括:网络文件服务器、网络服务器日志、操作系统(OS)分页、交换服务器、工作站、媒体流式传输、在线事务处理(OLTP)数据和OLTP日志记录。网络文件服务器应用程序例如可具有4千字节(KB)、8KB或64KB的IO大小,具有95%读取和5%写入的读/写比以及75%随机和25%顺序的随机/顺序比。作为另一个示例,OLTP日志记录应用程序可具有512字节(B)到64KB的IO大小、100%写入的读/写比和100%随机的随机/顺序比。应当注意,在图3的表300中示出的特定应用程序及其相关联的存储工作负载特性仅通过示例方式呈现,并且在其他实施方案中,可存在利用存储系统的各种其他类型的应用程序,在图3的表300中列出的应用程序可具有其相关联的存储工作负载特性的不同值等。
对于不同的IO模式,诸如带宽、每秒IO操作(IOPS)和响应时间的性能度量在图4A至图7C中示出。图4A至图4C分别示出了对于具有4KB IO大小、70%/30%读/写比和100%/0%随机/顺序比的IO模式(表示为“4K_70R_S”且在本文中也称为IO模式P1),在SSD存储层级、SAS存储层级和近线SAS(NL-SAS)存储层级上的存储对象的曲线图400、405和410。图5A至图5C分别示出了对于具有8KB IO大小、0%/100%读/写比和0%/100%随机/顺序比的IO模式(表示为“8K_0R_100S”且在本文中也称为IO模式P2),在SSD存储层级、SAS存储层级和NL-SAS存储层级上的存储对象的曲线图500、505和510。图6A至图6C分别示出了对于具有8KB IO大小、90%/10%读/写比和100%/0%随机/顺序比的IO模式(表示为“8K_90R_0S”且在本文中也称为IO模式P3),在SSD存储层级、SAS存储层级和NL-SAS存储层级上的存储对象的曲线图600、605和610。图7A至图7C分别示出了对于具有64KB IO大小、0%/100%读/写比和0%/100%随机/顺序比的IO模式(表示为“64K_0R_0S”且在本文中也称为IO模式P4),在SSD存储层级、SAS存储层级和NL-SAS存储层级上的存储对象的曲线图700、705和710。
曲线图400、500、600和700示出了存储在SSD存储层级(例如,线401-1、501-1、601-1、701-1)、SAS存储层级(例如,线401-2、501-2、601-2、701-2)和NL-SAS存储层级(例如,线401-3、501-3、601-3、701-3)上的存储对象的LUN带宽(每秒兆字节(MB/s))与时间。曲线图405、505、605和705示出了存储在SSD存储层级(例如,线406-1、506-1、606-1、706-1)、SAS存储层级(例如,线406-2、506-2、606-2、706-2)和NL-SAS存储层级(例如,线406-3、506-3、606-3、706-3)上的存储对象的LUN IOPS(每秒IO(IO/s))与时间。曲线图410、510、610和710示出了存储在SSD存储层级(例如,线411-1、511-1、611-1、711-1)、SAS存储层级(例如,线411-2、511-2、611-2、711-2)和NL-SAS存储层级(例如,线411-3、511-3、611-3、711-3)上的存储对象的LUN响应时间(毫秒(ms))与时间。
图8示出了展示图4A至图7C所示的IO模式的性能比的表800。如从图4A至图7C的曲线图和图8的表800可看出,对于不同的存储层级,不同的IO模式具有不同的性能行为。例如,4K_70R_0S IO模式在SSD、SAS和NL-SAS存储层级之间具有相对大的性能差异(5.26∶2.21∶1)。然而,8K_0R_100S IO模式在SSD、SAS和NL-SAS存储层级之间具有相对小的性能差异(1.01∶1∶1)。随机和小IO操作在存储层级之间可具有较大的性能差异,而顺序和大IO在存储层级之间可具有较小的性能差异。
基于存储对象IO活动的数据重定位算法(例如,诸如FAST.X)不考虑存储对象的IO模式对性能的影响(例如,包括不同的存储层级的性能是否存在差异)。然而,如上文所详述,对于不同的存储层级,不同的IO模式具有不同的性能结果。对于在存储层级之间具有小性能差异的IO模式的数据,该数据的重定位不会显著地改善系统性能。换句话说,一些数据将在两个或更多个存储层级上获得相似的性能(例如,存储在SAS或NL-SAS存储层级上的数据可在存储在SSD存储层级上时实现相似的性能)。因此,此类数据可存储在较低成本的存储层级(例如,SAS或NL-SAS)而不是较高成本的存储层级(例如,SSD)上,其中对整体系统性能几乎没有影响。
如上所述,不同的IO模式可在不同的存储层级上呈现不同的性能行为。一些IO模式可跨多个不同的存储层级具有相似的性能结果,而其他IO模式可在某些存储层级上呈现改善的性能。仅考虑到IO活动的数据重定位机制可导致数据在存储层级之间移动,其中这种移动几乎不提供性能益处。在说明性实施方案中,考虑IO模式以及IO活动以确保存储对象或数据重定位操作提供某一阈值性能益处。说明性实施方案还实现数据重定位到较低成本的存储层级以释放较高成本的存储层级上的存储空间,而不一定影响整体系统性能。
在一些实施方案中,使用考虑访问频率和数据访问模式两者来计算可经由数据重定位操作实现的性能收益或改善的数据重定位机制。因此,数据重定位操作可将具有高性能收益的数据晋升到更高存储层级,并且没有或具有最少性能收益或处罚的数据降级到更低存储层级,而不会显著地影响整体系统性能。通过考虑到访问频率和数据访问模式两者,一些实施方案可确定不同的数据应重定位到的多层级存储阵列集群的适当存储层级和存储阵列,以便改善整体系统性能和成本效率两者。
对于在两个或更多个不同的存储层级(例如,“相邻的”存储层级)之间具有小性能差异(例如,小于某一指定的阈值)的IO模式的存储对象,从两个或更多个不同的存储层级中的第一存储层级(例如,更低存储层级)重定位到两个或更多个不同的存储层级中的第二存储层级(例如,更高存储层级)不提供或提供最小性能增益,使得避免此类存储对象从第一存储层级重定位到第二存储层级。类似地,为了释放第二存储层级(例如,更高存储层级)上的资源,在第一存储层级与第二存储层级之间具有较小或最小性能差异的存储对象可从第二存储层级(例如,更高存储层级)移动到第一存储层级(例如,更低存储层级)。例如,可通过将存储对象移动到更低SAS或NL-SAS存储层级来释放SSD存储层级上的空间(例如,其中此类存储对象在SSD存储层级与SAS或NL-SAS存储层级之间不呈现或呈现最小性能差异)。对于在两个或更多个不同的存储层级(例如,“相邻的”存储层级)之间具有显著性能差异(例如,大于某一指定的阈值)的IO模式的那些存储对象,此类存储对象可基于从这种存储对象重定位实现的IO活动级别和性能增益而从第一存储层级(例如,更低存储层级)重定位到第二存储层级(例如,更高存储层级),反之亦然。有利地,这种改善的存储对象重定位可改善具有多个不同的存储层级的存储阵列集群的整体吞吐量。
有利地,一些实施方案调整存储对象重定位机制(例如,FAST.X重定位机制)以考虑到与移动呈现不同的IO模式的存储对象相关联的性能影响。例如,存储对象可基于其相关联的IO模式而分类成得益于(例如,提供至少指定阈值的性能改善)或不得益于在两个或更多个不同的存储层级之间的重定位的那些模式。在一些实施方案中,只有在被确定为具有某一阈值稳定性(例如,在某一指定的时间段内)的情况下才考虑IO模式。对于具有稳定IO模式的存储对象,考虑不同的存储层级(例如,相邻的存储层级)之间的性能差异。计算在两个或更多个不同的存储层级之间的性能“收益”(例如,性能增益或处罚),并且然后将其与所确定的IO活动或其他度量相结合以确定是否重定位存储对象以及重定位到哪里。
在以下描述中,假定在具有N个存储阵列的存储阵列集群上执行存储重定位,其中存储资源被布置到三个存储层级中:层级1(利用SAS闪存、SSD和NVMe驱动器中的一者或多者的极致性能层级);层级2(利用SAS驱动器的性能层级);以及层级3(利用NL-SAS驱动器、低成本云存储或它们的组合的容量层级)。然而,应当了解,在其他实施方案中,存储阵列集群可具有多于或少于三个存储层级。存储对象(例如,LUN、文件系统、数据存储等)可被终端用户配置用于特殊的使用点,并且可由一个或多个指定的应用程序使用。假定此类应用程序具有特定的IO模式,其中那些IO模式中的至少一些相对稳定(例如,在至少某一指定的阈值时间段内改变不超过某一指定的阈值)。因此,可统计地分析存储对象的IO模式以确定此类存储对象跨存储阵列的存储层级的迁移是否提供显著的性能奖励或处罚(例如,至少某一阈值性能差异)。
在下面的描述中将使用以下符号:T用于指示IO模式收集时段,N用于指示存储阵列集群中的存储阵列的总数,并且I用于指示存储阵列集群中的存储对象(例如,FAST.X重定位单元)的总数。oni指示存储阵列n上的存储对象i,其中1≤i≤I并且1≤n≤N。J指示存储阵列集群中的IO模式的总数,Pj指示IO模式j,Pni,j指示存储对象oni的IO模式,其中1≤j≤J并且J≤I。RPni,j指示IO模式比,其中RPni,j=Pni,j/sum(Pni,j)。θ指示阈值IO模式比,其中如果RPni,j>θ,那么存储对象oni具有IO模式Pni,j,并且如果RPni,j<θ,那么存储对象oni具有随机或非稳定的IO模式。K指示存储阵列集群中的存储层级的总数,并且k指示K中的存储层级中的一者,其中1≤k≤K。在一些实施方案中,假定K=3,其中k=1是极致性能存储层级,k=2是性能存储层级,并且k=3是容量存储层级。
CBj,k指示存储层级k上的IO模式Pj的带宽标准,并且NCBj,k指示带宽标准的标准化,其中CIj,k指示存储层级k上的IO模式Pj的IOPS标准,并且NCIj,k指示IOPS标准的标准化,其中/>CRj,k指示存储层级k上的IO模式Pj的响应时间标准,并且NCRj,k指示响应时间标准的标准化,其中/>应当注意,响应时间是反指标,其中越小的响应时间越少,因此对响应时间求倒数以计算响应时间标准的标准化。
Gj,k指示存储层级k上的IO模式Pj的综合性能,其中Gj,k=NCBj,k+NCIj,k+NCRj,k。DGj,(k_k+1)指示在相邻的存储层级k和k+1之间的IO模式Pj的综合性能差异增益(或处罚),其中DGj,(k_k+1)=Gj,k-Gj,k+1。θG_diff指示在相邻的存储层级k和k+1之间的模式Pj的性能增益的阈值。cni指示存储阵列n上的存储对象i的IO访问计数。Enij,(k-k+1)指示通过将存储对象oni从存储层级k+1晋升到存储层级k来实现的存储对象oni的性能收益,其中Enij,(k_k+1)结合了IO活动和IO模式标准,Enij(k_k+1)=cni*DGnij,(k_k+1)。
一开始,识别存储阵列集群上的存储对象的IO模式。在最后时段T内收集存储阵列集群中的IO模式,以便以统计方式识别存储对象IO模式。通过分析在时段T内的存储对象的历史IO统计,可基于包括IO大小(P大小)、IO读/写比(Prw)和IO顺序/随机比(Psr)的一组因素或标准来确定存储对象的IO模式类型。可从存储系统或存储阵列度量数据获得存储对象的IO大小和IO读/写比。顺序IO操作具有直接跟随先前IO操作的开始存储位置(例如,逻辑块地址(LBA)),并且随机IO操作具有不连续的开始存储位置(例如,LBA)(例如,IO操作的开始LBA不直接跟随前一IO操作的最后LBA)。为了确定IO顺序/随机比,执行统计计算,其中在时段T期间的IO操作的数量是N总,顺序IO数量是Ns,随机IO数量是Nr,并且顺序比是Psr=Ns/N总。
存储对象的IO模式可用IOSize-IOReadRatio-IOSequentialRatio的格式来定义。比存储对象oni可呈现不同种类的IO模式,并且对于每种类型的IO模式,确定IO模式的Pni,j:RPni,j=Pni,j/sum(Pni,j)。如果阈值IO模式比是θ,则存储对象可被分类为以下两种类型中的一种:
1.如果RPni,j<θ,那么存储对象oni具有离散的IO模式,并且存储对象的IO模式是不稳定的且不定期改变;
2.如果RPni,j>θ,那么存储对象oni具有稳定的IO模式Pni,j。
对于类型(1)的存储对象,使用IO访问频率来确定是否重定位存储对象以及重定位在哪里。对于类型(2)的存储对象,使用IO访问频率并且考虑存储对象的特定IO模式Pj以分析将作为存储对象的重定位的结果而实现的性能增益或处罚。
然后测量在存储阵列的不同存储层级之间的每种类型的IO模式的性能差异。在一些实施方案中,使用带宽、IOPS和响应时间标准来评估不同存储层级的IO模式的性能差异。令CBj,k为IO模式Pj的存储层级k上的带宽,令CIj,k为IO模式Pj的存储层级k上的IOPS,并且令CRj,k为IO模式Pj的存储层级k上的响应时间。这些标准具有不同的单位,因此在测量不同存储层级上的IO模式Pj的性能结果之前,可先将它们标准化。
带宽和IOPS标准是性能的正指标,其中带宽和IOPS的值越大对应于IO模式Pj的性能越好。带宽和IOPS标准被标准化如下:知/>响应时间标准是性能的反指标,其中响应时间的值越小对应于模式Pj的性能越好。响应时间标准被标准化如下:/>这三个标准(带宽、IOPS、响应时间)用于综合地评估IO模式Pj的性能,其中根据以下等式来确定存储层级k上的IO模式Pj的综合性能:
Gj,k=NCBj,k+NCIj,k+NCRj,k
在相邻的存储层级之间的IO模式Pj的性能差异(例如,性能增益或处罚)可根据以下等式来确定:
DGj,(k_k+1)=Gj,k-Gj,k+1
对于IO模式Pj,可基于其性能增益Gj,k及其微分增益(k+1→k)来总结相邻的存储层级之间的性能差异,表示为DGj,(k_k+1)。对于IO模式Pj,如果DDj,(k_k+1)<θG_diff,那么性能损失小到可接受,使得这种或这个类型的IO模式内的存储对象可从相对高性能存储层级k降级到相对低性能存储层级k+1,从而以有限的性能损失提供成本节约(例如,因为假定相对低性能存储层级k+1的成本小于相对高性能存储层级k)。可定义θG_diff的值以考虑到可接受的性能损失或增益以及重定位成本。
应当注意,存储对象重定位可在存储阵列集群中的存储阵列间(例如,在存储阵列集群中的两个不同的存储阵列之间)或在存储阵列集群中的存储阵列内(例如,在存储阵列集群中的同一存储阵列内,诸如在存储阵列的与不同存储层级相关联的两个或更多个存储装置之间)。在一些情况下,期望节约存储阵列集群中的一个或多个存储阵列的计算资源,使得至少一些计算可从此类存储阵列卸载(例如,卸载到集群中的一个或多个其他存储阵列、卸载到外部服务器或主机装置等)。可卸载诸如总结不同应用程序的IO模式、测试并分析以确定不同存储层级的IO模式性能增益、计算相邻的存储层级之间的性能增益(或损失)差异等的计算。每个存储阵列可执行有限的计算以节约资源,诸如对存储对象的IO模式类型进行分类。然而,应当了解,如果需要,甚至可能至少部分地卸载此类计算。如果期望增加IO模式性能分析的准确性,则一些实施方案可分析在存储阵列上运行的IO模式性能增益(或损失)差异,并且然后分析该存储阵列的IO性能增益差异DGj,(k_k+1)。
存储对象IO活动因素或标准可与IO模式因素或标准相结合以确定哪些存储对象应该和不应重定位,以及应该重定位的存储对象的适当目的地存储层级和存储阵列。假定存储阵列集群具有N个存储阵列,存在具有稳定IO模式的给定的存储对象oni,存储对象的总数是I,并且其中给定的存储对象oni是在存储阵列n上,其中0≤n≤N且0≤i≤J,并且其中给定的存储对象oni的访问计数是cni。给定的存储对象oni的存储分层策略可在两个维度上进行评估:IO模式性能增益和IO活动。可使用各种度量来测量或确定IO活动。作为示例,可通过在最后时间段T中的存储对象访问次数来测量IO活动。可确定IO模式性能增益(或损失)差异,如上所述。在一些实施方案中,首先分析IO模式性能增益(或损失),其中可将在相邻的存储层级之间的性能差异小于阈值的存储对象移动到没有显著性能处罚的更低存储层级。对于在相邻的存储层级之间的性能差异超过阈值的存储对象,综合地分析在相邻的存储层级之间的IO活动和性能增益差异,以确定此类存储对象应重定位到的适合或适当的目标存储层级(如果有的话)。
可生成给定的存储对象oni的IO活动和IO模式,如下。应当注意,IO模式可被复制,使得一些存储对象具有相同的IO模式,并且通常,不同IO模式的总数小于存储对象的数量。oni中的“n”意指存储阵列n上的存储对象。将相邻的存储层级之间IO活动和IO模式因素或标准相结合的综合“收益”(例如,性能增益或处罚)可根据以下等式来确定:
Enij,(k_k+1)=cni*DGnij,(k_k+1)
Eni(k_k+1)的值越大,将给定的存储对象oni从存储层级k+1晋升到存储层级k的综合收益就越大(例如,如果存储对象在存储层级k+1中,则其应被晋升到存储层级k以获得更多收益)。给定的存储对象oni具有IO计数cni、IO模式Pnij、DGnij,(k_k+1)的性能差异(来自存储层级k+1→k)和Enij,(k_k+1)的收益(来自存储层级k+1→k)。
现在将描述存储阵列集群中的存储阵列,其中假定存储阵列集群中存在N个存储阵列和K个存储层级,并且其中通常K≤3。如果存储阵列集群中存在三个存储层级(例如,极致性能存储层级、性能存储层级和容量存储层级),那么K=3。存储层级k的可用容量大小可通过以下项来表示:存储层级k上的存储阵列n的可用大小被表示为Sn,k;存储层级k上的存储阵列集群的总可用空间被表示为Sc,k;并且存储层级k上的存储阵列n可用大小比被表示为Rn,k。如果存储阵列集群中的特定存储阵列没有提供存储层级k的存储资源的存储装置,那么Sn,k=0。每个存储层级的每个存储阵列的可用大小比被计算为其中1≤n≤N并且1≤k≤K。在每个存储层级k中,具有Rn,k的最大值的存储阵列被认为是处理数据重定位的最好候选。因此,确定了存储对象oni的目标存储层级和目标存储阵列。
图9示出了用于考虑到存储阵列集群中的存储对象的IO活动和IO模式两者来执行存储对象重定位的过程流程900。过程流程900开始901,并且在步骤903中,在时间段T内收集存储对象的IO计数,表示为oni。步骤903还包括收集存储对象的IO模式度量或标准,其中IO模式度量或标准包括IO大小、读/写比和随机/顺序比。在步骤905中,分析具有稳定IO模式的存储对象。步骤905包括针对具有稳定IO模式(表示为Pj)的每个存储对象oni,确定在存储阵列集群的存储层级之间的相关联的IO性能增益Gj,k和性能增益差异DGj,(k_k+1)。在步骤907中,作出关于给定的存储对象oni的DGnij,(k_k+1)的值是否小于阈值θG_diff的确定。如果步骤907的确定结果为是,那么在步骤909中,将存储对象降级到更低存储层级(例如,存储层级k+1)。如果步骤907的确定结果为否,则过程流程900进行到步骤911。
在步骤911中,将存储对象oni的IO计数(cni)和IO模式(Pni,j)相结合以确定相邻的存储层级k和k+1之间的收益值,表示为Enij,(k_k+1)。然后根据Enij,(k_k+1)值来执行分类。在步骤913中,作出关于是否可在当前存储给定的存储对象oni的存储阵列的内部处理给定的存储对象oni的重定位的确定。如果步骤913的确定结果为是,则在步骤915处,使用内部存储阵列重定位机制(例如,FAST)来处理存储对象oni的分层。如果步骤913的确定结果为否,则过程流程进行到步骤917,其中根据存储阵列中的目标存储层级排名(例如,Rn,k值)对存储阵列进行分类。在步骤919中,选择存储阵列集群中的存储阵列以将给定的存储对象oni晋升或降级到其目标存储层级。在步骤921中,作出关于是否已经评估了所有存储对象的确定。如果步骤921的确定结果为否,则过程流程900返回到步骤905。如果步骤921的确定结果为是,则过程流程900进行到步骤923,其中基于在步骤919中进行的选择来执行(例如,使用FAST.X)存储阵列集群中的存储对象的存储阵列间重定位。然后,过程流程900在步骤925中结束。
现在将描述图9的过程流程的示例实现方式,其中假定存储阵列集群中的存储阵列的数量N=2,并且存储对象的数量I=6。进一步假定一些存储对象具有稳定IO模式,而其他存储对象具有随机或非稳定IO模式。图10示出了展示每个存储对象所在的存储阵列集群中的访问频率度量(例如,IO计数)、IO模式和当前存储层级的表1000。在这里,假定存储阵列集群具有K=3个层级,包括k=1(利用SSD存储的极致性能层级)、k=2(利用SAS存储的性能层级)和k=3(利用NL-SAS存储的容量层级)。IO模式被表示为P1(4K_70R_0S)、P2(8K_0R_100S)、P3(8K_90R_100S)和P4(64K_OR_0S)。符号“N/A”用于具有随机或非稳定IO模式的存储对象。存储对象由当前存储它们的存储阵列(例如,n=1或n=2)和存储对象数量(例如,i=1,...,6)使用符号oni来标识。在图10的示例中,存储对象o26不具有所识别的稳定IO模式,并且因此可单独地基于其IO活动度量(例如,IO计数)来重定位。
然后分析剩余存储对象(例如,具有所识别的稳定IO模式)的IO模式以确定其在存储层级中的相邻存储层级之间的相关联的性能增益差异。具有呈现低于指定的阈值θ(例如,其中θ=10%或某一其他用户定义的值)的性能增益差异的IO模式的存储对象是用于降级到更低存储层级的候选。例如,假定IO模式P2和P3在性能(例如,SAS)存储层级与容量(例如,NL-SAS)存储层级之间具有小于10%的性能增益差异。因此,呈现IO模式P2和P3的当前存储在性能(例如,SAS)存储层级中的任何存储对象可被降级到更低的容量(例如,NL-SAS)存储层级。在图10的示例中,这意味着存储对象o12将从SAS存储层级降级到NL-SAS存储层级,因为由于对于存储对象o12呈现出的IO模式P2,SAS和NL-SAS存储层级具有相似的性能结果,所以不存在显著的性能损失。存储对象o13将保持在NL-SAS存储层级上,因为不存在通过将存储对象o13晋升到SAS存储层级来实现的需要(例如,最小性能增益或无性能增益),这是因为对于存储对象o13呈现出的IO模式P3,SAS和NL-SAS存储层级提供相似的性能结果。存储对象o25可从SSD存储层级降级到NL-SAS存储层级,因为由于对于存储对象o25呈现出的IO模式P2,SSD、SAS和NL-SAS存储层级具有相似的性能结果,所以将不存在性能损失或存在最小性能损失。
作为IO模式的分析的结果,确定IO模式P1、P3和P4在SAS和SSD存储层级之间呈现出显著(例如,大于某一指定的阈值)的性能差异。对于存储在SAS和SSD存储层级上的呈现出IO模式P1、P3和P4的存储对象,考虑到IO活动来计算性能收益以对存储对象进行排名并确定适于那些存储对象的适当的目标存储层级。在图10的示例中,存储对象o11可从SAS存储层级晋升到SSD存储层级,因为SSD存储层级具有最高性能收益值,并且存储对象o14可从NL-SAS存储层级晋升到SAS存储层级,因为该SAS存储层级也具有显著性能收益值。图11示出了总结分析结果的表1100-1和1100-2(统称为表1100),所述分析包括计算性能增益、在存储层级之间的性能增益差异、通过在存储层级之间晋升存储对象来实现的性能收益,以及用于存储对象中的每一者的确定的目标存储层级。图12示出了展示存储对象的重定位指导的表1200,所述表指示用于存储对象中的每一者的当前存储层级和目标存储层级。
图13A和图13B示出了包括三个存储层级的存储阵列集群中的存储阵列1301-1和1301-2(统称为存储阵列1301),所述三个存储层级是极致性能存储层级1303、性能存储层级1305和容量存储层级1307。在该示例中,存储阵列1301-1包括在三个层级(例如,极致性能存储层级1303、性能存储层级1305和容量存储层级1307)中的每一者中的存储,并且存储阵列1301-2仅包括在极致性能存储层级1303中的存储。
图13A示出了在使用图9的过程流程900进行数据移动之前的存储阵列集群中的存储阵列1301中的数据项(例如,存储对象o11、o12、o13、o14、o25、o26),其中在图10至图12的表1000、1100和1200中总结了示例数据。存储对象与三个IO级别1309-1、1309-2和1309-3中的一者相关联。最高IO级别1309-1对应于其适当存储层级是极致性能存储层级1303的数据项,中等IO级别1309-2对应于其适当存储层级是性能存储层级1305的数据项,并且最低IO级别1309-3对应于其适当存储层级是容量存储层级1307的数据项。如本文中详述,在确定是否重定位存储对象以及重定位在哪里时,除了相关联的IO级别1309-1、1309-2和1309-3外还考虑存储对象的IO模式。图13B示出了使用图9的过程流程900对存储阵列集群中的存储阵列1301中的存储对象进行的重定位,其中在图10至图12的表1000、1100和1200中总结了示例数据。图13C示出了仅考虑IO活动而不考虑IO模式(及其在存储层级1303、1305和1307之间的相关联的性能差异)的重定位。图13D示出了示出仅考虑到IO活动而将存储对象从其当前存储层级重定位到目标存储层级的表1350。如图13B和图13C所示,在重定位存储对象时除了IO活动外还考虑到存储层级之间的IO模式性能差异提供了各种效率,包括节约最高成本的存储层级(例如,极致性能存储层级1303)中的容量,而同时避免或最小化性能损失。
应当理解,上文和本文其他地方描述的特定优点与特定说明性实施方案相关联,并且不需要存在于其他实施方案中。而且,如附图所示并且如上所述的特定类型的信息处理系统特征和功能仅是示例性的,并且在其他实施方案中可使用许多其他布置。
现在将参考图14和图15更详细地描述用于实现基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的功能性的处理平台的说明性实施方案。尽管在系统100的背景下描述,但在其他实施方案中,这些平台也可用来实现其他信息处理系统的至少部分。
图14示出了包括云基础设施1400的示例处理平台。云基础设施1400包括可用于实现图1中的信息处理系统100的至少一部分的物理和虚拟处理资源的组合。云基础设施1400包括使用虚拟化基础设施1404实现的多个虚拟机(VM)和/或容器组1402-1、1402-2、......1402-L。虚拟化基础设施1404在物理基础设施1405上运行,并且说明性地包括一个或多个管理程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型的操作系统的内核控制组。
云基础设施1400还包括多组应用程序1410-1、1410-2、......1410-L,所述多组应用程序在VM/容器组1402-1、1402-2、......1402-L中的相应VM/容器组上在虚拟化基础设施1404的控制下运行。VM/容器组1402可包括相应的VM、相应组的一个或多个容器,或在VM中运行的相应组的一个或多个容器。
在图14实施方案的一些实现方式中,VM/容器组1402包括使用包括至少一个管理程序的虚拟化基础设施1404实现的相应VM。管理程序平台可用于在虚拟化基础设施1404内实现管理程序,其中管理程序平台具有相关联的虚拟基础设施管理系统。底层物理机可包括一个或多个分布式处理平台,所述分布式处理平台包括一个或多个存储系统。
在图14实施方案的其他实现方式中,VM/容器组1402包括使用提供操作系统级虚拟化功能性的虚拟化基础设施1404实现的相应容器,诸如支持在裸金属主机上运行的Docker容器或在VM上运行的Docker容器。容器说明性地使用操作系统的相应内核控制组来实现。
从上面显而易见的是,系统100的处理模块或其他部件中的一者或多者可各自在计算机、服务器、存储装置或其他处理平台元件上运行。给定的此类元件可被视为在本文中更一般地称为“处理装置”的示例。图14所示的云基础设施1400可表示一个处理平台的至少一部分。此类处理平台的另一个示例是图15所示的处理平台1500。
在该实施方案中,处理平台1500包括系统100的一部分,并且包括被表示为1502-1、1502-2、1502-3、……1502-K的多个处理装置,所述多个处理装置通过网络1504彼此通信。
网络1504可包括任何类型的网络,例如包括全球计算机网络(诸如互联网)、WAN、LAN、卫星网络、电话或电缆网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型网络的各种部分或组合。
处理平台1500中的处理装置1502-1包括耦合到存储器1512的处理器1510。
处理器1510可包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理电路,以及此类电路元件的部分或组合。
存储器1512可包括以任意组合的随机存取存储器(RAM)、只读存储器(ROM)、闪存存储器或其他类型的存储器。存储器1512和本文所公开的其他存储器应被视为更一般地称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的说明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施方案。给定的此类制品可包括例如存储阵列、存储磁盘或包含RAM、ROM、闪存存储器或其他电子存储器的集成电路,或各种其他类型的计算机程序产品中的任何一种。如本文中所使用的术语“制品”应被理解为排除瞬时的传播信号。可使用包括处理器可读存储介质的许多其他类型的计算机程序产品。
处理装置1502-1中还包括网络接口电路1514,所述网络接口电路用于将处理装置与网络1504和其他系统部件介接,并且可包括常规收发器。
假定处理平台1500的其他处理装置1502以与针对图中的处理装置1502-1所示的方式类似的方式进行配置。
同样,仅通过示例呈现图中所示的特定处理平台1500,并且系统100可包括附加或替代的处理平台,以及包括以任意组合的许多不同的处理平台,其中每个此类平台包括一个或多个计算机、服务器、存储装置或其他处理装置。
例如,用来实现说明性实施方案的其他处理平台可包括融合基础设施。
因此,应当理解,在其他实施方案中,可使用附加或替代元件的不同布置。这些元件的至少一个子集可在公共处理平台上共同实现,或者每个此类元件可在单独的处理平台上实现。
如先前所指示,如本文所公开的信息处理系统的部件可至少部分地以存储在存储器中且由处理装置的处理器执行的一个或多个软件程序的形式实现。例如,以在一个或多个处理装置上运行的软件的形式说明性地实现了如本文所公开的用于基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动的功能性的至少部分。
应当再次强调,仅出于说明目的而呈现上述实施方案。可使用许多变化和其他替代实施方案。例如,所公开的技术可适用于多种其他类型的信息处理系统、存储系统、存储集群等。而且,在附图中说明性地示出的系统和装置元件的特定配置以及相关联的处理操作在其他实施方案中可能改变。此外,以上在描述说明性实施方案的过程中做出的各种假定也应被视为示例性的,而不是对本公开的要求或限制。所附权利要求的范围内的许多其他替代实施方案对于本领域技术人员将是显而易见的。
Claims (20)
1.一种设备,所述设备包括:
至少一个处理装置,所述至少一个处理装置包括耦合到存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
至少部分地基于在指定的时间段内监控给定的存储对象的输入/输出操作来对与所述给定的存储对象相关联的输入/输出模式进行分类,所述给定的存储对象利用集群储存系统中的两个或更多个存储系统中的给定的存储系统中的第一类型存储资源进行存储,所述第一类型存储资源与所述集群存储系统中的两个或更多个存储层级中的第一存储层级相关联;
针对所述分类的输入/输出模式,识别以下两项之间的性能差异:(i)利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源,以及(ii)利用与所述集群存储系统中的所述两个或更多个存储层级中的至少第二存储层级相关联的至少第二类型存储资源;
至少部分地基于所述识别的性能差异来确定是否将所述给定的存储对象从利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源;以及
响应于所述确定,将所述给定的存储对象移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源。
2.如权利要求1所述的设备,其中移动所述给定的存储对象包括:
响应于确定所述两个或更多个存储系统中的所述给定的存储系统具有所述第二类型的足够的可用存储资源来存储所述给定的存储对象而将所述给定的存储对象从所述两个或更多个存储系统中的所述给定的存储系统上的所述第一类型存储资源移动到所述两个或更多个存储系统中的所述给定的存储系统上的所述第二类型存储资源;以及
响应于确定所述两个或更多个存储系统中的所述给定的存储系统没有所述第二类型的足够的可用存储资源来存储所述给定的存储对象而将所述给定的存储对象从所述两个或更多个存储系统中的所述给定的存储系统上的所述第一类型存储资源移动到所述集群存储系统中的所述两个或更多个存储系统中的另一个存储系统上的所述第二类型存储资源。
3.如权利要求2所述的设备,其中至少部分地基于所述集群存储系统中的所述两个或更多个存储系统中的每一者上的所述第二类型的可用存储资源的相应量来选择所述两个或更多个存储系统中的另一存储系统。
4.如权利要求1所述的设备,其中至少部分地基于以下项来对与所述给定的存储对象相关联的所述输入/输出模式进行分类:
所述给定的存储对象的大小;
在所述指定的时间段内所述给定的存储对象的读取操作与写入操作的比;以及
在所述指定的时间段内涉及所述给定的存储对象的顺序输入/输出操作与随机输入/输出操作的比。
5.如权利要求1所述的设备,其中识别所述性能差异包括:
评估利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储的具有所述分类的输入/输出模式的第一组一个或多个存储对象的第一性能;以及
评估利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源进行存储的具有所述分类的输入/输出模式的第二组一个或多个存储对象的第二性能。
6.如权利要求5所述的设备,其中所述第一性能和所述第二性能由一组性能度量表征,所述一组性能度量包括带宽度量、每秒输入/输出操作度量以及响应时间度量。
7.如权利要求1所述的设备,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别大于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别。
8.如权利要求7所述的设备,其中响应于所述识别的性能差异小于指定的阈值而移动所述给定的存储对象。
9.如权利要求8所述的设备,其中至少部分地基于以下项来设置所述指定的阈值:所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级的所述第一性能级别与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级的所述第二性能级别之间的可接受性能损失;以及与将所述给定的存储对象从所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级移动到所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的成本。
10.如权利要求1所述的设备,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别小于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别。
11.如权利要求10所述的设备,其中响应于所述识别的性能差异大于指定的阈值而移动所述给定的存储对象。
12.如权利要求11所述的设备,其中至少部分地基于以下项来设置所述指定的阈值:所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级的所述第一性能级别与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级的所述第二性能级别之间的性能增益;以及与将所述给定的存储对象从所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级移动到所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的成本。
13.如权利要求1所述的设备,其中确定是否将所述给定的存储对象从利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源进一步至少部分地基于在所述指定的时间段内所述给定的存储对象的输入/输出活动级别。
14.如权利要求13所述的设备,其中基于在所述指定的时间段内所述给定的存储对象的所述被监控的输入/输出操作的计数来确定在所述指定的时间段内所述给定的存储对象的所述输入/输出活动级别。
15.一种计算机程序产品,所述计算机程序产品包括其中存储有一个或多个软件程序的程序代码的非暂时性处理器可读存储介质,其中所述程序代码在被至少一个处理装置执行时致使所述至少一个处理装置执行以下步骤:
至少部分地基于在指定的时间段内监控给定的存储对象的输入/输出操作来对与所述给定的存储对象相关联的输入/输出模式进行分类,所述给定的存储对象利用集群储存系统中的两个或更多个存储系统中的给定的存储系统中的第一类型存储资源进行存储,所述第一类型存储资源与所述集群存储系统中的两个或更多个存储层级中的第一存储层级相关联;
针对所述分类的输入/输出模式,识别以下两项之间的性能差异:(i)利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源,以及(ii)利用与所述集群存储系统中的所述两个或更多个存储层级中的至少第二存储层级相关联的至少第二类型存储资源;
至少部分地基于所述识别的性能差异来确定是否将所述给定的存储对象从利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源;以及
响应于所述确定,将所述给定的存储对象移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源。
16.如权利要求15所述的计算机程序产品,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别大于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别,并且其中响应于所述识别的性能差异小于指定的阈值而移动所述给定的存储对象。
17.如权利要求15所述的计算机程序产品,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别小于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别,并且其中响应于所述识别的性能差异大于指定的阈值而移动所述给定的存储对象。
18.一种方法,所述方法包括:
至少部分地基于在指定的时间段内监控给定的存储对象的输入/输出操作来对与所述给定的存储对象相关联的输入/输出模式进行分类,所述给定的存储对象利用集群储存系统中的两个或更多个存储系统中的给定的存储系统中的第一类型存储资源进行存储,所述第一类型存储资源与所述集群存储系统中的两个或更多个存储层级中的第一存储层级相关联;
针对所述分类的输入/输出模式,识别以下两项之间的性能差异:(i)利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源,以及(ii)利用与所述集群存储系统中的所述两个或更多个存储层级中的至少第二存储层级相关联的至少第二类型存储资源;
至少部分地基于所述识别的性能差异来确定是否将所述给定的存储对象从利用与所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级相关联的所述第一类型存储资源进行存储移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源;以及
响应于所述确定,将所述给定的存储对象移动到与所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级相关联的所述第二类型存储资源;
其中所述方法由至少一个处理装置执行,所述至少一个处理装置包括耦合到存储器的处理器。
19.如权利要求18所述的方法,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别大于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别,并且其中响应于所述识别的性能差异小于指定的阈值而移动所述给定的存储对象。
20.如权利要求18所述的方法,其中所述集群存储系统中的所述两个或更多个存储层级中的所述第一存储层级提供第一性能级别,所述第一性能级别小于由所述集群存储系统中的所述两个或更多个存储层级中的所述第二存储层级提供的第二性能级别,并且其中响应于所述识别的性能差异大于指定的阈值而移动所述给定的存储对象。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213889.6A CN116737056A (zh) | 2022-03-04 | 2022-03-04 | 基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 |
US17/697,224 US11893421B2 (en) | 2022-03-04 | 2022-03-17 | Data movement between storage tiers of a clustered storage system based on input/output patterns of storage objects |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213889.6A CN116737056A (zh) | 2022-03-04 | 2022-03-04 | 基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116737056A true CN116737056A (zh) | 2023-09-12 |
Family
ID=87850560
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210213889.6A Pending CN116737056A (zh) | 2022-03-04 | 2022-03-04 | 基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11893421B2 (zh) |
CN (1) | CN116737056A (zh) |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8566483B1 (en) * | 2009-12-17 | 2013-10-22 | Emc Corporation | Measuring data access activity |
US8478731B1 (en) * | 2010-03-31 | 2013-07-02 | Emc Corporation | Managing compression in data storage systems |
US8284627B2 (en) * | 2010-10-22 | 2012-10-09 | International Business Machines Corporation | Reducing energy consumption and optimizing workload and performance in multi-tier storage systems using extent-level dynamic tiering |
US8239584B1 (en) * | 2010-12-16 | 2012-08-07 | Emc Corporation | Techniques for automated storage management |
US9323655B1 (en) * | 2011-06-30 | 2016-04-26 | Emc Corporation | Location of data among storage tiers |
US9965381B1 (en) * | 2011-06-30 | 2018-05-08 | EMC IP Holding Company LLC | Indentifying data for placement in a storage system |
US9052830B1 (en) * | 2011-06-30 | 2015-06-09 | Emc Corporation | Techniques for automated evaluation and movement of data between storage tiers for thin devices |
US9256381B1 (en) * | 2011-09-29 | 2016-02-09 | Emc Corporation | Managing degraded storage elements in data storage systems |
US8838887B1 (en) * | 2012-03-30 | 2014-09-16 | Emc Corporation | Drive partitioning for automated storage tiering |
US10353616B1 (en) * | 2013-06-27 | 2019-07-16 | EMC IP Holding Company LLC | Managing data relocation in storage systems |
US10353634B1 (en) * | 2016-03-28 | 2019-07-16 | Amazon Technologies, Inc. | Storage tier-based volume placement |
US10678431B1 (en) * | 2016-09-29 | 2020-06-09 | EMC IP Holding Company LLC | System and method for intelligent data movements between non-deduplicated and deduplicated tiers in a primary storage array |
US10042578B2 (en) * | 2016-11-08 | 2018-08-07 | International Business Machines Corporation | Extent migration in multi-tier storage systems |
US11656780B2 (en) * | 2019-01-08 | 2023-05-23 | International Business Machines Corporation | Increasing data performance by transferring data between storage tiers using workload characteristics |
US11662938B2 (en) * | 2020-05-11 | 2023-05-30 | Nantcell, Inc. | Object storage and access management systems and methods |
-
2022
- 2022-03-04 CN CN202210213889.6A patent/CN116737056A/zh active Pending
- 2022-03-17 US US17/697,224 patent/US11893421B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US11893421B2 (en) | 2024-02-06 |
US20230281049A1 (en) | 2023-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112969992B (zh) | 对主机io负载模式分类并将分类传送到存储系统 | |
US9875163B1 (en) | Method for replicating data in a backup storage system using a cost function | |
US8554918B1 (en) | Data migration with load balancing and optimization | |
US8943270B2 (en) | Storage system, storage control method and storage control program | |
US20220342578A1 (en) | Data movement between storage tiers of a clustered storage system based on predicted data access frequency trend patterns | |
US11366590B2 (en) | Host device with multi-path layer providing dynamic control of one or more path selection algorithms | |
WO2017138942A1 (en) | Provisioning volumes | |
US11093156B1 (en) | Using storage access statistics to determine mirrored extents to migrate from a primary storage system and a secondary storage system to a third storage system | |
US11099754B1 (en) | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
US11740824B2 (en) | Performing wear leveling between storage systems of a storage cluster | |
US20220357998A1 (en) | Multiple metric-based workload balancing between storage resources | |
JP2023553316A (ja) | ストレージシステム最適化を使用したアプリケーション性能の強化 | |
US10771580B1 (en) | Using machine learning to improve input/output performance of an application | |
US11687257B2 (en) | Storage cluster load balancing based on predicted performance metrics | |
US20230342221A1 (en) | Intelligent load scheduling in a storage system | |
Meyer et al. | Supporting heterogeneous pools in a single ceph storage cluster | |
CN116737056A (zh) | 基于存储对象的输入/输出模式在集群存储系统的存储层级之间进行数据移动 | |
US11803305B1 (en) | Wear leveling between storage devices of a storage system based on input/output patterns of storage objects | |
US20240086069A1 (en) | Data movement based on write penalties of input/output patterns associated with storage objects | |
US11914875B2 (en) | Storage workload allocation based on input/output pattern affinity calculations | |
US11983432B2 (en) | Load sharing of copy workloads in device clusters | |
US20230333874A1 (en) | Virtual volume placement based on activity level | |
US11080215B1 (en) | Host device providing automated prediction of change intervals to reduce adverse impacts on applications | |
US20230214364A1 (en) | Data placement selection among storage devices associated with nodes of a distributed file system cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |