CN115309538A - 存储资源之间的基于多指标的工作负荷平衡 - Google Patents
存储资源之间的基于多指标的工作负荷平衡 Download PDFInfo
- Publication number
- CN115309538A CN115309538A CN202110501884.9A CN202110501884A CN115309538A CN 115309538 A CN115309538 A CN 115309538A CN 202110501884 A CN202110501884 A CN 202110501884A CN 115309538 A CN115309538 A CN 115309538A
- Authority
- CN
- China
- Prior art keywords
- storage
- storage resources
- workload level
- workload
- time
- 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
- 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/505—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 the load
-
- 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/5083—Techniques for rebalancing the load in a distributed system
-
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0635—Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
-
- 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
- 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/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1012—Load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5022—Workload threshold
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
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)
- Computer Networks & Wireless Communication (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种设备包括处理装置,所述处理装置被配置为确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标。所述处理装置还被配置为识别两个或更多个存储资源的所述集合的性能失衡率并响应于以下各项而对两个或更多个存储资源的所述集合执行工作负荷平衡:(i)两个或更多个存储资源的所述集合的所述性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的所述集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平。
Description
技术领域
本领域总体上涉及信息处理,并且更具体地涉及信息处理系统中的存储。
背景技术
存储阵列和其他类型的存储系统通常由多个主机装置通过网络共享。在主机装置上运行的应用程序各自包括执行应用程序功能性的一个或多个进程。此类进程发出输入输出(IO)操作请求以输送到存储系统。存储系统的存储控制器服务于此类IO操作请求。在一些信息处理系统中,可以使用多个存储系统来形成存储集群。
发明内容
本公开的说明性实施例提供了用于执行存储资源之间的基于多指标的工作负荷平衡的技术。
在一个实施例中,一种设备包括至少一个处理装置,所述处理装置包括耦合到存储器的处理器。所述至少一个处理装置被配置为执行确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平的步骤,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标。所述至少一个处理装置还被配置为执行识别两个或更多个存储资源的所述集合的性能失衡率并响应于以下各项而对两个或更多个存储资源的所述集合执行工作负荷平衡的步骤:(i)两个或更多个存储资源的所述集合的所述性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的所述集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平。对两个或更多个存储资源的所述集合执行工作负荷平衡包括将一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
这些和其他说明性实施例包括但不限于方法、设备、网络、系统和处理器可读存储介质。
附图说明
图1是说明性实施例中的信息处理系统的框图,所述信息处理系统被配置为执行存储资源之间的基于多指标的工作负荷平衡。
图2是说明性实施例中的用于执行存储资源之间的基于多指标的工作负荷平衡的示例性过程的流程图。
图3示出了说明性实施例中的具有实现网络附接存储服务器和相关联的文件系统的多个存储处理器的存储阵列。
图4示出了说明性实施例中的包括主要构件、高速缓冲存储器和缓冲器的存储器架构。
图5A和图5B示出了说明性实施例中的用于实现工作负荷平衡的过程流。
图6和图7示出了说明性实施例中的可以用于实现信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文将参考示例性信息处理系统以及相关联的计算机、服务器、存储装置和其他处理装置来描述示例性实施例。然而,应当理解,实施例不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所用的术语“信息处理系统”意图广泛地解释,以便涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可以包括例如至少一个数据中心或其他类型的基于云的系统,其包括托管访问云资源的租户的一个或多个云。
图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。存储控制器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实现网络附接存储(NAS)服务器或其他类型的存储服务器,主机装置102通过它们来访问文件系统。NAS服务器例如提供用于托管文件系统的文件级存储服务器(例如,NAS服务器用于创建使用服务器消息块(SMB)或网络文件系统(NFS)共享的文件系统)。NAS服务器可以在存储阵列106-1的不同存储处理器(例如,不同的存储控制器110)上实现或运行。此类存储处理器之间的工作负荷平衡可以通过在存储处理器之间移动NAS服务器来实现。经由性能失衡确定模块112和工作负荷平衡模块114来提供此类工作负荷平衡功能性。
性能失衡确定模块112被配置为测量或以其他方式确定存储阵列106-1的每个存储处理器的性能,其中可以使用多个指标(例如,CPU使用率、存储器使用率、IO负荷)来表征性能。在一些实施例中,性能失衡确定模块112还被配置为测量或以其他方式确定存储阵列106-2至106-M中的一个或多个其他存储阵列的一个或多个存储处理器的性能。性能失衡确定模块112进一步被配置为确定在存储阵列106-1的存储处理器中的两个或更多个之间(或在存储阵列106-1的一个或多个存储处理器与存储阵列106-2至106-M中的一个或多个其他存储阵列的一个或多个存储处理器之间)是否存在大于指定的阈值性能失衡率。在确定存在大于指定的阈值性能失衡率时,工作负荷平衡模块114发起一个或多个工作负荷平衡操作。此类工作负荷平衡操作可以包括例如在存储阵列106-1的存储处理器中的不同存储处理器之间(或在存储阵列106-1的一个或多个存储处理器与存储阵列106-2至106-M中的一个或多个其他存储阵列的一个或多个存储处理器之间)移动一个或多个NAS服务器。
性能失衡确定模块112和工作负荷平衡模块114的功能性的至少部分可以至少部分地以存储在存储器中并由处理器执行的软件的形式来实现。
尽管在图1实施例中被示出为在存储阵列106-1的内部和在存储控制器110的外部实现,但是应当理解,性能失衡确定模块112和工作负荷平衡模块114可以至少部分地在存储控制器110的内部或至少部分地在存储阵列106-1的外部(诸如在主机装置102中的一个或多个上或在服务器或存储阵列106-1外部的其他处理平台(例如,包括云计算平台)上)实现。此外,应当理解,存储阵列106-2至106-M中的其他存储阵列可以实现性能失衡确定模块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的其他部分可以被实现为基于云的系统的一部分。
存储阵列106-1的存储装置108可以使用固态驱动器(SSD)来实现。使用诸如快闪存储器的非易失性存储器(NVM)装置来实现此类SSD。可以用于实现存储装置108的至少一部分的其他类型的NVM装置包括非易失性随机存取存储器(NVRAM)、相变RAM(PC-RAM)和磁性RAM(MRAM)。也可以使用多种不同类型的NVM装置或其他存储装置的这些以及各种组合。例如,硬盘驱动器(HDD)可以结合或替代SSD或其他类型的NVM装置使用。因此,可以使用众多其他类型的电子或磁性介质来实现存储装置108的至少一个子集。
存储阵列106可以另外或替代地被配置来实现多层存储系统的多个不同的存储层。例如,给定多层存储系统可以包括使用快闪存储装置或其他类型的SSD实现的快速层或性能层以及使用HDD实现的容量层,其中一个或多个此类层可能是基于服务器的。对本领域技术人员显而易见的是,在其他实施例中可以使用多种其他类型的存储装置和多层存储系统。在给定存储层中使用的特定存储装置可以根据给定实施例的特定需求而变化,并且可以在单个存储层中使用多种不同的存储装置类型。如先前所指示,如本文所用的术语“存储装置”意图广泛地解释,并且因此可涵盖例如SSD、HDD、快闪驱动器、混合驱动器或其他类型的存储产品和装置或其部分,并且说明性地包括逻辑存储装置诸如LUN。
作为另一个示例,存储阵列106可以用于在包括由一个或多个网络互连的多个存储节点的集群存储系统中实现一个或多个存储节点。
因此,应显而易见的是,如本文所用的术语“存储阵列”意图广泛地解释,并且可涵盖可商购获得的存储阵列的多个不同的实例。
在说明性实施例中可以用于实现给定存储系统的其他类型的存储产品包括软件定义的存储、云存储、基于对象的存储以及横向扩展存储。在说明性实施例中,这些和其他存储类型中的多个的组合也可以用于实现给定的存储系统。
在一些实施例中,存储系统包括以主动-主动配置布置的第一存储阵列和第二存储阵列。例如,此类布置可以用于确保利用同步复制过程将存储在存储阵列中的一个中的数据复制到存储阵列中的另一个。跨多个存储阵列的此类数据复制可以用于促进系统100中的故障恢复。因此,存储阵列中的一个可以相对于充当备份或恢复存储阵列的另一存储阵列充当生产存储阵列。
然而,应当理解,本文所公开的实施例不限于主动-主动配置或任何其他特定存储系统布置。因此,本文中的说明性实施例可以使用多种其他布置(包括例如主动-被动布置、主动-主动非对称逻辑单元访问(ALUA)布置和其他类型的ALUA布置)来配置。
这些和其他存储系统可以是本文更一般地称为处理平台的一部分,所述处理平台包括一个或多个处理装置,每个处理装置包括耦合到存储器的处理器。给定的此类处理装置可以对应于一个或多个虚拟机或其他类型的虚拟化基础设施,诸如Docker容器或其他类型的LXC。如上文所指示的,系统100的此类元件之间的通信可以在一种或多种网络上进行。
如本文所使用的术语“处理平台”旨在被广义地解释,以包括例如但不限于被配置为通过一种或多种网络进行通信的多组处理装置和一个或多个相关联的存储系统。例如,主机装置102的分布式实现方式是可能的,其中主机装置102中的某些主机装置驻留在处于第一地理位置的一个数据中心中,而主机装置102中的其他主机装置驻留在处于可能远离第一地理位置的一个或多个其他地理位置的一个或多个其他数据中心中。存储阵列106可以至少部分地在第一地理位置、第二地理位置和一个或多个其他地理位置中实现。因此,在系统100的一些实现方式中,主机装置102中的不同主机装置和存储阵列106可以驻留在不同的数据中心。
主机装置102和存储阵列106的众多其他分布式实现方式是可能的。因此,主机装置102和存储阵列106也可以通过分布式方式跨多个数据中心实现。
下面将结合图6和图7更详细地描述在说明性实施例中的用于实现系统100的部分的处理平台的附加示例。
应当理解,图1中示出的用于执行存储资源之间的基于多指标的工作负荷平衡的特定元件集仅通过说明性示例呈现,并且在其他实施例中,可使用附加的或替代的元件。因此,另一个实施例可以包括附加的或替代系统、装置和其他网络实体,以及模块和其他部件的不同布置。
应当理解,仅通过示例呈现说明性实施例的这些和其他特征,并且不应以任何方式将其解释为限制性的。
现在将参考图2的流程图更详细地描述用于执行存储资源之间的基于多指标的工作负荷平衡的示例性过程。应当理解,该特定过程仅是示例,并且在其他实施例中可以使用用于执行存储资源之间的基于多指标的工作负荷平衡的附加或替代过程。
在该实施例中,所述过程包括步骤200至204。假设这些步骤由性能失衡确定模块112和工作负荷平衡模块114执行。该过程开始于步骤200:确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标。两个或更多个存储资源的集合可以包括单个存储系统的两个或更多个存储处理器,或者两个或更多个存储系统的两个或更多个两个或更多个存储处理器。
处理器性能指标可以包括与两个或更多个不同时间间隔相关联的两个或更多个存储器使用率指标的加权和。与两个或更多个不同时间间隔相关联的两个或更多个处理器使用率指标可以包括:第一处理器使用率指标,其表征相对于当前时间的第一时间段内给定存储资源的处理器使用率的当前状态;第二处理器使用率,其表征相对于当前时间的第二时间段内给定存储资源的处理器使用率的最近状态,第二时间段长于第一时间段;以及第三处理器使用率,其表征相对于当前时间的第三时间段内给定存储资源的处理器使用率的持久状态,第三时间段长于第二时间段。
存储器性能指标可以包括与两个或更多个不同时间相关联的两个或更多个存储器使用率指标的加权和。与两个或更多个不同时间相关联的两个或更多个存储器使用率指标可以包括:第一存储器使用率指标,其表征在相对于当前时间的第一时间点处给定存储资源的存储器使用率的百分比;第二存储器使用率指标,其表征在相对于当前时间的第二时间点处给定存储资源的存储器使用率的百分比,第二时间点比第一时间点更晚;以及第三存储器使用率指标,其表征在相对于当前时间的第三时间点处给定存储资源的存储器使用率的百分比,第三时间点比第二时间点更晚。两个或更多个存储器使用率指标中的每一个包括两个或更多个不同时间中的一个时间内主存储器使用率、高速缓冲存储器使用率和缓冲器存储器使用率之和。
负荷性能指标可以包括与两个或更多个不同时间相关联的两个或更多个负荷指标的加权和。与两个或更多个不同时间相关联的两个或更多个负荷指标包括:第一负荷指标,其表征在相对于当前时间的第一时间点处给定存储资源的负荷的百分比;第二负荷指标,其表征在相对于当前时间的第二时间点处给定存储资源的负荷的百分比,第二时间点比第一时间点更晚;以及第三负荷指标,其表征在相对于当前时间的第三时间点处给定存储资源的负荷的百分比,第三时间点比第二时间点更晚。两个或多个负荷指标中的每一个可以包括两个或多个不同时间中的一个时间内每秒钟输入-输出操作指标和带宽指标之和,每秒钟输入-输出操作指标可以被表示为每秒的指定最大输入输出操作的百分比,并且带宽指标可以被表示为指定最大带宽的百分比。
图2的过程继续到步骤202:识别两个或更多个存储资源的集合的性能失衡率。在步骤204中,响应于以下各项而对两个或更多个存储资源的集合执行工作负荷平衡:(i)两个或更多个存储资源的集合的性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平。对两个或更多个存储资源的所述集合执行工作负荷平衡包括将一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
步骤204可以包括将在两个或更多个存储资源的集合中的工作负荷水平超过指定的阈值工作负荷水平的至少一个存储资源上运行的一个或多个NAS服务器迁移到两个或更多个存储资源的集合中的一个或多个其他存储资源。将在两个或更多个存储资源的集合中的工作负荷水平超过指定的阈值工作负荷水平的至少一个存储资源上运行的一个或多个NAS服务器迁移到两个或更多个存储资源的集合中的一个或多个其他存储资源可以包括执行以下各项的一次或多次迭代:至少部分地基于在第一工作负荷水平超过指定的阈值工作负荷水平的第一存储资源上运行的给定网络附接存储服务器上创建的文件系统的工作负荷之和来选择所述给定的网络附接存储服务器;在给定的网络附接存储服务器上暂停一次或多次复制会话;将给定的网络附接存储服务器的所有者从第一存储资源改变为第二存储资源,所述第二存储资源的第二工作负荷水平低于第一工作负荷水平;重新计算第一存储资源和第二存储资源的工作负荷水平;以及响应于第二存储资源的重新计算的第二工作负荷水平超过第一存储资源的重新计算的第一工作负荷水平而回滚给定的网络附接存储服务器的所有者的改变。
存储阵列或存储服务器之间的负荷平衡可以集中于使用链路聚合来平衡网络负荷。例如,NAS服务器可以提供负荷平衡功能性,所述功能性集中于使用链路聚合来平衡网络负荷。然而,平衡网络负荷无法解决存储器、CPU、IO或不同存储阵列或存储服务器的存储处理器(SP)的其他使用率中的失衡。此类存储器、CPU、IO或其他失衡可能导致系统级问题,诸如SP过载、存储器不足(OOM)状况、死锁、SP紧急情况等。
说明性实施例提供了用于将基于多指标的工作负荷平衡算法用于存储系统的技术。基于多指标的工作负荷平衡算法考虑了多个指标,诸如CPU使用率、存储器(例如,主存储器、高速缓冲存储器、缓冲器等)使用率、IO负荷(例如,IOPS、带宽)等。在检测到指定的失衡状况时,基于多指标的工作负荷平衡算法可以触发工作负荷平衡动作。可以在SP之间(例如,在同一存储阵列或存储系统内、在两个或多个存储阵列或存储系统之间)发起工作负荷平衡动作。例如,这可以包括在SP之间移动NAS服务器以实现更好的文件性能和整体系统可靠性。有利的是,相对于仅考虑链路聚合并利用网络接口卡(NIC)分组或捆绑来实现网络级平衡的方法,此类方法提供了改善的平衡。
在某些用例场景中,用户(例如,存储管理员、存储客户或其他最终用户等)可以创建多个NAS服务器和文件系统。在配置存储阵列以实现在其上运行NAS服务器的SP之间的负荷平衡时,用户需要估计这些NAS服务器和文件系统的工作负荷。然而,尤其是当NAS服务器的数量和文件系统的数量增加时,生成准确估计是一项艰巨的任务。此外,此类估计是静态的。负荷可能随时间动态变化,因此如果使用静态工作负荷估计来配置NAS服务器和文件系统,则工作负荷失衡是有可能的或不可避免的。如果SP之间的工作负荷失衡变得太大,则可能导致各种性能问题,包括IO服务质量(QoS)下降。对于SP过载,工作负荷失衡还会导致各种系统级问题,诸如OOM、死锁、SP紧急情况等。
图3示出了包括多个SP 305-1、305-2、...、305-P(统称为SP 305)的存储阵列300的示例,每个SP运行带有文件系统315-1、315-2、...、315-P(统称为文件系统315)的相关联集合的一个或多个NAS服务器310-1、310-2、...、310-P(统称为NAS服务器310)。尽管图3示出了SP 305中的每一个实现或运行NAS服务器310的集合的示例,但是这不是必需的。例如,存储阵列可以包括多个SP,其中只有SP的子集可以实现或运行NAS服务器。此外,每个SP305可以实现或运行不同数量的NAS服务器310和相关联的文件系统315。例如,SP 305-1可以运行两个NAS服务器310,而SP 305-2可以运行单个NAS服务器310(或超过两个NAS服务器310)。此外,NAS服务器310中的每一个可以与任何期望数量的文件系统315相关联。在一些情况下,NAS服务器310与文件系统315之间存在一对一关系(例如,每个NAS服务器310与文件系统315中的一个相关联)。在其他情况下,NAS服务器310中的一个或多个可以与文件系统315中的多于一个文件系统相关联。更进一步地,NAS服务器和文件系统不限于在单个存储阵列上部署或运行。用户可以配置多个存储阵列,每个存储阵列包括运行或实现一个或多个NAS服务器和相关联的文件系统的一个或多个SP。在一些实施例中,NAS服务器可以在存储阵列的外部(例如,诸如在专用服务器上,使用云计算平台等)实现。
在一些实施例中,基于动态多指标的工作负荷平衡算法用于NAS或其他类型的存储服务器或更一般的存储系统。基于动态多指标的工作负荷平衡算法考虑了多个指标(包括CPU使用率、存储器使用率(例如,主存储器使用率、高速缓冲存储器使用率、缓冲器使用率)、IO负荷(例如,IOPS、带宽等))来触发SP之间的工作负荷平衡操作。此类工作负荷平衡操作可以包括当第一SP与第二SP之间的工作负荷指标超过某个指定的工作负荷失衡阈值时在SP之间移动NAS服务器。还可以定义最小负荷阈值,其中如果SP的负荷低于最小负荷阈值,则不会触发平衡(例如,假设在低于最小负荷阈值时SP可以处理自己的负荷)。在一些情况下,可以为每个SP、每个存储阵列等定义不同的最小负荷阈值。基于动态多指标的工作负荷平衡算法可以利用SP资源来获得更好的文件性能和系统可靠性,从而避免各种不良状况(例如,OOM问题)。
可以使用各种标准来测量存储阵列或存储系统的性能,包括CPU使用率、存储器使用率和IO负荷。可以如下更详细地定义这些标准。如果此类标准中的任一个或组合过高(例如,如使用相应的阈值定义),则可能会导致其相关联的存储阵列或存储系统出现性能问题并可能导致错误。为了评估SP的性能或总工作负荷,基于CPU使用率、存储器使用率和IO负荷的标准使用了加权标准方法:
C=ωCPU·PCPU+ωMem·PMem+ωIO·PIO
其中PCPU、PMem和PIO分别表示CPU使用率百分比、存储器使用率百分比和IO负荷百分比,其中ωCPU、ωMem和ωIO分别表示CPU使用率、存储器使用率和IO负荷标准的权重,并且其中ωCPU+ωMem+ωIO=1。通过调整权重,可以实现更好的总体平衡结果。权重的特定值可以基于用例来选择。在一些实施例中,ωCPU、ωMem和ωIO分别默认被分配值0.34、0.33和0.33。在一些用例中,最初可以使用默认权重值,其中基于真实世界使用数据随时间调整权重值以实现更好的整体平衡结果。此类调整过程可以用于本文描述的一些或全部权重集合。总工作负荷评估值C越高,SP的性能就越差。
为了进行CPU性能评估,一些实施例考虑了平均CPU使用率,所述平均CPU使用率表示一段时间内的平均系统负荷。在基于Unix和Linux的系统中,平均CPU使用率可能以三个数字的形式出现,这三个数字表示最后一分钟时间段、最后五分钟时间段和最后十五分钟时间段期间的系统负荷(例如,分别被标示为PCPU,1分钟、PCPU,5分钟和PCPU,15分钟)。通常,PCPU,1分钟反映系统当前状态,PCPU,5分钟反映系统最新状态,并且PCPU,15分钟反映系统持久状态。如果PCPU,15分钟、PCPU,5分钟和PCPU,1分钟示出了增加或减少趋势,则意味着CPU性能随时间推移变得越来越差或越来越好。如果PCPU,1分钟≈PCPU,5分钟≈PCPU,15分钟,则意味着CPU性能随时间推移保持不变(例如,繁忙或空闲)。
在CPU使用率的不同时间序列(例如,随机、周期等)中,CPU15分钟、CPU5分钟和CPU1分钟参数对于整个或整体CPU性能可能具有不同含义。在一些实施例中,利用了最后一分钟、最后五分钟和最后十五分钟的加权平均CPU使用率百分比:
PCPU平均=λ1·PCPU,1分钟+λ2·PCPU,5分钟+λ3·PCPU,15分钟
其中λ1、λ2和λ3分别表示最后一分钟、最后五分钟和最后十五分钟期间CPU使用率百分比的权重,并且其中λ1+λ2+λ3=1。通过调整权重λ1、λ2和λ3,可以获得更好的整体平均CPU使用率性能指标。λ1、λ2和λ3分别默认被分配值0.44、033和0.23。应当注意,尽管以上描述假设在最后一分钟、最后五分钟和最后十五分钟时间段内使用CPU使用率百分比度量,但是这不是必需的。其他实施例可以仅利用这些时间段的子集,或者可以使用一个或多个其他时间段来补充或代替这些时间段中的一个或多个。有利的是,可以使用系统应用程序编程接口(API)获得CPU性能指标。
存储器性能评估可以考虑多个因素,包括主存储器使用率、高速缓冲存储器使用率和缓冲器使用率。CPU通常可直接访问主存储器,其通常被简称为存储器。CPU可以连续地读取存储在主存储器中的指令并根据需要执行它们。任何有效操作的数据也以统一方式存储在主存储器中。高速缓冲存储器用于减少从主存储器访问数据的平均时间,并且可以用于实现提高传递被重复传递的数据的性能。缓冲器用于补偿交换数据的进程或装置之间的速度差异。高速缓冲存储器和缓冲器都可能对系统性能产生重要影响。图4示出了CPU 400、主存储器405、缓冲器410和高速缓冲存储器415的示例性结构。
类似于CPU使用性能评估,不同的存储器使用率状态可能对整个或整体存储器性能具有不同含义。考虑到利用率和释放存储器可能需要一些时间才能实现,因此可以在各个时间(例如,现在、15分钟前和30分钟前)考虑加权平均存储器使用率百分比:
PMem平均=μ1·PMem,现在+μ2·PMem,15分钟+μ3·PMem,30分钟
并且
PMem,时间i=PmainMem,时间i+PcacheMem,时间i+Pbuffer,时间i
其中PMem,现在、PMem,15分钟和PMem,30分钟分别表示现在(例如,当前)、15分钟前和30分钟前的存储器使用率百分比,其中μ1、μ2和μ3分别表示现在、15分钟前和30分钟前的存储器使用率的权重,并且其中μ1+μ2+μ3=1。通过调整这些权重,可以获得更好的整体平均存储器使用率性能指标。用户可以根据特定用例场景的需要选择这些权重的特定值。μ1、μ2和μ3分别默认被分配值0.44、0.33和0.23。应当注意,尽管以上描述假设使用了现在或当前、15分钟前和30分钟前的存储器使用率百分比度量,但这不是必需的。其他实施例可以仅利用这些时间的子集,或者可以使用一个或多个其他时间来补充或代替这些时间中的一个或多个。
IO负荷性能可以考虑多个因素,包括IOPS和带宽。IOPS是用于表征存储装置的IO性能衡量,并且带宽是可以在固定时间内传输的数据量(例如,可以被表达为每秒位数(bps)、每秒字节数等)。类似于CPU和存储器使用性能评估,可以考虑多个时间(例如,现在、5分钟前和15分钟前)的IO负荷性能:
PIO平均=ξ1·PIO,现在+ξ2·PIO,5分钟+ξ3·PIO,15分钟
并且
PIO,时间i=PIOPS,时间i+P带宽,时间期限i
其中PIO,现在、PIO,5分钟和PIO,15分钟分别表示现在(例如,当前)、5分钟前和15分钟前的IO负荷百分比,其中ξ1、ξ2和ξ3分别表示现在、5分钟前和15分钟前的IO负荷的权重,并且其中ξ1+ξ2+ξ3=1。通过调整这些权重,可以实现更好的整体平均IO负荷性能。用户可以根据特定用例场景的需要选择这些权重的特定值。ξ1、ξ2和ξ3分别默认被分配值0.44、0.33和0.23。应当注意,尽管以上描述假设使用了现在或当前、5分钟前和15分钟前的存储器使用率百分比度量,但这不是必需的。其他实施例可以仅利用这些时间的子集,或者可以使用一个或多个其他时间来补充或代替这些时间中的一个或多个。
为了以类似于CPU和存储器指标的百分比格式表示IOPS和带宽指标,可以按以下方式增强或调整IOPS和带宽指标:
其中IOPS最大表示最大理论IOPS值,并且其中带宽最大表示最大理论带宽值。可以通过对与NAS服务器相关联的每个文件系统的负荷求和来确定所述NAS服务器的IO负荷:
在一些实施例中,基于动态多指标的工作负荷平衡算法考虑了上文针对CPU使用率、存储器使用率(例如,主存储器、高速缓冲存储器、缓冲器)和IO负荷(例如,IOPS和带宽)描述的指标以响应于检测到指定的失衡状况而触发工作负荷平衡动作。如上所述,此类工作负荷平衡动作可以包括当给定SP的性能低于某个指定的阈值性能(或正趋于并预计低于某个指定的阈值性能)时在SP之间移动NAS服务器。这样,可以利用SP资源来获得更好的文件性能和系统,同时避免诸如OOM问题的非期望问题。基于动态多指标的工作负荷平衡算法将在下面使用以下表示法进一步详细描述:
C=ωCPU·PCPU平均+ωMem·PMem平均+ωIO·PIO平均
其中C标示SPi的性能或总工作负荷,并且其中PCPU、PMem和PIO分别标示CPU使用率百分比、存储器使用率百分比和IO负荷百分比。
PCPU平均=λ1·PCPU,1分钟+λ2·PCPU,5分钟+λ3·PCPU,15分钟
其中PCPU平均标示加权平均CPU使用率百分比,其中PCPU,1分钟、PCPU,5分钟和PCPU,15分钟分别标示最后一分钟、最后五分钟和最后十五分钟的CPU使用率百分比,其中λ1、λ2和λ3分别标示最后一分钟、最后五分钟和最后十五分钟的CPU使用率百分比的权重,并且其中λ1+λ2+λ3=1。
PMem平均=μ1·PMem,现在+μ2·PMem,15分钟+μ3·PMem,30分钟
其中PMem平均标示加权平均存储器使用率百分比,其中PMem,现在、PMem,15分钟和PMem,30分钟分别标示现在、15分钟前和30分钟前的存储器使用率百分比,其中μ1、μ2和μ3分别标示现在、15分钟前和30分钟前的存储器使用率的权重,并且其中μ1+μ2+μ3=1。
PMem,时间i=PmainMem,时间i+PcacheMem,时间i+Pbuffer,时间i
其中PMem,时间i标示时间i内的存储器使用率,其是时间i处的主存储器使用率(被标示为PmainMem,时间i)、时间i处的高速缓冲存储器使用率(被标示为PcacheMem,时间i)以及时间i处的缓冲器使用率(被标示为Pbuffer,时间i)之和。
PIO平均=ξ1·PIO,现在+ξ2·PIO,5分钟+ξ3·PIO,15分钟
其中PIO平均标示加权平均IO负荷百分比,其中PIO,现在、PIO,5分钟和PIO,15分钟分别标示现在、5分钟前和15分钟前的IO负荷百分比,其中ξ1、ξ2和ξ3分别标示现在、5分钟前和15分钟前的IO负荷的权重,并且其中ξ1+ξ2+ξ3=1。
PIO,时间i=PIOPS,时间i+P带宽,时间期限i
其中PIO,时间i标示时间i内的IO负荷,其是时间i处的IOPS负荷指标(其被标示为PIOPS,时间i)与时间i处的带宽负荷指标(被标示为P带宽,时间i)之和。
其中PIOPS,时间i将时间i处的IOPS负荷指标标示为时间i处相对于最大理论IOPS值(被标示为IOPS最大)的IOPS的百分比(被标示为IOPS时间i),并且其中P带宽,时间i将时间i处的带宽负荷指标标示为时间i处相对于最大理论带宽值(被标示为带宽最大)的带宽的百分比(被标示为带宽时间i)。
其中C平均标示存储阵列或系统整体的平均工作负荷或性能,其中存储阵列或系统包括分别被标示为CSPA和CSPB的两个SP。为了说明清楚起见,在下面的描述中,假设正在考虑的存储阵列或系统中仅存在两个SP。然而,在其他实施例中,存储阵列或系统可以包括任何期望数量的SP,并且可以相应地调整上面的公式和下面的公式。
其中σ标示SPi的工作负荷的标准偏差,并且是对SP工作负荷或性能值分散程度的度量。在此,N=2,这是由于假设存在被标示为SPA和SPB的两个SP。低标准偏差指示SPSPA和SPB的SP工作负荷或性能值趋向于接近集合的均值(也被称为期望值),而高标准偏差指示所述值分散在更宽范围内。
其中φ标示存储阵列或系统的SP性能失衡率。Θ用于标示系统工作负荷或性能的失衡率的可接受阈值,并且Ω标示SP工作负荷的可接受阈值。如果SP的工作负荷高于阈值Ω,则所述算法可以将所述SP视为过载并发起一个或多个工作负荷平衡操作。
基于动态多指标的工作负荷平衡算法将定期评估每个SP的工作负荷或性能。继续上面带有两个SPSPA和SPB的示例,将确定CSPA和CSPB以及SP性能失衡率φ。触发工作负荷平衡操作存在多个条件,包括:(1)失衡率φ是否超过阈值Θ;以及(2)任何SP的工作负荷C是否超过阈值Ω。在一些实施例中,如果仅满足条件(1)但不满足条件(2),则由于每个SP的工作负荷低于阈值Ω并且所述算法认为每个SP可以处理其自己的工作负荷而不会负面影响性能或引起系统问题,因此无需执行工作负荷平衡操作。因此,可以避免由于执行工作负荷平衡操作而引起的不必要的资源消耗。如果满足条件(1)和(2)两者(其中对于至少一个SP但不一定是所有SP应满足条件(2)),则将发起工作负荷平衡操作。
图5A和图5B示出了示出基于动态多指标的工作负荷平衡算法的过程流,其包括工作负荷平衡操作的性能。如图5A所示,过程流从步骤501开始,并且在步骤503中计算SPSPA和SPB的工作负荷。在步骤505中,确定失衡率φ(例如,SPA与SPB之间的失衡率)是否超过阈值Θ,并且SP的工作负荷C中的至少一个超过阈值Ω。如果步骤505的确定结果为“否”,则所述过程在步骤521中结束。如果步骤505的确定结果为“是”,则所述过程进行到步骤507。
在步骤507中,将具有最差性能的SP(例如,在该示例中,在SPA和SPB中具有较高CSP的SP)选择为源SP,并且选择具有更好性能的SP作为目标存储处理器。在步骤509中,对于源SP中满足SP所有者更改条件的每个NAS服务器,计算在所述NAS服务器上创建的所有文件系统的工作负荷之和,并且选择具有最高工作负荷(性能最差)(被标示为CNas服务器)的NAS服务器作为目标NAS服务器。在步骤511中,暂停目标NAS服务器及其文件系统上的所有复制会话。
如图5B所示,过程流继续进行到步骤513,其中目标NAS服务器的SP所有者从源SP改变为目标SP。在步骤515中,重新计算SPSPA和SPB的工作负荷CSPA和CSPB。在步骤517中,确定源SP的重新计算的工作负荷C源SP是否小于目标SP的重新计算的工作负荷C目标SP。如果步骤517的确定结果为“否”,则所述过程流返回到步骤507。如果步骤517的确定结果为“是”,则所述过程流进行到步骤519,其中目标NAS服务器的SP所有者的更改被回滚到源SP。然后,所述过程流在步骤521中结束。
在图5A和图5B的过程流中,假设可以以透明的方式在同一存储阵列或系统中的SP之间(例如,在同一“机柜”中的SP之间)以本地方式移动NAS服务器。常规上,同一机柜中的SP之间的透明本地NAS服务器移动性只能手动触发SP之间的NAS服务器移动。SP之间的自动平衡具有各种优势以避免发生性能问题。在此类情况下,应在SP所有者更改之前暂停所有复制会话。在一些实施例中,本地NAS服务器移动性具有两个局限性:所述移动并非在所有情况下都是透明的,仅对特定环境(例如,NFSv3和SMB3+CA客户环境)透明;以及文件导入目标NAS服务器不允许在SP之间移动。在确定目标NAS服务器时可以考虑这些局限性(例如,只有满足此类条件的NAS服务器才有资格选择为目标NAS服务器)。然而,应当理解,上述条件和局限性特定于用于同一机柜中的SP之间的透明本地NAS服务器移动性的一种技术,并且不一定适用于使得NAS服务器能够在SP中移动的其他类型的技术。
相对于常规方法,说明性实施例提供了各种优点。例如,一些实施例对NAS服务器利用基于多指标的工作负荷平衡算法,所述多指标的工作负荷平衡算法考虑CPU使用率、存储器使用率和IO负荷指标以通过在SP之间移动NAS服务器来触发SP之间的工作负荷平衡操作以获得更好的文件性能和系统可靠性。相对于仅以网络级执行平衡的方法(例如,使用NIC捆绑的链路聚合方法),所述算法具有各种优势。当SP发生故障或脱机时,可以使用NAS服务器故障转移。然而,本文所述的算法能够自动触发SP之间的工作负荷平衡以避免可能导致SP发生故障或脱机的问题(例如,OOM问题、SP紧急情况等)。在以上描述中,假设使用基于文件的存储装置而不是基于块的存储装置。块装置可以利用多路径技术在主机侧执行工作负荷平衡。此外,块侧管理粒度可以处于LUN级。如果以LUN级获得CPU、存储器使用率和IO负荷指标,则上述技术可以类似地应用于块存储装置以增强块侧工作负荷平衡。
应当理解,上文和本文其他地方描述的特定优点与特定说明性实施例相关联,并且不需要存在于其他实施例中。而且,如在图式中示出并且如上所述的特定类型的信息处理系统特征和功能性仅是示例性的,并且在其他实施例中可使用众多其他布置。
现在将参考图6和图7更详细地描述用于实现用于执行存储资源之间的基于多指标的工作负荷平衡的功能性的处理平台的说明性实施例。尽管在系统100的上下文中进行了描述,但是在其他实施例中,这些平台也可以用于实现其他信息处理系统的至少部分。
图6示出包括云基础设施600的示例性处理平台。云基础设施600包括可以用于实现图1中的信息处理系统100的至少一部分的物理和虚拟处理资源的组合。云基础设施600包括使用虚拟化基础设施604实现的多个虚拟机(VM)和/或容器集合602-1、602-2、...、602-L。虚拟化基础设施604在物理基础设施605上运行,并且说明性地包括一个或多个管理程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型的操作系统的内核控制组。
云基础设施600还包括在虚拟化基础设施604的控制下在VM/容器集合602-1、602-2、...、602-L中的相应VM/容器集合上运行的应用程序610-1、610-2、...、610-L的集合。VM/容器集合602可以包括相应VM、一个或多个容器的相应集合、或在VM中运行的一个或多个容器的相应集合。
在图6的实施例的一些实现方式中,VM/容器集合602包括使用包括至少一个管理程序的虚拟化基础设施604实现的相应VM。管理程序平台可以用于在虚拟化基础设施604内实现管理程序,其中所述管理程序平台具有相关联虚拟基础设施管理系统。底层物理机器可以包括一个或多个分布式处理平台,所述分布式处理平台包括一个或多个存储系统。
在图6的实施例的其他实现方式中,VM/容器集合602包括使用提供操作系统级虚拟化功能性(例如,支持在裸金属主机上运行的Docker容器或在VM上运行的Docker容器)的虚拟化基础设施604实现的相应容器。容器说明性地使用操作系统的相应内核控制组来实现。
从上面显而易见的是,系统100的处理模块或其他部件中的一者或多者可以各自在计算机、服务器、存储装置或其他处理平台元件上运行。给定此类元件可以被视为在本文中更一般地称为“处理装置”的示例。图6所示的云基础设施600可以表示一个处理平台的至少一部分。此类处理平台的另一个示例是图7所示的处理平台700。
在该实施例中,处理平台700包括系统100的一部分,并且包括通过网络704彼此通信的标示为702-1、702-2、702-3、...、702-K的多个处理装置。
网络704可以包括任何类型的网络,例如包括全球计算机网络(诸如互联网)、WAN、LAN、卫星网络、电话或有线网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络),或这些和其他类型网络的各种部分或组合。
处理平台700中的处理装置702-1包括耦合到存储器712的处理器710。
处理器710可以包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理电路,以及此类电路元件的部分或组合。
存储器712可以任何组合的形式包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器或其他类型的存储器。存储器712和本文所公开的其他存储器应被视为更一般地称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的说明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施例。给定的此类制品可以包括例如存储阵列、存储磁盘或包含RAM、ROM、快闪存储器或其他电子存储器的集成电路,或多种其他类型的计算机程序产品中的任何一种。如本文所用的术语“制品”应被理解为排除瞬时的传播信号。可以使用包括处理器可读存储介质的众多其他类型的计算机程序产品。
处理装置702-1中还包括网络接口电路714,其用于将处理装置与网络704和其他系统部件介接,并且可以包括常规收发器。
处理平台700的其他处理装置702假设以与针对图中的处理装置702-1所示的方式类似的方式进行配置。
而且,仅通过示例呈现图中所示的特定处理平台700,并且系统100可以包括另外的或替代的处理平台,以及以任何组合的形式包括众多不同的处理平台,其中每个这样的平台包括一个或多个计算机、服务器、存储装置或其他处理装置。
例如,用于实现说明性实施例的其他处理平台可以包括融合基础设施。
因此,应当理解,在其他实施例中,可以使用附加的或替代元件的不同布置。这些元素的至少一个子集可以在公共处理平台上共同实现,或者每个此类元素可以在单独的处理平台上实现。
如先前所指示,如本文所公开的信息处理系统的部件可以至少部分地以存储在存储器中并且由处理装置的处理器执行的一个或多个软件程序的形式来实现。例如,以在一个或多个处理装置上运行的软件的形式说明性地实现了如本文所公开的用于在存储资源之间执行基于多指标的工作负荷平衡的功能性的至少部分。
应再次强调,上述实施例仅出于说明目的而呈现。可以使用许多变型和其他替代的实施例。例如,所公开的技术可适用于多种多样其他类型的信息处理系统、存储系统、性能指标等。而且,在附图中说明性地示出的系统和装置元件的特定配置以及相关联的处理操作在其他实施例中可能改变。此外,以上在描述说明性实施例的过程中做出的各种假设也应被视为示例性的,而不是对本公开的要求或限制。所附权利要求的范围内的众多其他替代实施例对于本领域技术人员将是显而易见的。
Claims (20)
1.一种设备,其包括:
至少一个处理装置,所述至少一个处理装置包括耦合到存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标;
识别两个或更多个存储资源的所述集合的性能失衡率;并且
响应于以下各项而对两个或更多个存储资源的所述集合执行工作负荷平衡:(i)两个或更多个存储资源的所述集合的所述性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的所述集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平;
其中对两个或更多个存储资源的所述集合执行工作负荷平衡包括将一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
2.根据权利要求1所述的设备,其中两个或更多个存储资源的所述集合包括单个存储系统的两个或更多个存储处理器。
3.根据权利要求1所述的设备,其中两个或更多个存储资源的所述集合包括两个或更多个存储系统的两个或更多个存储处理器。
4.根据权利要求1所述的设备,其中所述处理器性能指标包括与两个或更多个不同时间间隔相关联的两个或更多个处理器使用率指标的加权和。
5.根据权利要求4所述的设备,其中与所述两个或更多个不同时间间隔相关联的所述两个或更多个处理器使用率指标包括:
第一处理器使用率指标,其表征相对于当前时间的第一时间段内给定存储资源的处理器使用率的当前状态;
第二处理器使用率,其表征相对于所述当前时间的第二时间段内所述给定存储资源的处理器使用率的最近状态,所述第二时间段长于所述第一时间段;以及
第三处理器使用率,其表征相对于所述当前时间的第三时间段内所述给定存储资源的处理器使用率的持久状态,所述第三时间段长于所述第二时间段。
6.根据权利要求1所述的设备,其中所述存储器性能指标包括与两个或更多个不同时间相关联的两个或更多个存储器使用率指标的加权和。
7.根据权利要求6所述的设备,其中与所述两个或更多个不同时间相关联的所述两个或更多个存储器使用率指标包括:
第一存储器使用率指标,其表征在相对于当前时间的第一时间点处给定存储资源的存储器使用率的百分比;
第二存储器使用率指标,其表征在相对于所述当前时间的第二时间点处所述给定存储资源的存储器使用率的百分比,所述第二时间点比所述第一时间点更晚;以及
第三存储器使用率指标,其表征在相对于所述当前时间的第三时间点处所述给定存储资源的存储器使用率的百分比,所述第三时间点比所述第二时间点更晚。
8.根据权利要求6所述的设备,其中所述两个或更多个存储器使用率指标中的每一者包括所述两个或更多个不同时间中的一个时间内主存储器使用率、高速缓冲存储器使用率和缓冲器存储器使用率之和。
9.根据权利要求1所述的设备,其中所述负荷性能指标包括与两个或更多个不同时间相关联的两个或更多个负荷指标的加权和。
10.根据权利要求9所述的设备,其中与所述两个或更多个不同时间相关联的所述两个或更多个负荷指标包括:
第一负荷指标,其表征在相对于当前时间的第一时间点处给定存储资源的负荷的百分比;
第二负荷指标,其表征在相对于所述当前时间的第二时间点处所述给定存储资源的负荷的百分比,所述第二时间点比所述第一时间点更晚;以及
第三负荷指标,其表征在相对于所述当前时间的第三时间点处所述给定存储资源的负荷的百分比,所述第三时间点比所述第二时间点更晚。
11.根据权利要求1所述的设备,其中所述两个或多个负荷指标中的每一者包括所述两个或多个不同时间中的一个时间内每秒钟输入-输出操作指标和带宽指标之和,其中所述每秒钟输入-输出操作指标被表示为每秒的指定最大输入输出操作的百分比,并且其中所述带宽指标被表示为指定最大带宽的百分比。
12.根据权利要求1所述的设备,其中将所述一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源包括将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的所述一个或多个其他存储资源。
13.根据权利要求12所述的设备,其中将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的所述一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的所述一个或多个其他存储资源包括执行以下一次或多次迭代:
至少部分地基于在第一工作负荷水平超过所述指定的阈值工作负荷水平的第一存储资源上运行的给定网络附接存储服务器上创建的文件系统的工作负荷之和来选择所述给定的网络附接存储服务器;
在所述给定的网络附接存储服务器上暂停一次或多次复制会话;以及
将所述给定的网络附接存储服务器的所有者从所述第一存储资源改变为第二存储资源,所述第二存储资源的第二工作负荷水平低于所述第一工作负荷水平。
14.根据权利要求13所述的设备,其中所述一次或多次迭代中的每一次迭代还包括:
重新计算所述第一存储资源和所述第二存储资源的工作负荷水平;以及
响应于所述第二存储资源的所述重新计算的第二工作负荷水平超过所述第一存储资源的所述重新计算的第一工作负荷水平而回滚所述给定的网络附接存储服务器的所有者的所述改变。
15.一种计算机程序产品,其包括非暂时性处理器可读存储介质,所述非暂时性处理器可读存储介质在其中存储有一个或多个软件程序的程序代码,其中所述程序代码在由至少一个处理装置执行时使所述至少一个处理装置执行以下步骤:
确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标;
识别两个或更多个存储资源的所述集合的性能失衡率;并且
响应于以下各项而对两个或更多个存储资源的所述集合执行工作负荷平衡:(i)两个或更多个存储资源的所述集合的所述性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的所述集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平;
其中对两个或更多个存储资源的所述集合执行工作负荷平衡包括将一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
16.根据权利要求15所述的计算机程序产品,其中将所述一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源包括将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
17.根据权利要求16所述的计算机程序产品,其中将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的所述一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的所述一个或多个其他存储资源包括执行以下一次或多次迭代:
至少部分地基于在第一工作负荷水平超过所述指定的阈值工作负荷水平的第一存储资源上运行的给定网络附接存储服务器上创建的文件系统的工作负荷之和来选择所述给定的网络附接存储服务器;
在所述给定的网络附接存储服务器上暂停一次或多次复制会话;以及
将所述给定的网络附接存储服务器的所有者从所述第一存储资源改变为第二存储资源,所述第二存储资源的第二工作负荷水平低于所述第一工作负荷水平。
18.一种方法,其包括:
确定两个或更多个存储资源的集合中的每个存储资源的工作负荷水平,所述工作负荷水平是至少部分地基于处理器性能指标、存储器性能指标以及负荷性能指标;
识别两个或更多个存储资源的所述集合的性能失衡率;以及
响应于以下各项而对两个或更多个存储资源的所述集合执行工作负荷平衡:(i)两个或更多个存储资源的所述集合的所述性能失衡率超过指定的失衡率阈值;以及(ii)两个或更多个存储资源的所述集合中的至少一个存储资源的工作负荷水平超过指定的阈值工作负荷水平;
其中对两个或更多个存储资源的所述集合执行工作负荷平衡包括将一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源;并且
其中所述方法由至少一个处理装置执行,所述至少一个处理装置包括耦合到存储器的处理器。
19.根据权利要求18所述的方法,其中将所述一个或多个工作负荷从两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源包括将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的一个或多个其他存储资源。
20.根据权利要求19所述的方法,其中将在两个或更多个存储资源的所述集合中的所述工作负荷水平超过所述指定的阈值工作负荷水平的所述至少一个存储资源上运行的所述一个或多个网络附接存储服务器迁移到两个或更多个存储资源的所述集合中的所述一个或多个其他存储资源包括执行以下一次或多次迭代:
至少部分地基于在第一工作负荷水平超过所述指定的阈值工作负荷水平的第一存储资源上运行的给定网络附接存储服务器上创建的文件系统的工作负荷之和来选择所述给定的网络附接存储服务器;
在所述给定的网络附接存储服务器上暂停一次或多次复制会话;以及
将所述给定的网络附接存储服务器的所有者从所述第一存储资源改变为第二存储资源,所述第二存储资源的第二工作负荷水平低于所述第一工作负荷水平。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501884.9A CN115309538A (zh) | 2021-05-08 | 2021-05-08 | 存储资源之间的基于多指标的工作负荷平衡 |
US17/335,293 US20220357998A1 (en) | 2021-05-08 | 2021-06-01 | Multiple metric-based workload balancing between storage resources |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110501884.9A CN115309538A (zh) | 2021-05-08 | 2021-05-08 | 存储资源之间的基于多指标的工作负荷平衡 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115309538A true CN115309538A (zh) | 2022-11-08 |
Family
ID=83853511
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110501884.9A Pending CN115309538A (zh) | 2021-05-08 | 2021-05-08 | 存储资源之间的基于多指标的工作负荷平衡 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20220357998A1 (zh) |
CN (1) | CN115309538A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149099A (zh) * | 2023-10-31 | 2023-12-01 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器系统及控制方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220276906A1 (en) * | 2021-02-26 | 2022-09-01 | Google Llc | Controlling System Load Based On Memory Bandwidth |
CN116166411A (zh) * | 2021-11-25 | 2023-05-26 | 戴尔产品有限公司 | 基于预测的性能指标的存储集群负载均衡 |
US20240256139A1 (en) * | 2023-01-26 | 2024-08-01 | Dell Products L. P. | System and Method for Managing Storage Saturation in Storage Systems |
US20240256140A1 (en) * | 2023-01-26 | 2024-08-01 | Dell Products L.P. | System and Method for Managing Storage Saturation in Storage Systems |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3618442B2 (ja) * | 1996-02-08 | 2005-02-09 | 株式会社東芝 | マイクロプロセッサのパワーエスティメータ装置 |
US6457139B1 (en) * | 1998-12-30 | 2002-09-24 | Emc Corporation | Method and apparatus for providing a host computer with information relating to the mapping of logical volumes within an intelligent storage system |
US20020164962A1 (en) * | 2000-07-18 | 2002-11-07 | Mankins Matt W. D. | Apparatuses, methods, and computer programs for displaying information on mobile units, with reporting by, and control of, such units |
US9081624B2 (en) * | 2008-06-26 | 2015-07-14 | Microsoft Technology Licensing, Llc | Automatic load balancing, such as for hosted applications |
US8782207B2 (en) * | 2009-10-20 | 2014-07-15 | At&T Intellectual Property I, L.P. | System and method to prevent endpoint device recovery flood in NGN |
US8539197B1 (en) * | 2010-06-29 | 2013-09-17 | Amazon Technologies, Inc. | Load rebalancing for shared resource |
CN102316126A (zh) * | 2010-06-30 | 2012-01-11 | 伊姆西公司 | 监视压缩和迁移状态的系统与设备 |
US9817657B2 (en) * | 2011-10-05 | 2017-11-14 | Hartigen Solutions, Llc. | Integrated software development and deployment architecture and high availability client-server systems generated using the architecture |
WO2013077034A1 (ja) * | 2011-11-21 | 2013-05-30 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理システム、情報処理方法、プログラム及び情報記憶媒体 |
US9411819B1 (en) * | 2012-06-27 | 2016-08-09 | Emc Corporation | Federated namespace management |
US10372685B2 (en) * | 2014-03-31 | 2019-08-06 | Amazon Technologies, Inc. | Scalable file storage service |
US9755922B2 (en) * | 2015-03-26 | 2017-09-05 | Ca, Inc. | Minimized installation of point of presence software agents by use of pre-installed browser |
EP3268865B1 (en) * | 2015-06-26 | 2021-08-04 | Hewlett Packard Enterprise Development LP | Self-tune controller |
CN108009016B (zh) * | 2016-10-31 | 2021-10-22 | 华为技术有限公司 | 一种资源负载均衡控制方法及集群调度器 |
CN106599308B (zh) * | 2016-12-29 | 2020-01-31 | 郭晓凤 | 一种分布式元数据管理方法及系统 |
US10659496B2 (en) * | 2017-03-28 | 2020-05-19 | ShieldX Networks, Inc. | Insertion and configuration of interface microservices based on security policy changes |
CN108733460B (zh) * | 2017-04-17 | 2022-11-29 | 伊姆西Ip控股有限责任公司 | 保持用于网络存储设备的会话的方法和设备 |
CN110086724B (zh) * | 2018-01-26 | 2020-11-27 | 北京金山云网络技术有限公司 | 带宽调整方法、装置、电子设备及计算机可读存储介质 |
US10732903B2 (en) * | 2018-04-27 | 2020-08-04 | Hewlett Packard Enterprise Development Lp | Storage controller sub-LUN ownership mapping and alignment |
EP3576409A1 (en) * | 2018-06-01 | 2019-12-04 | Canon Kabushiki Kaisha | A load balancing method for video decoding in a system providing hardware and software decoding resources |
CN110704542A (zh) * | 2019-10-15 | 2020-01-17 | 南京莱斯网信技术研究院有限公司 | 一种基于节点负载的数据动态分区系统 |
CN110943887B (zh) * | 2019-11-29 | 2023-04-18 | 广州市百果园信息技术有限公司 | 探针调度方法、装置、设备和存储介质 |
JP6972202B2 (ja) * | 2020-02-14 | 2021-11-24 | 株式会社日立製作所 | 計算機システム及びメモリ管理方法 |
EP4281849A1 (en) * | 2021-01-25 | 2023-11-29 | Volumez Technologies Ltd. | Operating system based storage method and system |
US20220286853A1 (en) * | 2021-03-03 | 2022-09-08 | At&T Intellectual Property I, L.P. | Mobility management for aggressive devices |
-
2021
- 2021-05-08 CN CN202110501884.9A patent/CN115309538A/zh active Pending
- 2021-06-01 US US17/335,293 patent/US20220357998A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149099A (zh) * | 2023-10-31 | 2023-12-01 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器系统及控制方法 |
CN117149099B (zh) * | 2023-10-31 | 2024-03-12 | 江苏华鲲振宇智能科技有限责任公司 | 一种计算存储分体式服务器系统及控制方法 |
Also Published As
Publication number | Publication date |
---|---|
US20220357998A1 (en) | 2022-11-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11221975B2 (en) | Management of shared resources in a software-defined storage environment | |
US10936220B2 (en) | Locality aware load balancing of IO paths in multipathing software | |
US10996879B2 (en) | Locality-based load balancing of input-output paths | |
US11016699B2 (en) | Host device with controlled cloning of input-output operations | |
US10884935B1 (en) | Cache allocation for controller boards based on prior input-output operations | |
CN115309538A (zh) | 存储资源之间的基于多指标的工作负荷平衡 | |
US20200192593A1 (en) | Distributed host copy migration in a cluster environment using changed block tracking | |
US11055028B1 (en) | Storage system with reduced read latency | |
US11099754B1 (en) | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations | |
US11520671B2 (en) | Fast multipath failover | |
US11099767B2 (en) | Storage system with throughput-based timing of synchronous replication recovery | |
US11740824B2 (en) | Performing wear leveling between storage systems of a storage cluster | |
CN112262407A (zh) | 分布式文件系统中基于gpu的服务器 | |
US12010172B2 (en) | Host device with multi-path layer configured for IO control using detected storage port resource availability | |
US11144232B2 (en) | Storage system with efficient snapshot pair creation during synchronous replication of logical storage volumes | |
US20230214364A1 (en) | Data placement selection among storage devices associated with nodes of a distributed file system cluster | |
CN116954475A (zh) | 利用强化学习框架进行存储系统io节流 | |
US11550511B2 (en) | Write pressure throttling based on service level objectives | |
US11616722B2 (en) | Storage system with adaptive flow control using multiple feedback loops | |
CN116954476A (zh) | 从存储系统上运行的不同异步数据复制会话中选择用于传输的数据 | |
CN116166411A (zh) | 基于预测的性能指标的存储集群负载均衡 | |
CN115794678A (zh) | 基于数据的输入-输出存取类型来管理高速缓存替换 | |
US20230221890A1 (en) | Concurrent handling of multiple asynchronous events in a storage system | |
US11693600B1 (en) | Latency-based detection of storage volume type | |
US11880606B2 (en) | Moving virtual volumes among storage nodes of a storage cluster based on determined likelihood of designated virtual machine boot conditions |
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 |