CN115202563A - 基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 - Google Patents
基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 Download PDFInfo
- Publication number
- CN115202563A CN115202563A CN202110403293.8A CN202110403293A CN115202563A CN 115202563 A CN115202563 A CN 115202563A CN 202110403293 A CN202110403293 A CN 202110403293A CN 115202563 A CN115202563 A CN 115202563A
- Authority
- CN
- China
- Prior art keywords
- storage
- given
- data access
- cluster
- systems
- 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
Images
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
- G06F3/0647—Migration 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- 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/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- 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/0653—Monitoring storage devices or 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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]
-
- 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/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种设备包括处理装置,所述处理装置被配置为生成在指定的时间段内存储对象的预测数据访问频率趋势模式,所述存储对象存储在集群存储***中的第一存储层级中。所述处理装置还被配置为基于所述预测数据访问频率趋势模式来对所述存储对象进行分类,并且基于所述预测数据访问频率趋势模式来确定所述集群存储***中的给定存储层级以用于在所述指定的时间段期间存储所述存储对象。所述处理装置还被配置为响应于所述给定存储层级不同于所述第一存储层级,基于所述存储对象的所述分类来选择数据移动的类型,并且利用所选择类型的数据移动来将所述存储对象移动到所述给定的存储层级。
Description
技术领域
本领域总体上涉及信息处理,并且更具体地,涉及信息处理*** 中的存储。
背景技术
存储阵列和其他类型的存储***通常由多个主机装置通过网络 共享。在主机装置上运行的应用程序各自包括执行应用程序功能性的 一个或多个进程。此类进程发出输入-输出(IO)操作请求以递送到存储 ***。存储***的存储控制器服务于此类IO操作请求。在一些信息 处理***中,可以使用多个存储***来形成存储集群。
发明内容
本公开的说明性实施方案提供了用于基于预测数据访问频率趋 势模式在集群存储***的存储层级之间进行数据移动的技术。
在一个实施方案中,一种设备包括至少一个处理装置,所述处理 装置包括耦合到存储器的处理器。所述至少一个处理装置被配置为执 行以下步骤:生成在指定的时间段内给定存储对象的预测数据访问频 率趋势模式,所述给定存储对象利用集群存储***中的两个或更多个 存储***中的给定存储***中的第一类型的存储资源来存储,所述第 一类型的存储资源与集群存储***中的两个或更多个存储层级中的 第一存储层级相关联。所述至少一个处理装置还被配置为执行以下步 骤:至少部分地基于在指定的时间段内给定存储对象的预测数据访问 频率趋势模式来将给定存储对象分类为两个或更多个存储对象类别 中的给定存储对象类别;以及至少部分地基于在指定的时间段内给定 存储对象的预测数据访问频率趋势模式,确定集群存储***中的两个 或更多个存储层级中的给定存储层级以用于在指定的时间段期间存 储给定存储对象。所述至少一个处理装置还被配置为执行以下步骤: 响应于给定存储层级不同于第一存储层级,选择用于将给定存储对象 移动到集群存储***中的存储***中的一个或多个存储***的第二 类型的存储资源的数据移动类型,所述第二类型的存储资源与集群存 储***中的给定存储层级相关联,所选择类型的数据移动至少部分地 基于与给定存储对象相关联的给定存储对象类别。所述至少一个处理 装置还被配置为执行以下步骤:利用所选择类型的数据移动来将给定 存储对象移动到集群存储***中的存储***中的所述一个或多个存 储***的第二类型的存储资源。
这些和其他说明性实施方案包括但不限于方法、设备、网络、系 统和处理器可读存储介质。
附图说明
图1是在说明性实施方案中用于基于预测数据访问频率趋势模 式在集群存储***的存储层级之间进行数据移动的信息处理***的 框图。
图2是在说明性实施方案中用于基于预测数据访问频率趋势模 式在集群存储***的存储层级之间进行数据移动的示例性过程的流 程图。
图3示出了说明性实施方案中的存储访问数据模式趋势的曲线 图。
图4示出了说明性实施方案中的循环存储访问数据模式趋势的 曲线图。
图5示出了说明性实施方案中的无规律存储访问数据模式趋势 的曲线图。
图6示出了说明性实施方案中的降低的存储访问数据模式趋势 的曲线图。
图7示出了多层级集群存储***的不同层级上的不同存储阵列 的可用性容量表。
图8示出了在说明性实施方案中用于通过跨存储集群内的存储 装置和跨存储集群中的存储阵列的数据移动来优化存储集群性能的 过程流程。
图9A和图9B示出了在说明性实施方案中多层级集群存储*** 中的存储阵列和存储层级之间的数据移动。
图10和图11示出了在说明性实施方案中可以被利用来实施信息 处理***的至少一部分的处理平台的示例。
具体实施方式
本文将参考示例性信息处理***以及相关联的计算机、服务器、 存储装置和其他处理装置来描述说明性实施方案。然而,应了解,实 施方案不限于与所示的特定说明性***和装置配置一起使用。因此, 如本文所用的术语“信息处理***”意图广泛地解释,以便涵盖例如包 括云计算和存储***的处理***,以及包括物理和虚拟处理资源的各 种组合的其他类型的处理***。因此,信息处理***可以包括例如至 少一个数据中心或其他类型的基于云的***,所述至少一个数据中心 或其他类型的基于云的***包括访问云资源的一个或多个云托管租 户。
图1示出了信息处理***100,所述信息处理***根据说明性实 施方案被配置为提供基于预测数据访问频率趋势模式在集群存储系 统的存储层级之间进行数据移动的功能性。信息处理***100包括通 过网络104与一个或多个存储阵列106-1、106-2、......106-M(统称为 存储阵列106)通信的一个或多个主机装置102-1、102-2、......102-N(统 称为主机装置102)。网络104可以包括存储区域网络(SAN)。
如图1所示,存储阵列106-1包括多个存储装置108,每个存储 装置存储由在主机装置102上运行的一个或多个应用程序利用的数 据。存储装置108说明性地布置在一个或多个存储池中。存储阵列 106-1还包括一个或多个存储控制器110,所述一个或多个存储控制 器促进对存储装置108的IO处理。存储阵列106-1及其相关联的存 储装置108是在本文中更一般地称为“存储***”的事物的示例。本实 施方案中的此存储***由主机装置102共享,并且因此在本文中也称 为“共享存储***”。在仅存在单个主机装置102的实施方案中,主机 装置102可以被配置为独占使用存储***。
主机装置102说明性地包括能够经由网络104与存储阵列106通 信的相应计算机、服务器或其他类型的处理装置。例如,主机装置 102的至少一个子集可以被实现为计算服务平台或其他类型的处理平 台的相应虚拟机。此类布置中的主机装置102说明性地提供计算服 务,诸如代表与主机装置102中的相应主机装置相关联的一个或多个 用户中的每个用户执行一个或多个应用程序。
本文中的术语“用户”意图广泛地解释,以便涵盖人、硬件、软件 或固件实体以及此类实体的组合的众多布置。
可以在平台即服务(PaaS)模型、基础设施即服务(IaaS)模型和/或 功能即服务(FaaS)模型下为用户提供计算和/或存储服务,但应了解, 可以使用众多其他云基础设施布置。而且,说明性实施方案可以在云 基础设施背景之外实现,如就在给定企业内实现的独立式计算和存储 ***而言。
存储阵列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装置使用。因此,可以使用众多其他类型的 电子或磁性介质来实现存储装置108的至少一个子集。
在图1的信息处理***100中,假设存储阵列106是存储集群 105的一部分(例如,其中存储阵列106可以用于在包括由一个或多个 网络互连的多个存储节点的集群存储***中实现一个或多个存储节 点),并且假设主机装置102提交要由存储集群105处理的IO操作。 假设存储阵列106的存储控制器中的至少一个(例如,存储阵列106-1 的存储控制器110)实现用于跨存储阵列106-1的存储装置108(例如, 在存储装置108中的不同存储装置或其提供存储集群105中的不同存 储层级的部分之间)以及存储阵列106-1与存储阵列106-2至106-M中 的一个或多个其他存储阵列之间的智能数据移动的功能性。经由存储 对象访问趋势分类模块112和存储对象移动模块114来提供此类智能 数据移动功能性。
如上所述,假设图1的实施方案中的存储阵列106是存储集群 105的一部分。假设存储集群105提供或实现多层级存储***的多个 不同的存储层级。举例来说,给定多层级存储***可以包括使用闪存 存储装置或其他类型的SSD来实现的快速层级或性能层级,以及使 用HDD来实现的容量层级,其中一个或多个此类层级可能是基于服 务器的。如对于本领域技术人员将显而易见的,在其他实施方案中, 可以使用多种其他类型的存储装置和多层级存储***。给定存储层级 中使用的特定存储装置可以根据给定实施方案的特定需求而变化,并 且可以在单个存储层级内使用多种不同的存储装置类型。如先前所指 示,如本文所用的术语“存储装置”意图广泛地解释,并且因此可以涵 盖例如SSD、HDD、闪存驱动器、混合驱动器或其他类型的存储产 品和装置或其部分,并且说明性地包括逻辑存储装置(诸如LUN)。
应了解,多层级存储***可以包括多于两个的存储层级,诸如一 个或多个“性能”层级和一个或多个“容量”层级,其中性能层级说明性 地提供相对于容量层级增加的IO性能特性,并且容量层级说明性地 使用相比于性能层级成本相对较低的存储来实现。也可以有多个性能 层级,每个性能层级根据需要提供不同级别的服务或性能,或者可以 有多个容量层级。
存储对象访问趋势分类模块112被配置为对存储在存储阵列 106-1的存储装置上的存储对象(例如,一个或多个文件、目录、文件 ***、LUN等)进行分类。在一些实施方案中,存储对象被分类为属 于两个类别中的一个。第一类存储对象包括在定义的时间段期间具有 IO温度趋势的存储对象,所述存储对象被预测为高于高水位线阈值 或低于低水位线阈值(例如,预测第一类别中的存储对象的IO温度在 定义的时间段期间为“热”或“冷”)。第二类存储对象包括在定义的时间 段期间具有IO温度趋势的存储对象,所述存储对象被预测为在高水 位线阈值与低水位线阈值之间(例如,预测第二类别中的存储对象的 IO温度在定义的时间段期间不为“热”或“冷”)。
存储对象移动模块114被配置为至少部分地基于由存储对象访 问趋势分类模块112提供的分类来确定要用于存储对象的数据移动 类型。例如,第一类别中的存储对象可以被认为适于在存储阵列106-1 内以及在存储阵列106-1与存储阵列106-2至106-M中的一个或多个 其他存储阵列之间进行移动或迁移(例如,由于它们在定义的时间段 内具有相对稳定的“热”或“冷”的预测访问趋势,并且因此在定义的时 间段期间不太可能需要频繁移动)。换句话说,可以经由存储阵列内 内部数据移动功能性或使用集群级别或存储阵列间数据移动功能性 来移动第一类别中的存储对象。
第二类别中的存储对象可以被认为不适于在存储阵列106-1与存 储阵列106-2至106-M中的一个或多个其他存储阵列之间进行移动或 迁移(例如,由于它们在定义的时间段内不具有相对稳定的“热”或“冷” 的预测访问趋势,并且因此在定义的时间段期间可能需要频繁移动)。 然而,第二类别中的存储对象可以被认为适于在存储阵列106-1内进 行移动或迁移(例如,使用存储阵列内内部数据移动功能性),其成本 比集群级别或存储阵列间数据移动功能性低(例如,资源较不密集)。
然后在此类移动适用时,存储对象移动模块114将使用与其相关 联的类别相关联的数据移动类型来移动存储对象。例如,考虑当前存 储在存储阵列106-1的存储装置108中的一个存储装置上的给定存储 对象,所述一个存储装置为第一存储层级提供存储,但是所述给定对 象在定义的时间段内的预测数据访问频率对应于不同于第一存储层 级的第二存储层级中的存储或者有理由存储在所述第二存储层级中 (例如,给定存储对象当前可能存储在为容量层级提供存储的存储装 置的一部分中,但是其在定义的时间段内的预测数据访问频率足够 高,而使其有理由存储在性能层级中)。在这种情况下,希望将给定 的存储对象移动到与第二存储层级相关联的存储。
如上所述,存储阵列内内部数据移动功能性相比于集群级别或存 储阵列间数据移动功能性通常成本较低或资源较不密集。因此,存储 对象移动模块114可以确定存储阵列106-1在为第二存储层级提供存 储的存储装置108中的一个或多个存储装置中是否具有可用容量。如 果是,则存储对象移动模块114可以使用存储阵列内内部数据移动功 能性来移动存储对象。如果存储阵列106-1在为第二层级提供存储的 存储装置108中的一个或多个存储装置不具有可用容量,则标识给定 存储对象的类别,以确定在定义的时间段内给定存储对象的预测数据 访问趋势是否有理由使用集群级别或存储阵列间数据移动功能性。因 此,如果给定存储对象具有第一类别,则可以将其移动到在第二存储 层级中具有可用存储的存储阵列106-2至106-M中的另一个存储阵列 上的存储装置。如果给定存储对象具有第二类别,则将不使用集群级 别或存储阵列间数据移动功能性来移动其。
可能存在多个存储对象,所述存储对象在定义的时间段内的预测 数据访问趋势与其当前存储层级不匹配。在这种情况下,所述多个存 储对象可以基于其预测访问趋势与其当前存储位置之间的差异来进 行“排名”。作为一个示例,考虑具有三个存储层级(容量、性能和最 高性能)的多层级存储***。如果存储阵列106-1中有两个当前存储在 容量层级中但是具有有理由在最高性能层级中存储的预测数据访问 趋势的存储对象,则这两个存储对象都将从移动中受益。但是,如果 没有足够的可用容量来将这两个存储对象都移动到最高性能层级,则 具有较高的预测数据访问趋势的存储对象可以移动到最高性能层级,并且具有较低的预测数据访问趋势的存储对象可以保留在原来的位 置(或者如果性能层级具有可用容量,则可能移动到性能层级)。
存储对象的上述排名还可以考虑两个存储对象的分类。作为一个 示例,考虑两个存储对象中的第一存储对象具有第一类别(并且因此 适于进行存储阵列内内部数据移动或存储阵列间数据移动),而两个 存储对象中的第二存储对象具有第二类别(并且因此适于进行存储阵 列内内部数据移动,但不适于进行存储阵列间数据移动)。假定第一 存储对象和第二存储对象两者当前都在存储阵列106-1上,第二存储 对象的预测数据访问趋势比第一存储对象低,存储阵列106-1的可用 容量不足以将第一存储对象和第二存储对象两者都移动以在存储装 置108中存储在最高性能层级中,并且在存储阵列106-2至106-M中 的一个或多个其他存储阵列中有足够的可用容量来将存储对象存储 在最高性能层级中。鉴于以上所述,可以通过使用存储阵列间数据移 动功能性将具有第一类别的第一存储对象移动到存储阵列106-2至 106-M中的一个或多个其他存储阵列以及使用存储阵列内数据移动 功能性在存储阵列106-1内移动具有第二类别的第二存储对象,来容 纳第一存储对象和第二存储对象两者的移动。
虽然在图1的实施方案中,存储对象访问趋势分类模块112和存 储对象移动模块114被示出为实施在存储阵列106-1内部和在存储控 制器110外部,但是在其他实施方案中,存储对象访问趋势分类模块 112和存储对象移动模块114中的一者或两者可以至少部分地实现在 存储控制器110内部,或者至少部分地实现在存储阵列106-1外部, 诸如实现在主机装置102中的一个、存储阵列106-2至106-M中的一 个或多个其他存储阵列、主机装置102和存储阵列106外部的一个或 多个服务器上(例如,包括实现在云计算平台或其他类型的信息技术 (IT)基础结构上)等。此外,虽然图1中未示出,但是存储阵列106-2 至106-M中的其他存储阵列可以实现存储对象访问趋势分类模块112 和存储对象移动模块114的相应实例。
存储对象访问趋势分类模块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操作,如在通过引用并入本文的2017年5月的NVMe规范的修订版1.3中所描 述。可以在本文所公开的说明性实施方案中利用的这种类型的其他存 储协议包括:基于结构的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也可以通过分布式方式跨多 个数据中心实现。
下面将结合图10和图11更详细地描述在说明性实施方案中被利 用来实现***100的各部分的处理平台的附加示例。
应当理解,图1中示出的用于基于预测数据访问频率趋势模式在 集群存储***的存储层级之间进行数据移动的特定元件集仅通过说 明性示例呈现,并且在其他实施方案中,可以使用附加的或替代的元 件。因此,另一实施方案可以包括附加的或替代的***、装置和其他 网络实体,以及模块和其他部件的不同布置。
应了解,仅通过示例呈现说明性实施方案的这些和其他特征,并 且不应以任何方式将其解释为限制性的。
现在将参考图2的流程图更详细地描述用于基于预测数据访问 频率趋势模式在集群存储***的存储层级之间进行数据移动的示例 性过程。应当理解,该特定过程仅是示例,并且在其他实施方案中可 以使用用于基于预测数据访问频率趋势模式在集群存储***的存储 层级之间进行数据移动的附加的或替代的过程。
在该实施方案中,所述过程包括步骤200至208。假定这些步骤 由存储对象访问趋势分类模块112和存储对象移动模块114执行。所 述过程开始于步骤200,生成在指定的时间段内给定存储对象的预测 数据访问频率趋势模式。利用第一类型的存储资源将给定存储对象存 储在集群存储***中的两个或更多个存储***的给定存储***中。第 一类型的存储资源与集群存储***中的两个或更多个存储层级中的 第一存储层级相关联。
步骤200可以包括生成用于预测在指定的时间段内给定存储对 象的总数据访问量的预测函数。预测数据访问频率趋势模式可以包括 增加的数据访问趋势模式和减少的数据访问趋势模式中的一者,并且 可以利用最小二乘算法来生成预测函数。预测数据访问频率趋势模式 可以包括循环数据访问趋势模式,并且可以利用自相关算法和离散傅 立叶变换算法中的至少一者来生成预测函数。预测数据访问频率趋势 模式可以包括无规律的数据访问模式,并且可以利用先前时间段内给 定存储对象的历史数据访问的平均值来生成预测函数。
在步骤202中,至少部分地基于在指定的时间段内给定存储对象 的预测数据访问频率趋势模式来将给定存储对象分类为两个或更多 个存储对象类别中的给定存储对象类别。两个或更多个存储对象类别 可以包括:第一存储对象类别,其包括在指定的时间段内的预测数据 访问频率趋势模式高于第一数据访问频率阈值或低于第二数据访问 频率阈值的存储对象;以及第二存储对象类别,其包括在指定的时间 段内的预测数据访问频率趋势模式在第一数据访问频率阈值与第二 数据访问频率阈值之间的存储对象。在一些实施方案中,被分类为第 一存储对象类别的存储对象被允许利用(i)在集群存储***中的两个或更多个存储***中的单个存储***内的存储***内数据移动和(ii) 在集群存储***中的两个或更多个存储***中的两个或更多个不同 存储***之间的存储***间数据移动,而被分类为第二存储对象类别 的存储对象则被允许利用(i)在集群存储***中的两个或更多个存储 ***中的单个存储***内的存储***内数据移动,但是不被允许利用 (ii)在集群存储***中的两个或更多个存储***中的两个或更多个不 同存储***之间的存储***间数据移动。
图2的过程继续进行步骤204,至少部分地基于在指定的时间段 内给定存储对象的预测数据访问频率趋势模式,确定集群存储***中 的两个或更多个存储层级中的给定存储层级以用于在指定的时间段 期间存储给定存储对象。响应于给定存储层级与第一存储层级不同, 在步骤206中选择用于将给定存储对象移动到集群存储***中的存 储***中的一个或多个存储***的第二类型的存储资源的数据移动 类型。第二类型的存储资源与集群存储***中的给定存储层级相关 联。选择的数据移动类型至少部分地基于与给定存储对象相关联的给 定存储对象类别。在步骤208中,利用选择的类型的数据移动来将给定存储对象移动到集群存储***中的存储***中的所述一个或多个 存储***的第二类型的存储资源。存储***中的所述一个或多个存储 ***可以包括给定存储***(例如,使用为第一和给定存储层级提供 存储的不同存储装置之间的存储***内数据移动来移动给定存储对 象),或者可以是与给定存储***不同的两个或更多个存储***中的 至少一个存储***(例如,使用存储***间数据移动来移动给定存储 对象)。
步骤208可以包括:至少部分地基于针对给定存储层级的两个或 更多个存储***中的每个存储***的可用存储容量和负载处理能力, 确定针对给定存储层级的集群存储***中的两个或更多个存储*** 的排名,并且可以至少部分地基于两个或更多个存储***的所确定的 排名来选择集群存储***中的存储***中的所述一个或多个存储系 统。
在一些实施方案中,步骤208包括确定给定存储***是否具有足 以存储给定存储对象的可用量的第二类型的存储资源,以及响应于确 定给定存储***具有足以存储给定存储对象的可用量的第二类型的 存储资源,将给定存储对象移动到给定存储***中的第二类型的存储 资源。步骤208可以包括:确定给定存储***是否具有足以存储给定 存储对象的可用量的第二类型的存储资源;以及响应于确定给定存储 ***不具有足以存储给定存储对象的可用量的第二类型的存储资源, 确定与给定存储对象相关联的给定存储对象类别是否允许集群存储 ***中的两个或更多个存储***中的不同存储***之间的数据移动。 响应于确定与给定存储对象相关联的给定存储对象类别允许集群存 储***中的两个或更多个存储***中的不同存储***之间的数据移 动,识别具有足以存储给定存储对象的可用量的第二类型的存储资源 的两个或更多个存储***中的一个或多个其他存储***,并且将给定 存储对象移动到所识别的存储***中的一个存储***中的第二类型 的存储资源。
在数据中心或其他类型的IT基础架构(包括云计算平台)中,可能 存在许多不同的存储阵列,每种存储阵列都有其自身的特性和优势以 用于不同类型的工作负载。例如,与业务或其他企业相关联的数据中 心可以通过利用此类存储阵列的不同特性(包括存储阵列中的每个存 储阵列内的存储装置的不同特性)向客户或其他用户提供高质量的全 面服务。在一些情况下,存储阵列是集群存储***(在本文中也称为 存储集群、存储阵列集群或阵列集群)的一部分。
在阵列集群级别,随着业务需求的变化,不同数据的“热度”可能 会不断变化。热度或IO温度可以表征数据访问频率(例如,当前时间 的指定阈值内的IO请求数量)或其他类型的IO度量。由于此类热度 变化,当前驻留在高性能存储阵列上的数据可能变冷,而驻留在低性 能存储阵列上的数据可能变热。为了优化性能,因此需要在阵列集群 中的不同阵列之间进行自助数据移动(例如,根据数据访问频率)。此 类自助数据移动可以包括打破阵列集群中的存储阵列之间的壁垒,将 热数据移动到高性能存储阵列,将冷数据归档到较低性能存储阵列 等。这有利地为客户或其他终端用户提供了各种好处(例如,提高性 能、降低成本、改善存储利用效率并加快阵列集群中的客户业务处理 等)。
对于一些存储阵列和阵列集群,可以使用数据移动功能性在不同 的存储阵列或平台和云存储平台之间扩展存储分层,在异构存储资源 之间移动数据,在存储集群级别和甚至可能跨数据中心充分利用存储 资源。在一些存储阵列中,此类数据移动功能性可能包括FAST技术, 也称为FAST Sideways或FAST.X。例如,Dell EMC VMAX存储阵列 可以实现FAST提示,这为用户提供了一种基于业务优先级和其他服 务级别目标(SLO)加速关键任务过程的方法。有利的是,FAST提示是 应用程序感知,并利用存储和性能分析器监视不同工作负载的读写状 态,以将提示发送给存储阵列以获取可能在给定的时间段内访问的数据。IT管理员可以创建FAST提示配置文件,这些配置文件被赋予优 先级并且被一次性、持续进行或定期进行(例如,每天、每周、每月 等)调度并具有预期的执行持续时间。可以经由存储阵列的分析软件 的分析选项卡(例如,Unisphere中用于VMAX阵列的数据库存储分 析器界面)提供此类提示。
根据提供的提示,性能分析器可以在采取行动之前监视增加的工 作负载需求。例如,FAST可以通过提示管理器应用程序编程接口(API) 从数据库存储分析器接收提示,并且根据优先级集(例如,闪存和串 行附接SCSI(SAS)存储装置的混合)主动调整存储装置的混合。存储 装置的混合可能会进行自动调整,并且需要保持SLO完整,并且不 会覆盖先前的SLO。FAST或其他数据移动功能性提供了为在特定业 务时期内需要对关键任务应用程序的最佳响应时间的客户或终端用 户递送领先的应用程序感知功能性的能力。
除了通过FAST提示进行优化之外,数据服务还可以扩展到存储 阵列本身之外,并通过FAST.X扩展到整个数据中心。FAST.X有利 地发展了存储分层和服务级别管理,并将其扩展到其他存储平台以及 云存储。FAST.X实现跨各种块装置(例如,包括Dell EMCXtremIO、 VNX、CloudArray和其他类型的存储)提供的存储技术进行数据移动。 FAST.X简化了管理和操作,并且在其控制下整合了异构存储。FAST.X 还进一步将SLO管理扩展到外部存储阵列。实现跨外部存储阵列进 行SLO管理实现根据不同的工作负载和要求的需求来轻松地集成不 同的设备。FAST.X可以大规模简化管理,从而以与内部SLO设置相 同的简单性提供跨存储阵列的工作负载优化。FAST的高级自动化优 化客户或其他终端用户的工作负载,以自动应用必要的资源量,并且 FAST.X根据相同的指定性能和可用性标准将该功能扩展到外部存储 阵列。如上所述,FAST.X也可以与云存储集成在一起,诸如以将活 动较少的工作负载移动到更具成本效益的云存储。
跨阵列集群中的多个存储阵列的数据移动(例如,使用上述 FAST/FAST.X功能性)是一项资源密集型任务。除了在正在移动数据 的不同存储阵列上计算资源之外,此类数据移动还可能导致附加的网 络负载,从而降低阵列集群的整体性能。阵列间数据移动可能具有较 高级别的粒度(例如,移动存储对象(诸如LUN或文件***))且大小较 大(例如,一到几千兆(GB)或更大)。因此,跨存储阵列的数据移动比 内部存储阵列的数据移动(例如,在单个存储阵列的不同存储装置之 间)重或资源更密集。因此,期望减少阵列集群的阵列间数据移动。
说明性实施方案提供了用于从长期角度分析数据活动并评估未 来时间段内的总数据活动趋势以更智能地跨阵列集群的存储阵列移 动数据的技术。一些实施方案利用了如下技术,该技术利用时间序列 数据理论,并且基于历史IO访问频率,将预测阵列集群中的存储阵 列的未来负载趋势。存储对象可以根据其相应的IO趋势来进行分类。 在一些实施方案中,存储对象被分类为两个类别中的一个:(1)长期 IO温度趋势为冷或热的第一类别的存储对象;以及(2)长期IO温度趋 势既不冷也不热的第二类别的存储对象。第一类别中的存储对象适于 在存储阵列内或在存储阵列之间迁移,因为此类存储对象不需要频繁移动(例如,可以为集群级别的FAST操作选择此类对象)。第二类别 中的存储对象不适于在存储阵列之间迁移,而是可以在存储阵列内进 行内部迁移(例如,内部存储阵列FAST)。以这种方式,说明性实施 方案可以减少不必要的频繁数据重定位,从而改善集群级别的数据移 动效率。
在存储***中,大多数客户或终端用户存储对象表现出数据访问 频率,所述数据访问频率示出具有时间序列的模式。数据访问频率模 式可能特定于特定的业务领域或部门。非平稳时间序列数据是重点, 因为这可能表现出有价值的预测。非平稳时间序列数据可能有各种模 式,包括各种趋势模式、循环模式、无规律模式等。可以从阵列集群 中的每个存储阵列获得数据IO频率信息。
趋势模式是指增加或减少的IO访问频率。例如,各种数据可能 在其创建时关闭其大部分活动,并且随着数据的老化,活动变得越来 越冷,并且访问频率降低。其他数据可能在其创建时关闭不频繁的活 动,并且随着数据的老化,活动变得越来越热,并且访问频率增加。 图3示出了曲线图300,曲线图300示出了用于增加数据访问频率和 减小数据访问频率的趋势模式的示例。尽管曲线图300示出了线性的 趋势模式,但是趋势模式也可以是非线性的(例如,指数的)。在一些 实施方案中,基于数据访问样本集来利用最小二乘法来生成预测函数 f(t)=a0+a1t+a2t2+…+amtm。预测函数可以用于使用以下等式(1)来预 测未来一段时间T中的总数据访问次数:
循环模式是指数据访问模式,其中数据访问频率以某种规律性 (例如,每小时、每天、每月、每季、每年等)上升和下降。例如,如 图4的曲线图400所示,在假日或节日时段期间可能频繁地访问一些 数据。为了确定数据是否是循环的,一些实施方案利用自相关函数或 离散傅立叶变换方法来基于数据访问采样来检测周期性。然后,可以 使用频谱分析来获取循环或季节性时间序列数据的周期或频率,以获 得傅立叶序列预测函数这可以用于 使用等式(2)来预测未来一段时间T中的总数据访问次数:
无规律数据模式是指数据访问频率随机变化的数据访问模式,并 且通常是指不具有趋势函数或周期性的数据。图5示出了曲线图500, 曲线图500示出了无规律的数据访问模式。对于无规律的数据访问模 式,可以对历史数据访问样本进行平均然后,这可以用 于使用等式(3)来预测未来一段时间T中的总数据访问次数:
现在将关于包括存储阵列的阵列集群来描述用于增强阵列集群 中数据移动的效率的算法的实现方式,其中所述阵列集群将存储资源 分类为属于三个存储层级中的一个:层级1,也称为“最高性能”层级 (例如,包括SAS闪存、SSD、NVMe驱动器);层级2,也称为“性能” 层级(例如,包括SAS驱动器);以及层级3,也称为“容量”层级(例如, 包括近线SAS(NL-SAS)驱动器或低成本云存储)。
以下符号将用于描述用于增强阵列集群中阵列间数据移动的效 率的算法:
Sai-ssd:存储阵列的可用SAS闪存或SSD容量i;
Sai-sas:存储阵列的可用SAS容量i;
Sai-nlsas:存储阵列的可用NL-SAS容量i;
Uai-ssd:存储阵列已使用的闪存容量i;
Uai-sas:存储阵列已使用的SAS容量i;
Uai-nlsas:存储阵列已使用的NL-SAS容量i;
Lai-ssd:对存储阵列i的闪存容量的历史累积IO请求;
Lai-sas:对存储阵列i的SAS容量的历史累积IO请求;
Lai-nlsas:对存储阵列i的NL-SAS容量的历史累积IO请求;
最高性能层级中存储阵列i的标准化平 均IO负载的反比例,其中如果对于最高性能层级来说存储阵列i的累 积历史IO值较小,则这意味着对于最高性能层级来说,存储阵列i负 载较小,并且依据负载平衡审查,存储阵列i未来应该或可以为最高 性能层级处理更多的IO。
性能层级中存储阵列i的标准化平均IO 负载的反比例,其中如果对于性能层级来说存储阵列i的累积历史IO 值较小,则这意味着对于性能层级来说,存储阵列i负载较小,并且 依据负载平衡审查,存储阵列i未来应该或可以为性能层级处理更多 的IO。
容量层级中存储阵列i的标准化平 均IO负载的反比例,其中如果对于容量层级来说存储阵列i的累积历 史IO值较小,则这意味着对于容量层级来说,存储阵列i负载较小, 并且依据负载平衡审查,存储阵列i未来应该或可以为容量层级处理 更多的IO。
Cai-ssd=ωS.Rai-ssd+ωL·Fai-ssd:对于最高性能层级,存储阵列i的综 合得分,其组合了存储阵列i的存储和负载能力,其中如果存储阵列i在 最高性能层级中具有高可用容量和低负载,则存储阵列i是为最高性 能层级处理更多IO的良好选择,大小和负载能力的权重总和为1(例 如,ωS+ωL=1);
Cai-sas=ωS.Rai-sas+ωL.Fai-sas:对于性能层级,存储阵列i的综合得 分,其组合了存储阵列i的存储和负载能力,其中如果存储阵列i在性 能层级中具有高可用容量和低负载,则存储阵列i是为性能层级处理 更多IO的良好选择,大小和负载能力的权重总和为1(例如, ωS+ωL=1);
Cai-nlsas=ωS.Rai-nlsas+ωL.Fai-nlsas:对于性能层级,存储阵列i的综 合得分,其组合了存储阵列i的存储和负载能力,其中如果存储阵列i在 性能层级中具有高可用容量和低负载,则存储阵列i是为性能层级处 理更多IO的良好选择,大小和负载能力的权重总和为1(例如, ωS+ωL=1);
T0:开始预测数据访问趋势的时间点;以及
用于增强阵列集群中数据移动的效率的算法可以包括四个阶段 步骤:(1)数据收集;(2)数据热度预测和层级检查;(3)对阵列集群中 的存储阵列进行分析和排名;以及(4)确定达到阵列集群的长期存储效 率的数据移动解决方案。
在步骤或阶段(1)中,从阵列集群中收集必要的数据。一个或多个 监视服务或API用于收集阵列集群中的存储阵列信息,其中存储阵列 信息可以包括:每个存储阵列中的驱动器或存储装置类型;在阵列集 群中的每个存储阵列的每个层级中驱动器或装置的可用容量(例如, Sai-ssd、Sai-sas、Sai-nlsas);阵列集群中每个层级的阵列集群中的存储阵 列的已用空间(例如,Uai-ssd、Uai-sas、Uai-nlsas);阵列集群中每个层级的 阵列集群中的每个存储阵列的历史IO负载(例如,Lai-ssd、Lai-sas、 Lai-nlsas);对用户数据访问频率进行采样;等等。
在步骤或阶段(2)中,使用在步骤或阶段(1)中收集的数据来执行 时间序列数据模式分析,以预测阵列集群中数据(例如,存储对象)的 热度,以检查数据是否在适当的层级中。时间序列数据模式可以包括 上述不同类型的数据模式(例如,增加或减少的数据模式、循环数据 模式、无规律数据模式等)。时间序列数据模式可以用于T使用等式(4) 来预测未来一段时间(例如,下一天、下一周、下一个月、下一个季 度、下一年等)内数据的总IO请求:
这可以针对每种数据模式使用上述等式(1)-(3)。考虑例如减少的 数据访问模式。根据减少趋势,可以利用作为线性函数的曲线拟合(例 如,f(t)=a0+a1t)来在未来一段时间T中的当前时间点T0之后根据以下 等式计算驻留在存储阵列i上的第j个数据的总IO访问次数:
图6示出了曲线图600,曲线图600示出了对于数据访问减少的 数据模式趋势,使用线性曲线拟合函数f(t)的从时间点T0开始并持续时 间段T的预期的IO访问频率。对于阵列集群,可以根据长期预测总访 问频率Hai,j(例如,从大到小)对数据进行排序,并且为阵列集群中的每 个层级添加级别标签。继续上面的示例性阵列集群,将存在映射到三 个层级(例如,最高性能、性能、容量)的三个级别(例如,第一、第二 和第三)的标签。
在步骤或阶段(3)中,对阵列集群中的存储阵列进行分析和排名。 图7示出了表700,表700指示阵列集群中的每个存储阵列的每个层 级的可用容量。应注意,如果特定的存储阵列没有驱动器或装置为特 定层级提供存储,则对于该层级Sai=0。例如,如果存储阵列1没有 驱动器或装置具有适于在最高性能层级中使用的性能特性,则 Sa1-ssd=0。
在每个层级中,R值较大的存储阵列意味着这些存储阵列上有更 多可用容量。应注意,对于具有不同数量的存储层级的阵列集群,矩 阵R和F的大小将有所不同(例如,对于具有四个层级的阵列集群,矩 阵将为4xN)。更一般地,矩阵R和F可以是MxN矩阵,其中M表示阵列集 群中存储层级的数量。
R和F的值可以被组合以根据以下等式来为阵列集群中的存储阵 列排名:
C=ωS*R+ωL*F
C是MxN矩阵,其中M的值是阵列集群中的存储层级的数量。继续 包括三个存储层级(例如,最高性能层级、性能层级和容量层级)的示 例性阵列集群,C是类似于R和F的3xN矩阵。N是阵列集群中存储阵列 的数量。在每个层级m中,Cm,n为高值的存储阵列n是良好的选择(例如, 对于层级m中的增加的IO负载)。
在步骤或阶段(4)中,确定满足终端用户目标(例如,达到长期存 储效率)的数据移动解决方案。如上所述,“长期”可以由阵列集群的 存储管理员或其他终端用户定义。例如,存储管理员可能会寻求在下 一天、下一周、下一个月、下一个季度、下一年或某个其他时间段内 达到存储效率。例如,考虑位于存储阵列i层级1(例如,最高性能层 级)中的数据j,并且预测访问频率或热度Hai,j也处于与层级1相对应的 高级别,则数据j可能保留在原来的位置。
作为另一个示例,考虑位于存储阵列i层级2或层级3(例如,性 能层级或容量层级)中的数据j,但是其预测访问频率或热度Hai,j处于与 层级1相对应的高级别。在该示例中,应该移动数据j。如果不能利 用数据j当前所驻留的存储阵列i的存储阵列内数据移动功能性(例如, FAST)来将数据j移动到存储阵列i的层级1类型的存储(例如,诸如其 中存储阵列i没有任何层级1类型存储,其中存储阵列i具有层级1类 型存储,但是层级1类型存储的可用存储不足等等),则应该将数据j移 动到另一个存储阵列n(例如,具有最高或最大C1,n值的存储阵列n)上的 层级1存储,并且然后可以重新计算C。这假定数据j被认为适合进行 阵列间数据移动(例如,其在第一类别中)。
作为进一步示例,考虑位于存储阵列i层级1(例如,最高性能层 级)中的数据j,但是其预测访问频率或热度Hai,j处于与层级2或层级3 相对应的级别。在该示例中,应该移动数据j。如果不能利用数据j当 前所驻留的存储阵列i的存储阵列内数据移动功能性(例如,FAST)来 将数据j移动到存储阵列i的层级2或层级3类型的存储(例如,诸如其 中存储阵列i没有任何层级2或层级3类型存储,其中存储阵列i具有 层级2或层级3类型存储,但是层级2或层3类型的可用存储不足等 等),则应该将数据j移动到另一个存储阵列n(例如,具有最高或最大C2,n或C3,n值的存储阵列n)上的层级2或层级3存储,并且然后可以重新计 算C。再者,这假定数据j被认为适合进行阵列间数据移动(例如,其在 第一类别中)。
以上处理可以用于确定计划、指南或建议,以将高活动性数据移 动到高性能存储(例如,在阵列集群中的相同或不同存储阵列上),以 及将低活动性数据移动到低性能存储(例如,在阵列集群中相同或不 同的存储阵列上)。此类建议可以用于在考虑长期数据趋势的同时自 动移动存储对象或数据,从而优化阵列集群的性能并更好地利用跨阵 列集群的存储介质。
图8示出了用于实现用于增强阵列集群中的数据移动的效率的 算法的过程流程800。过程开始于步骤801,并且在步骤803中收集 阵列信息并对用户数据模式进行采样。在步骤805中,检测时间序列 数据模式以生成数据访问预测函数,以用于计算未来一段时间T中的 IO频率并对阵列集群中的进行排名。在步骤807中,计算并 更新存储阵列i的容量和负载处理能力C(m,i)。
在步骤809中,根据数据Dai,j的预测来确定所述数据是否在适 当的层级m中。如果步骤809确定的结果为否,则过程流程800前进 到步骤811,其中确定数据Dai,j的当前存储阵列i是否能够利用其内部 数据移动的功能性(例如,FAST),以便根据数据Dai,j的预测来将所 述数据移动到其适当的层级。如果步骤811确定的结果为否,则处理 流程800前进到步骤813,其中将数据Dai,j移动到具有最高或最大Cm′,n值的另一个存储阵列n上的目标层级m′。如上所述,阵列间数据移动 可以取决于被分类为第一类别的数据Dai,j。
如果步骤809确定的结果为是,则不需要移动数据Dai,j,并且处 理流程800前进到步骤815。如果步骤811确定的结果为是,则利用 当前存储阵列i的内部数据移动功能性来根据数据Dai,j的预测来将 所述数据移动到其正确的层级m,并且处理流程800前进到步骤815。 在步骤815中,步骤815可以在步骤813之后执行(或者如果确定809 或811中的任一者为是,则在步骤809或811之后执行),确定是否 已经评估了阵列i中的所有数据j。如果步骤815确定的结果为否,则 过程流程800循环回到步骤807。如果步骤815确定的结果为是,则 过程流程800在步骤817中结束。
图9A和图9B示出了阵列集群中的一组存储阵列901-1、901-2 和901-3(统称为存储阵列901),所述阵列集群包括三个存储层级:最 高性能层级903、性能层级905和容量层级907。在该示例中,存储 阵列901-1包括三个层级(例如,最高性能层级903、性能层级905和 容量层级907)中的每个层级中的存储,存储阵列901-2包括性能层级 905和容量层级907中的存储,并且存储阵列901-3包括最高性能层 级903和性能层级905中的存储。
图9A示出了在使用图8的过程流程800进行数据移动之前,阵 列集群中的存储阵列901中的数据项(例如,存储对象),其中数据项 与三个IO级别909-1、909-2和909-3中的一者相关联。最高IO级别 909-1对应于其适当层级为最高性能层级903的数据项,中等IO级别 909-2对应于其适当层级为性能层级905的数据项,并且最低IO级别909-3对应于其适当层级是容量层级907的数据项。图9B示出了在 使用图8的过程流程800进行数据移动之后,阵列集群中的存储阵列 901中的数据项。
为了进行说明,现在将描述表示为911-1至911-5的数据项的移 动。假定数据项911-1至911-5中的每一个都适合于阵列内数据移动 和阵列间数据移动两者。数据项911-1和911-2具有最低的IO级别 909-3,但是如图9A所示,其当前位于存储阵列901-1上的最高性能 层级903中的存储中。因此,应该移动数据项911-1和911-2。在该 示例中,假设在存储阵列901-1的容量层级907中没有足够的可用存 储用于数据项911-1,但是在存储阵列901-2的容量层级907中有足 够的可用存储。因此,存储阵列901-1的阵列内数据移动功能性不能 用来将数据项911-1移动到容量层级907,但是其可以用于数据项 911-2。因此,如图9B所示,数据项911-1移动到存储阵列901-2上 的容量层级907存储,而数据项911-2移动到存储阵列901-1上的容 量层级907存储。
数据项911-3和911-4分别具有最高IO级别909-1和最低IO级 别909-3,但是当前两者都位于存储阵列901-2上的性能层级905存 储中,如图9A所示。由于存储阵列901-2没有最高性能层级903存 储,因此必须将数据项911-3移动到另一个存储阵列(例如,存储阵列 901-1或901-3)。如图9B所示,数据项911-3被说明性地移动到存储 阵列901-3上的最高性能层级903存储。假设存储阵列901-2具有足 够的容量层级907用于数据项911-4,并且因此数据项911-4被移动 到存储阵列901-2上的容量层级907存储,如图9B所示。
数据项911-5具有最低IO级别909-3,但当前位于存储阵列901-3 上的最高性能层级903存储中,如图9A所示。由于存储阵列901-3 没有容量层级907存储,因此必须将数据项911-5移动到另一个存储 阵列(例如,存储阵列901-1或901-2)。如图9B所示,数据项911-5被说明性地移动到存储阵列901-2上的容量层级907存储。
尽管上文针对图9A和图9B中的数据项911-1至911-5仅给出了 五个具体的数据移动示例,但是应注意,各种其他数据项在存储层级 903、905和907之间移动,在图9A和图9B的示例中,其都在存储 阵列901内以及跨存储阵列901移动。
应了解,上文和本文其他地方描述的特定优点与特定说明性实施 方案相关联,并且不需要存在于其他实施方案中。而且,如在附图中 示出并且如上所述的特定类型的信息处理***特征和功能性仅是示 例性的,并且在其他实施方案中可以使用众多其他布置。
现在将参考图10和图11更详细地描述处理平台的说明性实施方 案,所述处理平台用于实现基于预测数据访问频率趋势模式来在集群 存储***的存储层级之间进行数据移动的功能性。尽管在***100的 上下文中进行描述,但在其他实施方案中,这些平台也可以用于实现 其他信息处理***的至少一些部分。
图10示出了包括云基础设施1000的示例性处理平台。云基础设 施1000包括物理处理资源和虚拟处理资源的组合,所述组合可以被 利用来实现图1中的信息处理***100的至少一部分。云基础设施 1000包括使用虚拟化基础设施1004实现的多个虚拟机(VM)和/或容 器集1002-1、1002-2、......、1002-L。虚拟化基础设施1004在物理基 础设施1005上运行,并且说明性地包括一个或多个管理程序和/或操 作***级虚拟化基础设施。操作***级虚拟化基础设施说明性地包括 Linux操作***或其他类型的操作***的内核控制组。
云基础设施1000还包括在虚拟化基础设施1004的控制下在VM/ 容器集1002-1、1002-2、......、1002-L中的相应VM/容器集上运行的 应用程序集1010-1、1010-2、......、1010-L。VM/容器集1002可以包 括相应的VM、相应的一个或多个容器集或在VM中运行的相应的一 个或多个容器集。
在图10的实施方案的一些实现方式中,VM/容器集1002包括使 用包括至少一个管理程序的虚拟化基础设施1004实现的相应VM。 管理程序平台可以用于在虚拟化基础设施1004内实现管理程序,其 中所述管理程序平台具有相关联的虚拟基础设施管理***。底层物理 机可以包括一个或多个分布式处理平台,所述分布式处理平台包括一 个或多个存储***。
在图10的实施方案的其他实现方式中,VM/容器集1002包括使 用提供操作***级虚拟化功能性(诸如对在裸金属主机上运行的 Docker容器或在VM上运行的Docker容器的支持)的虚拟化基础设施 1004实现的相应容器。使用操作***的相应内核控制组来说明性地 实现容器。
如从上面显而易见的是,***100的处理模块或其他部件中的一 个或多个可以各自在计算机、服务器、存储装置或其他处理平台元件 上运行。给定的此类元件可以被视为在本文中更一般地称为“处理装 置”的元件的示例。图10中示出的云基础设施1000可以表示一个处 理平台的至少一部分。此类处理平台的另一示例是图11中示出的处 理平台1100。
在该实施方案中,处理平台1100包括***100的一部分,并且 包括被表示为1102-1、1102-2、1102-3、......、1102-K的多个处理装 置,所述多个处理装置通过网络1104彼此通信。
网络1104可以包括任何类型的网络,举例来说包括全球计算机 网络(诸如互联网)、WAN、LAN、卫星网络、电话或有线网络、蜂窝 网络、无线网络(诸如WiFi或WiMAX网络)或这些和其他类型的网 络的各部分或组合。
处理平台1100中的处理装置1102-1包括耦合到存储器1112的处 理器1110。
处理器1110可以包括微处理器、微控制器、专用集成电路(ASIC)、 现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元 (GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理 电路,以及此类电路元件的各部分或组合。
存储器1112可以以任何组合形式包括随机存取存储器(RAM)、 只读存储器(ROM)、快闪存储器或其他类型的存储器。本文所公开的 存储器1112和其他存储器应当被视为更一般地被称为存储一个或多 个软件程序的可执行程序代码的“处理器可读存储介质”的内容的说 明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施方案。 给定此类制品可以包括例如存储阵列、存储盘或包含RAM、ROM、 闪存存储器或其他电子存储器的集成电路,或多种其他类型的计算机 程序产品中的任一种。如本文所用的术语“制品”应被理解为排除瞬时 的传播信号。可以使用包括处理器可读存储介质的众多其他类型的计 算机程序产品。
处理装置1102-1中还包括网络接口电路1114,所述网络接口电 路用于将处理装置与网络1104和其他***部件介接,并且可以包括 常规收发器。
假设处理平台1100的其他处理装置1102以与针对图中的处理装 置1102-1示出的方式类似的方式进行配置。
而且,仅通过示例呈现图中示出的特定处理平台1100,并且系 统100可以包括附加的或替代的处理平台,以及呈任何组合形式的众 多不同的处理平台,其中每个此类平台包括一个或多个计算机、服务 器、存储装置或其他处理装置。
例如,用于实现说明性实施方案的其他处理平台可以包括融合基 础设施。
因此,应理解,在其他实施方案中,可以使用附加的或替代的元 件的不同布置。这些元件的至少一个子集可以在公共处理平台上共同 实现,或者每个此类元件可以在单独的处理平台上实现。
如先前所指示的,如本文所公开的信息处理***的部件可以至少 部分地以存储在存储器中并且由处理装置的处理器执行的一个或多 个软件程序的形式来实现。例如,以在一个或多个处理装置上运行的 软件的形式说明性地实现了如本文所公开的用于基于预测数据访问 频率趋势模式来在集群存储***的存储层级之间进行数据移动的功 能性的至少部分。
应当再次强调,上述实施方案仅出于说明目的而呈现。可以使用 许多变型和其他替代的实施方案。例如,所公开的技术可适用于多种 其他类型的信息处理***、存储***、存储集群等。而且,在附图中 说明性地示出的***和装置元件的特定配置以及相关联的处理操作 在其他实施方案中可能改变。此外,以上在描述说明性实施方案的过 程中做出的各种假设也应当被视为是示例性的,而不是对本公开的要 求或限制。所附权利要求的范围内的众多其他替代实施方案对于本领 域技术人员将是显而易见的。
Claims (20)
1.一种设备,其包括:
至少一个处理装置,其包括耦合到存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
生成在指定的时间段内给定存储对象的预测数据访问频率趋势模式,所述给定存储对象利用集群存储***中的两个或更多个存储***中的给定存储***中的第一类型的存储资源存储,所述第一类型的存储资源与所述集群存储***中的两个或更多个存储层级中的第一存储层级相关联;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来将所述给定存储对象分类为两个或更多个存储对象类别中的给定存储对象类别;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来确定所述集群存储***中的所述两个或更多个存储层级中的给定存储层级以用于在所述指定的时间段期间存储所述给定存储对象;
响应于所述给定存储层级不同于所述第一存储层级,选择用于将所述给定存储对象移动到所述集群存储***中的所述存储***中的一个或多个存储***的第二类型的存储资源的数据移动类型,所述第二类型的存储资源与所述集群存储***中的所述给定存储层级相关联,所选择类型的数据移动至少部分地基于与所述给定存储对象相关联的所述给定存储对象类别;以及
利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源。
2.如权利要求1所述的设备,其中所述存储***中的所述一个或多个存储***包括所述给定存储***。
3.如权利要求1所述的设备,其中所述存储***中的所述一个或多个存储***包括与所述给定存储***不同的所述两个或更多个存储***中的至少一个。
4.如权利要求1所述的设备,其中所述两个或更多个存储对象类别包括:
第一存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式高于第一数据访问频率阈值或低于第二数据访问频率阈值的存储对象;以及
第二存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式在所述第一数据访问频率阈值与所述第二数据访问频率阈值之间的存储对象。
5.如权利要求4所述的设备,其中被分类为所述第一存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,以及(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动。
6.如权利要求4所述的设备,其中被分类为所述第二存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,但是不被允许利用(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动。
7.如权利要求1所述的设备,其中利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源包括:至少部分地基于针对所述给定存储层级的所述两个或更多个存储***中的每个存储***的可用存储容量和负载处理能力来确定针对所述给定存储层级的所述集群存储***中的所述两个或更多个存储***的排名。
8.如权利要求7所述的设备,其中至少部分地基于所述两个或更多个存储***的所确定的排名来选择所述集群存储***中的所述存储***中的所述一个或多个存储***。
9.如权利要求1所述的设备,其中生成在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式包括:生成用于预测在所述指定的时间段内所述给定存储对象的总数据访问量的预测函数。
10.如权利要求9所述的设备,其中所述预测数据访问频率趋势模式包括增加的数据访问趋势模式和减少的数据访问趋势模式中的一者,并且其中利用最小二乘算法生成所述预测函数。
11.如权利要求9所述的设备,其中所述预测数据访问频率趋势模式包括循环数据访问趋势模式,并且其中利用自相关算法和离散傅立叶变换算法中的至少一者来生成所述预测函数。
12.如权利要求9所述的设备,其中所述预测数据访问频率趋势模式包括无规律的数据访问模式,并且其中利用先前时间段内所述给定存储对象的历史数据访问的平均值生成所述预测函数。
13.如权利要求1所述的设备,其中利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源包括:
确定所述给定存储***是否具有足以存储所述给定存储对象的可用量的所述第二类型的存储资源;并且
响应于确定所述给定存储***具有足以存储所述给定存储对象的所述可用量的所述第二类型的存储资源,将所述给定存储对象移动到所述给定存储***中的所述第二类型的存储资源。
14.如权利要求1所述的设备,其中利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源包括:
确定所述给定存储***是否具有足以存储所述给定存储对象的可用量的所述第二类型的存储资源;
响应于确定所述给定存储***不具有足以存储所述给定存储对象的所述可用量的所述第二类型的存储资源,确定与所述给定存储对象相关联的所述给定存储对象类别是否允许在所述集群存储***中的所述两个或更多个存储***中的不同存储***之间的数据移动;
响应于确定与所述给定存储对象相关联的所述给定存储对象类别允许在所述集群存储***中的所述两个或更多个存储***中的不同存储***之间的数据移动,识别具有足以存储所述给定存储对象的可用量的所述第二类型的存储资源的所述两个或更多个存储***中的一个或多个其他存储***;并且
将所述给定存储对象移动到所识别的存储***中的一个中的所述第二类型的存储资源。
15.一种计算机程序产品,其包括非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质在其中存储有一个或多个软件程序的程序代码,其中所述程序代码在由至少一个处理装置执行时致使所述至少一个处理装置执行以下步骤:
生成在指定的时间段内给定存储对象的预测数据访问频率趋势模式,所述给定存储对象利用集群存储***中的两个或更多个存储***中的给定存储***中的第一类型的存储资源存储,所述第一类型的存储资源与所述集群存储***中的两个或更多个存储层级中的第一存储层级相关联;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来将所述给定存储对象分类为两个或更多个存储对象类别中的给定存储对象类别;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来确定所述集群存储***中的所述两个或更多个存储层级中的给定存储层级以用于在所述指定的时间段期间存储所述给定存储对象;
响应于所述给定存储层级不同于所述第一存储层级,选择用于将所述给定存储对象移动到所述集群存储***中的所述存储***中的一个或多个存储***的第二类型的存储资源的数据移动类型,所述第二类型的存储资源与所述集群存储***中的所述给定存储层级相关联,所选择类型的数据移动至少部分地基于与所述给定存储对象相关联的所述给定存储对象类别;以及
利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源。
16.如权利要求15所述的计算机程序产品,其中所述两个或更多个存储对象类别包括:
第一存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式高于第一数据访问频率阈值或低于第二数据访问频率阈值的存储对象;以及
第二存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式在所述第一数据访问频率阈值与所述第二数据访问频率阈值之间的存储对象。
17.如权利要求16所述的计算机程序产品,其中:
被分类为所述第一存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,以及(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动;并且
被分类为所述第二存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,但是不被允许利用(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动。
18.一种方法,其包括:
生成在指定的时间段内给定存储对象的预测数据访问频率趋势模式,所述给定存储对象利用集群存储***中的两个或更多个存储***中的给定存储***中的第一类型的存储资源存储,所述第一类型的存储资源与所述集群存储***中的两个或更多个存储层级中的第一存储层级相关联;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来将所述给定存储对象分类为两个或更多个存储对象类别中的给定存储对象类别;
至少部分地基于在所述指定的时间段内所述给定存储对象的所述预测数据访问频率趋势模式来确定所述集群存储***中的所述两个或更多个存储层级中的给定存储层级以用于在所述指定的时间段期间存储所述给定存储对象;
响应于所述给定存储层级不同于所述第一存储层级,选择用于将所述给定存储对象移动到所述集群存储***中的所述存储***中的一个或多个存储***的第二类型的存储资源的数据移动类型,所述第二类型的存储资源与所述集群存储***中的所述给定存储层级相关联,所选择类型的数据移动至少部分地基于与所述给定存储对象相关联的所述给定存储对象类别;以及
利用所选择类型的数据移动来将所述给定存储对象移动到所述集群存储***中的所述存储***中的所述一个或多个存储***的所述第二类型的存储资源;
其中所述方法由至少一个处理装置执行,所述至少一个处理装置包括耦合到存储器的处理器。
19.如权利要求18所述的方法,其中所述两个或更多个存储对象类别包括:
第一存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式高于第一数据访问频率阈值或低于第二数据访问频率阈值的存储对象;以及
第二存储对象类别,其包括在所述指定的时间段内的预测数据访问频率趋势模式在所述第一数据访问频率阈值与所述第二数据访问频率阈值之间的存储对象。
20.如权利要求19所述的方法,其中:
被分类为所述第一存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,以及(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动;并且
被分类为所述第二存储对象类别的存储对象被允许利用(i)在所述集群存储***中的所述两个或更多个存储***中的单个存储***内的存储***内数据移动,但是不被允许利用(ii)在所述集群存储***中的所述两个或更多个存储***中的两个或更多个不同存储***之间的存储***间数据移动。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403293.8A CN115202563A (zh) | 2021-04-14 | 2021-04-14 | 基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 |
US17/316,907 US20220342578A1 (en) | 2021-04-14 | 2021-05-11 | Data movement between storage tiers of a clustered storage system based on predicted data access frequency trend patterns |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110403293.8A CN115202563A (zh) | 2021-04-14 | 2021-04-14 | 基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115202563A true CN115202563A (zh) | 2022-10-18 |
Family
ID=83573875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110403293.8A Pending CN115202563A (zh) | 2021-04-14 | 2021-04-14 | 基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220342578A1 (zh) |
CN (1) | CN115202563A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170590A (zh) * | 2023-11-03 | 2023-12-05 | 沈阳卓志创芯科技有限公司 | 一种基于云计算的计算机数据存储方法及*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114661222A (zh) * | 2020-12-22 | 2022-06-24 | 伊姆西Ip控股有限责任公司 | 管理存储***的访问负载的方法、设备和计算机程序产品 |
US20230418800A1 (en) * | 2022-06-02 | 2023-12-28 | Barcelona Supercomputing Center-Centro Nacional De Supercomputación | Method for optimizing the management of a flow of data |
US20230418505A1 (en) * | 2022-06-23 | 2023-12-28 | Dell Products L.P. | Systems and methods of forecasting temperatures of storage objects using machine learning |
US20240094908A1 (en) * | 2022-09-20 | 2024-03-21 | Samsung Electronics Co., Ltd. | Systems and methods for performing data compression in memory |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8639899B2 (en) * | 2011-04-26 | 2014-01-28 | Hitachi, Ltd. | Storage apparatus and control method for redundant data management within tiers |
US9417903B2 (en) * | 2013-06-21 | 2016-08-16 | International Business Machines Corporation | Storage management for a cluster of integrated computing systems comprising integrated resource infrastructure using storage resource agents and synchronized inter-system storage priority map |
US20200133532A1 (en) * | 2018-10-31 | 2020-04-30 | EMC IP Holding Company LLC | Geological Allocation of Storage Space |
US11656780B2 (en) * | 2019-01-08 | 2023-05-23 | International Business Machines Corporation | Increasing data performance by transferring data between storage tiers using workload characteristics |
US10877683B2 (en) * | 2019-04-09 | 2020-12-29 | International Business Machines Corporation | Tiered storage optimization and migration |
US11726692B2 (en) * | 2020-12-02 | 2023-08-15 | International Business Machines Corporation | Enhanced application performance using storage system optimization |
-
2021
- 2021-04-14 CN CN202110403293.8A patent/CN115202563A/zh active Pending
- 2021-05-11 US US17/316,907 patent/US20220342578A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117170590A (zh) * | 2023-11-03 | 2023-12-05 | 沈阳卓志创芯科技有限公司 | 一种基于云计算的计算机数据存储方法及*** |
CN117170590B (zh) * | 2023-11-03 | 2024-01-26 | 沈阳卓志创芯科技有限公司 | 一种基于云计算的计算机数据存储方法及*** |
Also Published As
Publication number | Publication date |
---|---|
US20220342578A1 (en) | 2022-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10552046B2 (en) | Automatic tiering of storage using dynamic grouping | |
CN115202563A (zh) | 基于预测数据访问频率趋势模式在集群存储***的存储层级之间的数据移动 | |
US9875163B1 (en) | Method for replicating data in a backup storage system using a cost function | |
US20170147237A1 (en) | Solid-state drive assignment based on solid-state drive write endurance | |
US20180267728A1 (en) | Provisioning volumes | |
US11740824B2 (en) | Performing wear leveling between storage systems of a storage cluster | |
US11656773B2 (en) | Automatic management of file system capacity using predictive analytics for a storage system | |
US11169716B2 (en) | Prediction of maintenance window of a storage system | |
US11687257B2 (en) | Storage cluster load balancing based on predicted performance metrics | |
US11748376B1 (en) | Selection of data for transmission from different asynchronous data replication sessions running on a storage system | |
US11893421B2 (en) | Data movement between storage tiers of a clustered storage system based on input/output patterns of storage objects | |
US12008238B2 (en) | Data movement based on write penalties of input/output patterns associated with storage objects | |
US20230214364A1 (en) | Data placement selection among storage devices associated with nodes of a distributed file system cluster | |
US11775483B2 (en) | Clustering storage systems for sharing of data patterns used for deduplication | |
US11983432B2 (en) | Load sharing of copy workloads in device clusters | |
US20230333874A1 (en) | Virtual volume placement based on activity level | |
US11803305B1 (en) | Wear leveling between storage devices of a storage system based on input/output patterns of storage objects | |
US20240086369A1 (en) | Automatic file system capacity management using file system utilization prediction | |
US11556430B2 (en) | Selecting restore processes for applications hosted on storage volumes that are part of group replication sessions | |
US11803425B2 (en) | Managing storage resources allocated to copies of application workloads | |
US20220318070A1 (en) | Scheduling workloads based on predicted magnitude of storage capacity savings achieved through deduplication | |
CN118092781A (zh) | 用于多阶段基于文件的数据迁移的数据选择 | |
CN115617256A (zh) | 基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 | |
Feng et al. | A Subsection Storage Policy in Intelligent RAID-Based Object Storage Device |
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 |