CN116166411A - 基于预测的性能指标的存储集群负载均衡 - Google Patents

基于预测的性能指标的存储集群负载均衡 Download PDF

Info

Publication number
CN116166411A
CN116166411A CN202111417133.5A CN202111417133A CN116166411A CN 116166411 A CN116166411 A CN 116166411A CN 202111417133 A CN202111417133 A CN 202111417133A CN 116166411 A CN116166411 A CN 116166411A
Authority
CN
China
Prior art keywords
storage
storage node
node
cluster
time period
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
Application number
CN202111417133.5A
Other languages
English (en)
Inventor
樊慧娟
陈驰
董海兰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Dell Products LP
Original Assignee
Dell Products LP
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Dell Products LP filed Critical Dell Products LP
Priority to CN202111417133.5A priority Critical patent/CN116166411A/zh
Priority to US17/545,444 priority patent/US11687257B2/en
Publication of CN116166411A publication Critical patent/CN116166411A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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 the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种设备包括处理装置,所述处理装置被配置为对包括两个或更多个存储节点的存储集群发起负载均衡,预测所述存储节点在指定的未来时间段内的两个或更多个时间点的性能指标,并且至少部分地基于所述预测的性能指标,选择所述存储节点中的第一存储节点作为源存储节点并选择所述存储节点中的第二存储节点作为目标存储节点。所述处理装置还被配置为确定驻留在所述源存储节点上的至少一个存储对象并通过将所述至少一个存储对象从所述源存储节点迁移到所述目标存储节点来为所述存储集群执行负载均衡,所述至少一个存储节点在迁移到所述目标存储节点时减少所述存储集群在所述指定的未来时间段内的性能失衡率。

Description

基于预测的性能指标的存储集群负载均衡
技术领域
本领域总体上涉及信息处理,并且更具体地涉及信息处理系统中的存储。
背景技术
存储阵列和其他类型的存储系统通常由多个主机装置通过网络共享。在主机装置上运行的应用程序各自包括执行应用程序功能性的一个或多个进程。此类进程发出输入-输出(IO)操作请求以输送到存储系统。存储系统的存储控制器服务于此类IO操作请求。在一些信息处理系统中,可以使用多个存储系统来形成存储集群。
发明内容
本公开的说明性实施例提供用于基于预测的性能指标的存储集群负载均衡的技术。
在一个实施方案中,一种设备包括至少一个处理装置,所述至少一个处理装置包括处理器,所述处理器耦合到存储器。所述至少一个处理装置被配置为执行以下步骤:为包括两个或更多个存储节点的存储集群发起负载均衡;预测所述存储集群的所述两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的性能指标;以及至少部分地基于所述存储集群的所述两个或更多个存储节点在所述指定的未来时间段内的所述两个或更多个时间点的所述预测的性能指标,选择所述存储集群的所述两个或更多个存储节点中的第一存储节点作为源存储节点,并选择所述存储集群的所述两个或更多个存储节点中的第二存储节点作为目标存储节点。所述至少一个处理装置还被配置为执行以下步骤:确定驻留在所述源存储节点上的至少一个存储对象,所述至少一个存储对象在迁移到所述目标存储节点时,减少所述存储集群在至少所述指定的未来时间段内的性能失衡率;以及通过将所述至少一个存储对象从所述源存储节点迁移到所述目标存储节点来为所述存储集群执行负载均衡。
这些和其他说明性实施方案包括但不限于方法、设备、网络、系统和处理器可读存储介质。
附图说明
图1是在说明性实施方案中被配置用于基于预测的性能指标的存储集群负载均衡的信息处理系统的框图。
图2是在说明性实施方案中用于基于预测的性能指标的存储集群负载均衡的示例性过程的流程图。
图3示出了说明性实施方案中的存储在存储集群的存储节点上的存储对象。
图4示出了说明性实施方案中的存储对象重新均衡操作之前和之后的存储节点处理负载的曲线图。
图5示出了说明性实施方案中的增加和减少存储访问数据模式趋势的曲线图。
图6示出了说明性实施方案中的循环存储访问数据模式趋势的曲线图。
图7示出了说明性实施方案中的无规律存储访问数据模式趋势的曲线图。
图8示出了说明性实施方案中用于通过跨存储集群中的存储节点的数据移动来优化存储集群性能的过程流程。
图9示出了说明性实施方案中的存储对象重新均衡操作之前和之后的智能存储节点处理负载的曲线图。
图10和图11示出了说明性实施方案中的可以用于实施信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文将参考示例性信息处理系统以及相关联的计算机、服务器、存储装置和其他处理装置来描述说明性实施方案。然而,应理解,实施方案不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所使用的术语“信息处理系统”意图广泛地被解释为涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可以包括例如至少一个数据中心或其他类型的基于云的系统,其包括托管访问云资源的租户的一个或多个云。
图1示出了信息处理系统100,所述信息处理系统根据说明性实施方案被配置为提供用于基于预测的性能指标的存储集群负载均衡的功能性。信息处理系统100包括通过网络104与一个或多个存储阵列106-1、106-2、...106-M(统称为存储阵列106)通信的一个或多个主机装置102-1、102-2、...102-N(统称为主机装置102)。网络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)模型为用户提供计算和/或存储服务,但是应理解,可以使用众多其他云基础设施布置。而且,说明性实施方案可以在云基础设施上下文之外实施,如在给定企业内实施的独立计算和存储系统的情况。
存储阵列106-1的存储装置108可以实施被配置为存储与主机装置102相关联的用户的对象的逻辑单元(LUN)。这些对象可以包括文件、块或其他类型的对象。主机装置102利用读写命令以及通过网络104传输的其他类型的命令与存储阵列106-1交互。在一些实施方案中,此类命令更具体地包括小型计算机系统接口(SCSI)命令,但是在其他实施方案中可以使用其他类型的命令。在本文中所广泛使用的术语给定IO操作说明性地包括一个或多个此类命令。本文中对诸如“输入-输出”和“IO”等术语的引用应被理解为指代输入和/或输出。因此,IO操作涉及输入和输出中的至少一者。
而且,如本文所使用的术语“存储装置”意图被广泛地解释为涵盖例如逻辑存储装置,诸如LUN或其他逻辑存储卷。逻辑存储装置可以在存储阵列106-1中被定义为包括一个或多个物理存储装置的不同部分。因此,存储装置108可以被视为包括相应LUN或其他逻辑存储卷。
存储阵列106-1的存储装置108可以使用固态驱动器(SSD)来实施。使用诸如快闪存储器的非易失性存储器(NVM)装置来实施此类SSD。可以用于实施存储装置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(也称为性能指标预测模块112)和存储对象移动模块114提供的。
智能数据移动功能性用作存储集群105的存储集群级负载均衡操作的一部分。存储集群105的负载均衡可以响应于各种条件而发起,所述各种条件诸如用户请求、确定自从上次执行负载均衡以来已经过去至少阈值时间量、确定存储集群的当前性能失衡率超过可接受的失衡率阈值等。一旦发起了负载均衡,性能指标预测模块112就预测存储集群105的两个或更多个存储节点(例如,存储阵列106)在指定的未来时间段内的两个或更多个时间点的性能指标。性能指标预测模块112然后至少部分地基于存储集群的两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的预测的性能指标,选择存储集群的两个或更多个存储节点中的第一存储节点作为源存储节点,并选择存储集群的两个或更多个存储节点中的第二存储节点作为目标存储节点。
性能指标预测模块112还被配置为确定驻留在源存储节点上的至少一个存储对象,所述至少一个存储对象在迁移到目标存储节点时,减少存储集群在至少指定的未来时间段内的性能失衡率。该确定可以至少部分地基于预测驻留在源存储节点上的两个或更多个存储对象在指定的未来时间段内的两个或更多个时间点的性能指标。存储对象移动模块114被配置为通过将至少一个存储对象从源存储节点迁移到目标存储节点来为存储集群105执行负载均衡。
如上所述,在一些实施方案中,假设图1的实施方案的存储阵列106是存储集群105的一部分。假设存储集群105提供或实施多层存储系统的多个不同的存储层。例如,给定多层存储系统可以包括使用快闪存储装置或其他类型的SSD实施的快速层或性能层以及使用HDD实施的容量层,其中一个或多个此类层可能是基于服务器的。对本领域技术人员显而易见的是,在其他实施方案中可以使用多种其他类型的存储装置和多层存储系统。在给定存储层中使用的特定存储装置可以根据给定实施方案的特定需求而变化,并且可以在单个存储层中使用多种不同的存储装置类型。如先前所指示,如本文所用的术语“存储装置”意图广泛地解释,并且因此可以涵盖例如SSD、HDD、快闪驱动器、混合驱动器或其他类型的存储产品和装置或其部分,并且说明性地包括诸如LUN的逻辑存储装置。
应理解,多层存储系统可以包括多于两个的存储层,诸如一个或多个“性能”层和一个或多个“容量”层,其中性能层说明性地提供相对于容量层增加的IO性能特性,并且容量层说明性地使用相比于性能层成本相对较低的存储来实施。也可以有多个性能层,每个性能层根据需要提供不同级别的服务或性能,或者可以有多个容量层。
尽管在图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)卡以及诸如InfiniBand、千兆以太网或光纤通道的联网协议而彼此通信。如本领域技术人员应理解,在给定实施方案中,众多替代联网布置是可能的。
尽管在一些实施方案中,由主机装置102用来与存储阵列106通信的某些命令说明性地包括SCSI命令,但是在其他实施方案中可以使用其他类型的命令和命令格式。例如,一些实施方案可以利用与如在2017年5月的NVMe规范修订版1.3中所描述的NVM高速(NVMe)相关联的命令特征和功能性来实施IO操作,所述NVMe规范修订版通过引用并入本文。可以在本文公开的说明性实施方案中利用的这种类型的其他存储协议包括:基于结构的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:为包括两个或更多个存储节点的存储集群发起负载均衡。
在步骤202中,预测存储集群的两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的性能指标。步骤202可以包括,对于存储集群的两个或更多个存储节点中的给定存储节点,确定给定存储节点的访问频率趋势模式,并利用访问频率趋势模式来计算给定存储节点在指定的未来时间段内的两个或更多个时间点中的每一者处的预测的性能指标。确定给定存储节点的访问频率趋势模式可以包括生成趋势函数以用于预测给定存储节点在指定的未来时间段内的两个或更多个时间点的数据访问总量。给定存储节点的访问频率趋势模式可以包括增加访问频率趋势模式和减少访问频率趋势模式中的一者,并且可以利用最小二乘算法生成预测函数。访问频率趋势模式可以包括循环访问频率趋势模式,并且可以利用自相关算法和离散傅立叶变换算法中的至少一者来生成预测函数。访问频率趋势模式可以包括无规律访问频率模式,并且可以利用先前时间段内给定存储对象的历史数据访问的平均值来生成预测函数。
图2的过程继续进行步骤204:至少部分地基于存储集群的两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的预测的性能指标,选择存储集群的两个或更多个存储节点中的第一存储节点作为源存储节点,并选择存储集群的两个或更多个存储节点中的第二存储节点作为目标存储节点。存储集群的两个或更多个存储节点中被选择为源存储节点的第一存储节点在指定的未来时间段内的两个或更多个时间点的预测的性能指标的总和高于存储集群的两个或更多个存储节点中被选择为目标存储节点的第二存储节点。
步骤206包括确定驻留在源存储节点上的至少一个存储对象,所述至少一个存储对象在迁移到目标存储节点时,减少存储集群在至少指定的未来时间段内的性能失衡率。在一些实施方案中,步骤206中的确定是至少部分地基于预测驻留在源存储节点上的两个或更多个存储对象在指定的未来时间段内的两个或更多个时间点的性能指标。预测驻留在源存储节点上的两个或更多个存储对象在指定的未来时间段内的两个或更多个时间点的性能指标可以包括:确定驻留在源存储节点上的两个或更多个存储对象的访问频率趋势模式;利用确定的访问频率趋势模式来计算驻留在源存储节点上的两个或更多个存储对象在指定的未来时间段内的两个或更多个时间点中的每一者处的预测的性能指标;以及至少部分地基于驻留在源存储节点上的两个或更多个存储对象在指定的未来时间段内的两个或更多个时间点的预测的性能指标的总和的比较,选择两个或更多个存储对象中驻留在源存储节点上的给定存储对象作为至少一个存储对象。选择两个或更多个存储对象中驻留在源存储节点上的给定存储对象作为至少一个存储对象可以进一步至少部分地基于与驻留在源存储节点上的两个或更多个存储对象相关联的访问频率趋势模式的类型。选择两个或更多个存储对象中驻留在源存储节点上的给定存储对象作为至少一个存储对象可以进一步或替代地至少部分地基于驻留在源存储节点上的两个或更多个存储对象的预测的预测的性能指标的置信度。
在步骤208中,通过将至少一个存储对象从源存储节点迁移到目标存储节点来为存储集群执行负载均衡。在一些实施方案中,在步骤200中为存储集群发起负载均衡是响应于检测到存储集群的当前性能失衡率超过第一指定阈值失衡率。可以重复步骤202至208,直到存储集群的当前性能失衡率低于第二指定阈值失衡率。第二指定阈值失衡率可以小于第一指定阈值失衡率。
存储对象负载均衡是允许优化存储集群中的存储资源利用率的特征。存储对象负载均衡功能性标识存储集群中的过度使用的存储节点,并将存储对象(例如,LUN、文件系统、数据存储、文件等)从过度使用的存储节点实时迁移到存储集群中的未运行存储节点。说明性实施方案为存储集群提供了一种新颖的性能均衡机制。在一些实施方案中,对于存储集群的每个存储节点以及存储在存储集群的存储节点上的每个存储对象,从历史数据中学习性能趋势。然后利用存储节点和存储对象的此类学习的性能趋势来执行智能存储集群级性能均衡操作。智能存储集群级性能均衡操作是通过均衡对未来时间段(例如,10天)期间存储节点和存储对象性能的预测来执行的。因此,在给定时间执行存储集群级性能均衡将使整个存储集群的性能分布在相对较长的时间(例如,期间进行存储节点和存储对象性能预测的未来时间段)内保持均衡。应注意,存储集群级性能均衡不一定为存储集群提供即时的最佳均衡(例如,由于考虑了某个指定未来时间段内的预测性能),而是整体改善期间进行性能预测的指定的未来时间段内的均衡。示例性实施方案由此能够通过在比使用常规方法更长的时间段内保持跨存储集群的存储节点的存储对象分布尽可能均衡来改善跨存储集群的性能均衡。
存储集群(例如,存储集群105)是多个存储节点(例如,存储阵列106)的配置,所述存储节点的资源聚集在一起作为贡献给存储集群的资源池。资源可以包括处理资源(例如,CPU或其他计算资源)、存储器资源、网络资源和存储资源。存储集群的每个存储节点贡献此类资源的集合。在存储集群中,重要的是均衡跨每个存储节点之间的工作负载,以缓解不断增长的工作负载对性能产生负面影响的风险。
图3示出了包括多个存储节点301-1、301-2、...301-S(统称为存储节点301)的存储集群305。存储节点301中的每一者存储存储对象的相应集合:存储节点301-1存储存储对象310-1-1、310-1-2、...310-1-O(统称为存储对象310-1),存储节点301-2存储存储对象310-2-1、310-2-2、...310-2-O(统称为存储对象310-2),并且存储节点301-S存储存储对象310-S-1、310-S-2、...310-S-O(统称为存储对象310-S)。存储对象310-1、310-2、...310-S统称为存储对象310。应理解,存储节点301中的每一者上的存储对象的特定数量“O”可以是不同的。例如,存储节点301-1的“O”值可以不同于存储节点301-2的“O”值。
常规的存储集群负载均衡机制通常侧重于均衡基于单个时间点或在单个时间点的存储对象负载。因此,此类常规的存储集群负载均衡机制只能实现相对较短期的性能均衡。由于存储对象负载随时间变化,因此在执行负载均衡操作不久之后,通过常规的存储集群负载均衡机制实现的负载均衡可能会相对较快地被破坏。因此,为了在存储集群的存储节点之间保持存储对象负载均衡,需要一次又一次地执行负载均衡操作。此外,频繁的存储对象迁移操作本身增加了存储集群的存储节点上的负载,这导致效率不高。
图4示出了存储节点处理负载对时间的曲线图400。在图4的示例中,存储集群中有六个存储节点。在第一时间点401(例如,时间t1)执行常规负载均衡操作,其中常规负载均衡操作仅考虑在一个时间点(例如,时间t1)的当前存储节点性能。因此,从曲线图400可以看出,负载均衡操作的均衡效果是暂时的,并且存储节点处理负载在第二时间点402(例如,在时间t5之前)再次失衡。在一些情况下,存储节点性能分布可能会在时间t1执行负载均衡操作之后迅速恶化。因此,经常需要使用此类常规方法进行附加的负载均衡操作。
在说明性实施方案中,使用存储集群性能均衡机制,其从历史数据中学习每个存储节点和存储对象的性能趋势,并利用此类性能趋势通过预测未来时间段(例如,10天)期间的存储节点和存储对象性能来执行存储集群级均衡。因此,期望每个负载均衡操作在相对较长的时间段内(诸如在期间预测存储节点和存储对象性能的至少未来时间段(例如,10天)内)保持存储集群的性能分布均衡。通过这种方式,实施方案可以通过使用相对较少的重新均衡操作(例如,并且因此相对较少的存储对象移动操作)保持存储对象分布尽可能均衡来有效地改善存储集群性能均衡。
在存储系统中,大多数数据(例如,存储对象)表现出随时间变化的访问频率模式。访问频率模式可以根据最终用户或客户如何利用存储系统(例如,特定客户业务访问频率模式)而变化。非平稳时间序列数据是重点,因为这是可以进行有价值预测的方式。非平稳时间序列有几种模式,包括但不限于增加或减少趋势模式、循环趋势模式和无规律趋势模式。
增加或减少趋势模式是指访问频率的长期增加或减少。图5示出了示出减少和增加损耗水平访问模式的曲线图500。增加和减少趋势模式可以是线性的或非线性的(例如,指数)。在一些实施方案中,增加和减少趋势模式是通过利用最小二乘法或其他回归分析来确定的。最小二乘法是一种用于回归分析的方法,在数据拟合中有重要的应用。最小二乘问题通常属于以下两个类别中的一者:线性或普通最小二乘;以及非线性最小二乘法。
循环趋势模式是指以一定规律性上升和下降的访问频率。一个常见示例是季节性数据,其时间序列受季节性因素的影响,并且数据具有固定或已知的规律(例如,每天、每周、每月、每年等)。图6示出了示出循环损耗水平访问模式的曲线图600。为了确定数据访问频率是否是循环的,可以利用自相关和离散傅立叶变换方法来检测周期性并进一步确定循环或季节性时间序列的周期或频率。在图6的曲线图600中,损耗水平呈现出季度循环趋势模式。
无规律趋势模式是指随机变化或在某个指定时间范围内无法预测的访问频率。图7示出了示出无规律损耗水平访问模式的曲线图700。在一些实施方案中,如果数据不遵循增加趋势模式、减少趋势模式或循环趋势模式,则数据被分类为具有无规律趋势模式。
应理解,在其他实施方案中,可以使用各种其他访问频率趋势模式,并且可以使用各种其他方法来标识数据访问是否表现出不同的访问频率趋势模式。
在触发智能重新均衡操作时,首先需要预测未来时间段内的存储对象性能。在一些实施方案中,未来时间段与触发智能重新均衡操作的时间同时或接近所述时间开始。可以使用各种数据模式检测和统计分析/数据拟合模型(例如,最小二乘法、自相关、离散傅立叶变换方法等)来确定存储节点和存储对象性能随时间变化的趋势函数。存储节点i在时间点t的性能以及存储对象j在时间点t的性能可以通过趋势函数计算如下:
PredP节点i,t=TrendFunc(节点i,t)
PredP对象j,t=TrendFunc(对象j,t)
在上面的方程中,TrendFunc表示使用数据模式检测和统计分析/数据拟合模型(诸如最小二乘法、自相关、离散傅立叶变换方法等)确定的趋势函数。
假设有K个周期性采样时间点用于当前重新均衡操作-t1,t2,t3,...tK。特定数量K可以由最终用户选择,所述最终用户根据真实使用场景确定合适且合理的采样周期。跨K个周期采样点的存储节点i的预测的性能总和根据以下公式计算:
Figure BDA0003374111570000161
跨K个周期采样点的存储对象j的预测的性能总和根据以下公式计算:
Figure BDA0003374111570000171
然后使用规则集合对存储节点和存储对象进行排名,以便确定它们当中的哪些在未来时间段内最有可能出现不良性能(例如,高工作负载)。第一步骤是通过预测每个目标(例如,存储节点或存储对象)在未来时间段内的某些时间点的性能来定期对每个目标进行采样。下一步骤是对于每个目标(例如,存储节点或存储对象)计算在不同采样时间点的预测性能总和。然后将目标(例如,存储节点或存储对象)按它们相应的预测性能值的总和进行排名。
基于新引入的存储节点和存储对象性能预测方法,实施了一种新颖的集群存储对象分布重新均衡算法。首先,根据以下方程定期评估存储集群的当前性能失衡率,其表示为μ:
Figure BDA0003374111570000172
在以上方程中,P节点i表示存储节点i的性能,而N表示存储集群中的存储阵列或存储节点的数量。P节点i的值越大,存储节点i的工作负载就越大,而存储节点i的性能就越差。
在当前失衡率μ超过可接受的阈值?时,将触发存储对象重定位算法。图8示出了存储对象重定位算法的过程流程800,其开始于步骤801。在步骤803中,计算存储集群的失衡值μ。在步骤805中,确定当前失衡率μ是否超过可接受的阈值?。如果步骤805确定的结果为否,则过程流程800在步骤817中结束。如果步骤805确定的结果为是,则过程流程800进行到步骤807。在步骤807中,对存储集群中的每个存储节点i计算SumPredP节点i,其中具有最大SumPredP节点的存储节点被选择作为源存储节点,而具有最小SumPredP节点的存储节点被选择作为目的地存储节点。应理解,在一些实施方案中,步骤807可以包括仅为存储集群中的存储节点的子集而不是存储集群的所有存储节点计算SumPredP节点i。子集中的存储节点的特定数量可以是用户可配置的或基于某个其他因素。作为示例,可以为存储集群中的不同存储节点计算SumPredP节点i值,直到确定计算的最大SumPredP节点i值与计算的最小SumPredP节点i值之间至少存在阈值差,使得在具有计算的最大SumPredP节点i值的存储节点与具有计算的最小SumPredP节点i值的存储节点之间移动存储对象有至少阈值益处。
在步骤809中,对驻留在源存储节点中的每个存储对象j计算SumPredP对象i,并选择具有最大SumPredP对象的存储对象作为目标存储对象。应理解,在一些实施方案中,步骤809可以包括仅对驻留在源存储节点中的存储对象的子集而不是对驻留在源存储节点上的所有存储对象计算SumPredP对象。子集中的存储对象的特定数量可以是用户可配置的或基于某个其他因素。作为示例,可以为驻留在源存储节点中的不同存储对象计算SumPredP对象值,直到确定计算的最大SumPredP对象值与计算的最小SumPredP对象值之间至少存在阈值差,使得在将具有计算的最大SumPredP对象值的存储对象移动到具有计算的最小SumPredP对象值的存储对象上有至少阈值益处。
在步骤811中将目标存储对象从源存储节点移动到目的地存储节点。在步骤813中,在目标存储对象重定位之后重新计算当前失衡率μ。在步骤815中,确定是否μ≤Φ。在这里,?是最终用户想要实现的存储集群的预期性能失衡率。选择?的值以避免过多的存储对象迁移操作,否则可能导致资源争用。如果步骤815确定的结果为是,则过程流程800在步骤817中结束。如果步骤815的确定结果为否,则所述过程流程返回到步骤807。
在过程流程800中,存储节点和存储对象性能通过在指定的未来时间段内进行采样来预测,并且驻留在存储集群中的较高负载存储节点(例如,源存储节点)中的最“有价值”存储对象(例如,具有最大值SumPredP对象)从存储集群中的较高负载存储节点移动到存储集群中的最佳较低负载存储节点(例如,目标存储节点)。
在一些实施方案中,在选择源存储节点和目标存储节点以及要从存储集群中的源存储节点移动到目标存储节点的最“有价值”存储对象时,考虑附加的特性或因素。此类特性和因素可以包括为给定存储对象预测的访问频率趋势模式的类型。作为示例,在一些实施方案中,被预测在未来时间段内具有无规律访问频率趋势模式的存储对象可以被认为是作为集群级负载均衡的一部分移动的不良候选者(例如,因为此类存储对象的相关联访问频率在未来的时间段内难以预测)。
此类特性和因素还可以或替代地包括对源存储节点、目标存储节点和存储对象的预测性能的置信度。例如,如果给定存储对象的预测访问频率趋势模式低于某个指定的置信阈值,则这可能指示给定存储对象是作为集群级负载均衡的一部分移动的不良候选者(例如,因为由于预测的低置信度,预测的访问频率趋势模式可能不正确)。
附加的特性和因素可以包括用于以下各项的用户指定的规则:不应在存储节点之间移动的某些存储对象;不同的存储对象是否应或不应共存于存储集群中的同一个存储节点上;等。当选择源存储节点、目标存储节点时以及要从源存储节点移动到目标存储节点的一个或多个存储对象时,可以考虑各种其他特性和因素。
图9示出了存储节点处理负载对时间的曲线图900,其类似于图4的曲线图400,但是过程流程800用于存储集群级负载均衡而不是常规的负载均衡方法。在图9的示例中,存储集群中有六个存储节点。过程流程800在第一时间点901(例如,时间t1)执行,其考虑了对存储节点和存储对象在多个时间点(例如,时间t1至t5)内的性能的预测。因此,从曲线图900可以看出,均衡效果更长期(例如,与在图4的示例中执行的常规负载均衡相比),并且存储节点处理负载在更长的时间段内保持均衡,直到与预测存储节点和存储对象性能的至少时间长度相对应的至少时间903(例如,直到至少时间t5)。因此,可以有利地减少负载均衡操作的频率。重新均衡是基于对存储对象和存储节点的综合性能分析,使得在时间t5无需再次执行重新平衡的情况下,存储集群能够实现充分均衡的性能。这不仅提高了重新均衡的效率,而且减少了存储集群中的资源(例如,存储集群中的存储节点的处理、存储器、存储和网络资源)的消耗,并减少了频繁存储对象移动引起的服务可靠性问题。
应理解,上文和本文其他地方描述的特定优点与特定说明性实施方案相关联,并且不需要在其他实施方案中存在。而且,如在附图中示出并且如上所述的特定类型的信息处理系统特征和功能性仅是示例性的,并且在其他实施方案中可使用众多其他布置。
现在将参考图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.根据权利要求2所述的设备,其中重复所述预测、选择、确定和执行步骤,直到所述存储集群的所述当前性能失衡率低于第二指定阈值失衡率。
4.根据权利要求3所述的设备,其中所述第二指定阈值失衡率小于所述第一指定阈值失衡率。
5.根据权利要求1所述的设备,其中预测所述存储集群的所述两个或更多个存储节点中的给定节点在所述指定的未来时间段内的所述两个或更多个时间点的所述性能指标包括:
确定所述给定存储节点的访问频率趋势模式;以及
利用所述访问频率趋势模式来计算所述给定存储节点在所述指定的未来时间段内的所述两个或更多个时间点中的每一者处的预测的性能指标。
6.根据权利要求5所述的设备,其中确定所述给定存储节点的所述访问频率趋势模式包括生成趋势函数以用于预测所述给定存储节点在所述指定的未来时间段内的所述两个或更多个时间点的数据访问总量。
7.根据权利要求6所述的设备,其中所述给定存储节点的所述访问频率趋势模式包括增加访问频率趋势模式和减少访问频率趋势模式中的一者,并且其中利用最小二乘算法生成所述预测函数。
8.根据权利要求6所述的设备,其中所述访问频率趋势模式包括循环访问频率趋势模式,并且其中利用自相关算法和离散傅立叶变换算法中的至少一者来生成所述预测函数。
9.根据权利要求6所述的设备,其中所述访问频率趋势模式包括无规律访问模式,并且其中利用先前时间段内所述给定存储节点的历史数据访问的平均值生成所述预测函数。
10.根据权利要求1所述的设备,其中所述存储集群的所述两个或更多个存储节点中被选择为所述源存储节点的所述第一存储节点在所述指定的未来时间段内的所述两个或更多个时间点的预测的性能指标的总和高于所述存储集群的所述两个或更多个存储节点中被选择为所述目标存储节点的所述第二存储节点。
11.根据权利要求1所述的设备,其中确定驻留在所述源存储节点上的所述至少一个存储对象是至少部分地基于预测驻留在所述源存储节点上的两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点的性能指标,所述至少一个存储对象在迁移到所述目标存储节点时减少所述存储集群在至少所述指定的未来时间段内的所述性能失衡率。
12.根据权利要求11所述的设备,其中预测驻留在所述源存储节点上的所述两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点的所述性能指标包括:
确定驻留在所述源存储节点上的所述两个或更多个存储对象的访问频率趋势模式;
利用所述确定的访问频率趋势模式来计算驻留在所述源存储节点上的所述两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点中的每一者处的预测的性能指标;以及
至少部分地基于驻留在所述源存储节点上的所述两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点的所述预测的性能指标的总和的比较,选择所述两个或更多个存储对象中驻留在所述源存储节点上的给定存储对象作为所述至少一个存储对象。
13.根据权利要求12所述的设备,其中选择所述两个或更多个存储对象中驻留在所述源存储节点上的所述给定存储对象作为所述至少一个存储对象是进一步至少部分地基于与驻留在所述源存储节点上的所述两个或更多个存储对象相关联的访问频率趋势模式的类型。
14.根据权利要求12所述的设备,其中选择所述两个或更多个存储对象中驻留在所述源存储节点上的所述给定存储对象作为所述至少一个存储对象是进一步至少部分地基于驻留在所述源存储节点上的所述两个或更多个存储对象的预测的所述预测的性能指标的置信度。
15.一种计算机程序产品,其包括其中存储有一个或多个软件程序的程序代码的非暂时性处理器可读存储介质,其中所述程序代码在由至少一个处理装置执行时使所述至少一个处理装置执行以下步骤:
为包括两个或更多个存储节点的存储集群发起负载均衡;
预测所述存储集群的所述两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的性能指标;
至少部分地基于所述存储集群的所述两个或更多个存储节点在所述指定的未来时间段内的所述两个或更多个时间点的所述预测的性能指标,选择所述存储集群的所述两个或更多个存储节点中的第一存储节点作为源存储节点,并选择所述存储集群的所述两个或更多个存储节点中的第二存储节点作为目标存储节点;
确定驻留在所述源存储节点上的至少一个存储对象,所述至少一个存储对象在迁移到所述目标存储节点时,减少所述存储集群在至少所述指定的未来时间段内的性能失衡率;以及
通过将所述至少一个存储对象从所述源存储节点迁移到所述目标存储节点来为所述存储集群执行负载均衡。
16.根据权利要求15所述的计算机程序产品,其中所述存储集群的所述两个或更多个存储节点中被选择为所述源存储节点的所述第一存储节点在所述指定的未来时间段内的所述两个或更多个时间点的预测的性能指标的总和高于所述存储集群的所述两个或更多个存储节点中被选择为所述目标存储节点的所述第二存储节点。
17.根据权利要求15所述的计算机程序产品,其中确定驻留在所述源存储节点上的所述至少一个存储对象是至少部分地基于预测驻留在所述源存储节点上的两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点的性能指标,所述至少一个存储对象在迁移到所述目标存储节点时减少所述存储集群在至少所述指定的未来时间段内的所述性能失衡率。
18.一种方法,其包括:
为包括两个或更多个存储节点的存储集群发起负载均衡;
预测所述存储集群的所述两个或更多个存储节点在指定的未来时间段内的两个或更多个时间点的性能指标;
至少部分地基于所述存储集群的所述两个或更多个存储节点在所述指定的未来时间段内的所述两个或更多个时间点的所述预测的性能指标,选择所述存储集群的所述两个或更多个存储节点中的第一存储节点作为源存储节点,并选择所述存储集群的所述两个或更多个存储节点中的第二存储节点作为目标存储节点;
确定驻留在所述源存储节点上的至少一个存储对象,所述至少一个存储对象在迁移到所述目标存储节点时,减少所述存储集群在至少所述指定的未来时间段内的性能失衡率;以及
通过将所述至少一个存储对象从所述源存储节点迁移到所述目标存储节点来为所述存储集群执行负载均衡;
其中所述方法由至少一个处理装置执行,所述处理装置包括处理器,所述处理器耦合到存储器。
19.根据权利要求18所述的方法,其中所述存储集群的所述两个或更多个存储节点中被选择为所述源存储节点的所述第一存储节点在所述指定的未来时间段内的所述两个或更多个时间点的预测的性能指标的总和高于所述存储集群的所述两个或更多个存储节点中被选择为所述目标存储节点的所述第二存储节点。
20.根据权利要求18所述的方法,其中确定驻留在所述源存储节点上的所述至少一个存储对象是至少部分地基于预测驻留在所述源存储节点上的两个或更多个存储对象在所述指定的未来时间段内的所述两个或更多个时间点的性能指标,所述至少一个存储对象在迁移到所述目标存储节点时减少所述存储集群在至少所述指定的未来时间段内的所述性能失衡率。
CN202111417133.5A 2021-11-25 2021-11-25 基于预测的性能指标的存储集群负载均衡 Pending CN116166411A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111417133.5A CN116166411A (zh) 2021-11-25 2021-11-25 基于预测的性能指标的存储集群负载均衡
US17/545,444 US11687257B2 (en) 2021-11-25 2021-12-08 Storage cluster load balancing based on predicted performance metrics

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111417133.5A CN116166411A (zh) 2021-11-25 2021-11-25 基于预测的性能指标的存储集群负载均衡

Publications (1)

Publication Number Publication Date
CN116166411A true CN116166411A (zh) 2023-05-26

Family

ID=86383728

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111417133.5A Pending CN116166411A (zh) 2021-11-25 2021-11-25 基于预测的性能指标的存储集群负载均衡

Country Status (2)

Country Link
US (1) US11687257B2 (zh)
CN (1) CN116166411A (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230185457A1 (en) * 2021-12-13 2023-06-15 Google Llc Optimizing Data Placement Based on Data Temperature and Lifetime Prediction

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751533B1 (en) * 2009-11-25 2014-06-10 Netapp, Inc. Method and system for transparently migrating storage objects between nodes in a clustered storage system
US9285991B2 (en) * 2011-04-29 2016-03-15 International Business Machines Corporation System, method and program product to schedule transfer of data
US11630585B1 (en) * 2016-08-25 2023-04-18 Pure Storage, Inc. Processing evacuation events in a storage array that includes a plurality of storage devices
US10489074B1 (en) * 2017-01-19 2019-11-26 Tintri By Ddn, Inc. Access rate prediction in a hybrid storage device
US10841181B2 (en) * 2017-02-24 2020-11-17 Ciena Corporation Monitoring and auto-correction systems and methods for microservices
US11561714B1 (en) * 2017-07-05 2023-01-24 Pure Storage, Inc. Storage efficiency driven migration
US12014065B2 (en) * 2020-02-11 2024-06-18 Pure Storage, Inc. Multi-cloud orchestration as-a-service
US11875169B2 (en) * 2020-07-21 2024-01-16 Google Llc Optimizing replication-based migration of virtual machines
US20220206871A1 (en) * 2020-12-30 2022-06-30 EMC IP Holding Company LLC Techniques for workload balancing using dynamic path state modifications
US11561700B2 (en) * 2021-01-21 2023-01-24 EMC IP Holding Company LLC Techniques for workload balancing
CN114860150A (zh) * 2021-02-04 2022-08-05 戴尔产品有限公司 在存储群集的存储系统之间执行损耗均衡
CN115309538A (zh) * 2021-05-08 2022-11-08 戴尔产品有限公司 存储资源之间的基于多指标的工作负荷平衡

Also Published As

Publication number Publication date
US20230161488A1 (en) 2023-05-25
US11687257B2 (en) 2023-06-27

Similar Documents

Publication Publication Date Title
US8484356B1 (en) System and method for allocating a storage unit for backup in a storage system with load balancing
US12093552B2 (en) Data movement between storage tiers of a clustered storage system based on predicted data access frequency trend patterns
US11740824B2 (en) Performing wear leveling between storage systems of a storage cluster
US20220357998A1 (en) Multiple metric-based workload balancing between storage resources
US11099754B1 (en) Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations
US11687257B2 (en) Storage cluster load balancing based on predicted performance metrics
US11656773B2 (en) Automatic management of file system capacity using predictive analytics for a storage system
US11914875B2 (en) Storage workload allocation based on input/output pattern affinity calculations
US11748376B1 (en) Selection of data for transmission from different asynchronous data replication sessions running on a storage system
US20230214364A1 (en) Data placement selection among storage devices associated with nodes of a distributed file system cluster
CN114610227B (zh) 将存储系统集群化以共享用于去重的数据模式
US20230079746A1 (en) Managing cache replacement in a storage cache based on input-output access types of data stored in the storage cache
CN116954475A (zh) 利用强化学习框架进行存储系统io节流
US11803305B1 (en) Wear leveling between storage devices of a storage system based on input/output patterns of storage objects
US20230333874A1 (en) Virtual volume placement based on activity level
US20240264763A1 (en) Proactive rebalancing of data among storage devices that are part of a virtual disk
US20240086369A1 (en) Automatic file system capacity management using file system utilization prediction
US12008238B2 (en) Data movement based on write penalties of input/output patterns associated with storage objects
US20230281049A1 (en) Data movement between storage tiers of a clustered storage system based on input/output patterns of storage objects
US11079951B2 (en) Multi-tier storage and mirrored volumes
US11880606B2 (en) Moving virtual volumes among storage nodes of a storage cluster based on determined likelihood of designated virtual machine boot conditions
CN116263731A (zh) 利用强化学习框架来产生用于性能测试的参数值
CN118092781A (zh) 用于多阶段基于文件的数据迁移的数据选择
CN117806529A (zh) 存储装置之间的数据布局选择

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