CN115617256A - 基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 - Google Patents
基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 Download PDFInfo
- Publication number
- CN115617256A CN115617256A CN202110783640.4A CN202110783640A CN115617256A CN 115617256 A CN115617256 A CN 115617256A CN 202110783640 A CN202110783640 A CN 202110783640A CN 115617256 A CN115617256 A CN 115617256A
- Authority
- CN
- China
- Prior art keywords
- storage
- virtual
- subset
- storage node
- virtual machines
- 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/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- 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/061—Improving I/O performance
-
- 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/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/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
-
- 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
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
技术领域
本领域总体上涉及信息处理,并且更具体地涉及用于管理信息处理系统的技术。
背景技术
信息处理系统越来越多地利用可重新配置的虚拟资源来以高效、灵活且具有成本效益的方式满足不断变化的用户需求。例如,使用各种类型的虚拟化技术实施的云计算环境是已知的。这些说明性地包括操作系统级虚拟化技术,诸如Linux容器。此类容器可以用于提供给定信息处理系统的云基础设施的至少一部分。可以另外或替代地使用其他类型的虚拟化,诸如使用管理程序实施的虚拟机。
发明内容
本公开的说明性实施方案提供了用于至少部分地基于指定虚拟机引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的技术。
在一个实施方案中,设备包括至少一个处理装置,所述至少一个处理装置包括联接至存储器的处理器。所述至少一个处理装置被配置为执行以下步骤:获得表征多个虚拟机的历史引导时间的信息,所述多个虚拟机与托管在包括多个存储节点的存储集群上的多个虚拟卷相关联。所述至少一个处理装置还被配置为执行以下步骤:至少部分地基于表征所述多个虚拟机的所述历史引导时间的所获得的信息来确定所述多个存储节点中的任一者是否具有在给定时间段期间经历指定虚拟机引导条件的至少阈值可能性。所述至少一个处理装置还被配置为执行以下步骤:响应于确定所述多个存储节点中的第一存储节点具有在所述给定时间段期间经历所述指定虚拟机引导条件的至少所述阈值可能性,识别与托管在所述第一存储节点上的所述多个虚拟卷的子集相关联的所述多个虚拟机的子集;以及将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述多个存储节点中的第二存储节点。
这些和其他说明性实施方案包括但不限于方法、设备、网络、系统和处理器可读存储介质。
附图说明
图1是说明性实施方案中的被配置用于至少部分地基于指定虚拟机引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的信息处理系统的框图。
图2是说明性实施方案中的被配置用于至少部分地基于指定虚拟机引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的示例性过程的流程图。
图3示出了说明性实施方案中的利用虚拟卷存储的虚拟化环境。
图4示出了说明性实施方案中的用于重定位虚拟卷以避免存储集群的存储节点上的引导风暴(boot storm)条件的过程流程。
图5和图6示出了说明性实施方案中的可以用于实施信息处理系统的至少一部分的处理平台的示例。
具体实施方式
本文将参考示例性信息处理系统以及相关联的计算机、服务器、存储装置和其他处理装置来描述说明性实施方案。然而,应当理解,实施方案不限于与所示的特定说明性系统和装置配置一起使用。因此,如本文所使用的术语“信息处理系统”意图广泛地被解释为涵盖例如包括云计算和存储系统的处理系统,以及包括物理和虚拟处理资源的各种组合的其他类型的处理系统。因此,信息处理系统可以包括例如至少一个数据中心或其他类型的基于云的系统,其包括托管访问云资源的租户的一个或多个云。
图1示出了根据说明性实施方案配置的信息处理系统100,所述信息处理系统提供用于至少部分地基于指定虚拟机(VM)引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的功能性(例如,以防止或避免在一段时间内在给定存储节点上有过多的VM引导)。信息处理系统100包括一个或多个主机装置102-1、102-2、...102-H(统称为主机装置102),所述主机装置通过网络104与虚拟桌面基础设施(VDI)环境112进行通信。VDI环境112包括用于向一个或多个企业中的多个用户(例如,主机装置102的用户)提供呈VM形式的安全虚拟桌面服务的虚拟化基础设施114。使用虚拟化基础设施114提供的VM的用户数据可以存储在一个或多个数据存储区中的虚拟卷上。数据存储区中的每一者可以为一个或多个VM托管多个虚拟卷。一个或多个存储阵列106-1、106-2、...106-S(统称为存储阵列106)也耦合到网络104,并提供由VDI环境112中的数据存储区使用的底层物理存储。存储阵列106可以表示存储集群的相应存储节点,所述存储集群为使用虚拟化基础设施114提供的VM托管虚拟卷。网络104可以包括存储区域网络(SAN)。
存储阵列106-1(如图1所示)包括多个存储装置108,每个存储装置存储由在主机装置102上运行的应用程序中的一者或多者利用的数据(例如,其中此类应用程序可以包括在VDI环境112中的虚拟桌面或VM中运行的一个或多个应用程序,可能包括VM本身)。存储装置108说明性地布置在一个或多个存储池中。存储阵列106-1还包括促进对存储装置108的IO处理的一个或多个存储控制器110。存储阵列106-1及其相关联的存储装置108是本文更一般地称为“存储系统”的示例。本实施方案中的这种存储系统由主机装置102共享,因此在本文也被称为“共享存储系统”。在其中只有单个主机装置102的实施方案中,主机装置102可以被配置为独占使用存储系统。
主机装置102以及VDI环境112的虚拟化基础设施114说明性地包括能够经由网络104与存储阵列106通信的相应的计算机、服务器或其他类型的处理装置。例如,VDI环境112的虚拟化基础设施114可以实施计算服务平台或其他类型的处理平台的相应VM。类似地,主机装置102的至少子集可以被实施为计算服务平台或其他类型的处理平台的相应VM。在此类布置中,主机装置102和/或VDI环境112的虚拟化基础设施114说明性地提供计算服务,诸如代表(与主机装置102和/或VDI环境112中的相应主机装置和/或VDI环境相关联的)一个或多个用户中的每一者执行一个或多个应用程序。
本文中的术语“用户”意图被广泛地解释为涵盖人、硬件、软件或固件实体以及此类实体的组合的众多布置。
可以根据平台即服务(PaaS)模型、基础设施即服务(IaaS)模型和/或功能即服务(FaaS)模型为用户提供计算和/或存储服务,但是可以理解,可以使用许多其他云基础设施布置。而且,说明性实施方案可以在云基础设施上下文之外实施,如在给定企业内实施的独立计算和存储系统的情况。
存储阵列106-1的存储装置108可以实施逻辑单元(LUN),所述LUN被配置为存储与主机装置102相关联的用户的对象(例如,诸如用于由主机装置102的用户利用的VDI环境112中的虚拟桌面或VM)。这些对象可以包括文件、块或其他类型的对象。主机装置102利用读写命令以及通过网络104传输的其他类型的命令与存储阵列106-1交互。在一些实施方案中,此类命令更具体地包括小型计算机系统接口(SCSI)命令,但是在其他实施方案中可以使用其他类型的命令。在本文中所广泛使用的术语给定IO操作说明性地包括一个或多个此类命令。本文中对诸如“输入-输出”和“IO”的术语的引用应当被理解为指代输入和/或输出。因此,IO操作涉及输入和输出中的至少一者。
而且,如本文所使用的术语“存储装置”意图被广泛地解释为涵盖例如逻辑存储装置,诸如LUN或其他逻辑存储卷。逻辑存储装置可以在存储阵列106-1中被定义为包括一个或多个物理存储装置的不同部分。因此,存储装置108可以被视为包括相应LUN或其他逻辑存储卷。
VDI环境112如上所述包括用于向一个或多个企业中的多个用户(例如,主机装置102的用户)提供呈VM形式的安全虚拟桌面服务的虚拟化基础设施114。可以用于提供虚拟化基础设施114的处理平台的示例将在下面结合图5和图6更详细地描述。VDI环境112还包括VM引导条件检测模块116和虚拟卷重定位模块118。VM引导条件检测模块116被配置为检测一个或多个指定的VM引导条件。此类指定的VM引导条件中的至少一者包括在指定时间范围内引导的至少阈值数量的VM(例如,将在下面进一步详细描述的VM“引导风暴”)。虚拟卷重定位模块118被配置为重定位与不同的存储节点(例如,存储阵列106中的不同存储阵列)之间的一个或多个VM相关联的虚拟卷以避免由于在指定的时间范围内并发引导所述存储节点上的VM而淹没存储节点中的任何一个特定存储节点的资源。
VM引导条件检测模块116和虚拟卷重定位模块118的功能性的至少各部分可至少部分地以存储在存储器中并由处理器执行的软件的形式来实施。
尽管在图1的实施方案中被示为在主机装置102和存储阵列106的外部,但是应当理解,在其他实施方案中,VDI环境112可以至少部分地在主机装置102中的一者或多者和/或存储阵列106中的一者或多者的内部(例如,诸如在存储阵列106-1的存储控制器110上)实施。例如,主机装置102和/或存储阵列106中的一者或多者可以提供支持虚拟桌面、VM和存储用于虚拟桌面和VM的用户数据的数据存储区(例如,虚拟卷)的虚拟化基础设施114的至少一部分。
图1的实施方案中的主机装置102、存储阵列106和VDI环境112被假设为使用至少一个处理平台来实施,其中每个处理平台包括一个或多个处理装置,每个处理装置具有联接到存储器的处理器。此类处理装置可以说明性地包括计算、存储和网络资源的特定布置。例如,在一些实施方案中,处理装置至少部分地利用虚拟资源(诸如VM或Linux容器(LXC)或两者的组合)来实施,如在其中Docker容器或其他类型的LXC被配置为在VM上运行的布置中。
尽管主机装置102、存储阵列106以及VDI环境112可以在相应的不同处理平台上实施,但是众多其他布置也是可能的。例如,在一些实施方案中,主机装置102、存储阵列106以及VDI环境112中的一者或多者的至少各部分在同一处理平台上实施。VDI环境112、存储阵列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的其他部分(诸如VDI环境112)可以被实施为基于云的系统的一部分。
存储阵列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和VDI环境112可以至少部分地在第一地理位置、第二地理位置和一个或多个其他地理位置中实施。因此,在系统100的一些实施方式中,主机装置102中的不同主机装置、存储阵列106以及VDI环境112可以驻留在不同的数据中心中。
主机装置102、存储阵列106以及VDI环境112的众多其他分布式实施方式是可能的。因此,主机装置102、存储阵列106以及VDI环境112也可以通过分布式方式跨多个数据中心实施。
说明性实施方案中的用于实施系统100的各部分的处理平台的附加示例将在下面结合图5和图6更详细地描述。
应当理解,图1中所示的用于至少部分地基于指定VM引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的一组特定元件仅通过说明性示例的方式呈现,并且在其他实施方案中可以使用附加或替代元件。因此,另一个实施方案可以包括附加的或替代系统、装置和其他网络实体,以及模块和其他部件的不同布置。
应当理解,仅通过示例呈现说明性实施方案的这些和其他特征,并且不应以任何方式将其解释为限制性的。
用于至少部分地基于指定VM引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的示例性过程现在将参考图2的流程图更详细地描述。应当理解,该特定过程仅是示例,并且至少部分地基于指定VM引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的附加或替代过程可以用于其他实施方案。
在该实施方案中,所述过程包括步骤200至206。假设这些步骤由VDI环境112使用VM引导条件检测模块116和虚拟卷重定位模块118来执行。所述过程开始于步骤200:获得表征多个VM的历史引导时间的信息,所述多个VM与托管在包括多个存储节点(例如,存储阵列106)的存储集群上的多个虚拟卷相关联。步骤200可以包括监视一种或多种指定类型的多个虚拟卷的创建时间。一种或多种指定类型的多个虚拟卷可以包括在VM通电时创建的至少一种类型的虚拟卷。一种或多种指定类型的多个虚拟卷还可以或替代地包括包含未保留在多个VM的存储器中的VM存储器页面的副本的至少一种类型的虚拟卷。一种或多种指定类型的多个虚拟卷包括交换虚拟卷(例如,包含用于VM的交换文件的虚拟卷)。
在步骤202中,(基于在步骤200中获得的信息)确定多个存储节点中的任一者是否具有在给定时间段期间经历指定VM引导条件的至少阈值可能性。在步骤204中,响应于确定多个存储节点中的第一存储节点具有在给定时间段期间经历指定VM引导条件的至少阈值可能性,识别与托管在第一存储节点上的多个虚拟卷的子集相关联的多个VM的子集。指定VM引导条件可以包括在给定时间段期间在第一存储节点上引导超过至少阈值数量的多个VM的至少阈值可能性。可以至少部分地基于在第一存储节点处可用的资源来选择多个VM的阈值数量。
在步骤206中将与多个VM的所述子集中的至少一者相关联的多个虚拟卷的子集中的至少一者从第一存储节点移动到多个存储节点中的第二存储节点。在一些实施方案中,步骤206包括将与多个VM的子集中的给定一者相关联的所有虚拟卷从第一存储节点移动到第二存储节点。
步骤206可以包括:生成多个VM的子集中的每一者的引导时间的概率密度函数;利用多个VM的子集的引导时间的概率密度函数来确定多个VM的子集中的每一者在给定时间段期间引导的可能性;以及至少部分地基于多个VM的子集中的每一者在给定时间段期间引导的所确定可能性来选择多个VM的子集中的至少一者。至少部分地基于多个VM的子集中的每一者在给定时间段期间引导的所确定可能性来选择多个VM的子集中的至少一者包括选择多个VM的子集中概率密度函数在给定时间段期间具有最高引导概率的给定一者。
步骤206还可以包括:将多个存储节点的子集识别为候选目的地存储节点,所述候选目的地存储节点中的每一者当前托管少于指定数量的多个虚拟卷;以及从候选目的地存储节点中选择第二存储节点。可以至少部分地基于托管在多个存储节点中的每一者上的虚拟卷的平均数量来确定多个虚拟卷的指定数量。从候选目的地存储节点中选择第二存储节点可以至少部分地基于确定候选存储节点中的每一者在给定时间段期间经历指定VM引导条件的可能性。从候选目的地存储节点中选择第二存储节点可以包括选择在给定时间段期间经历指定VM引导条件的可能性最低的候选存储节点。
“引导风暴”是用于描述在非常窄的时间范围内引导大量VM时发生的服务降级的术语。引导风暴可能会因数据请求而淹没网络,并且可能削弱系统存储。引导风暴可能通过降低性能和阻碍生产力对VDI环境造成严重破坏,因此需要防止引导风暴发生。说明性实施方案提供用于避免引导风暴或更一般地避免对VDI环境或VM在其上运行的其他虚拟化和IT基础设施具有潜在负面影响的VM引导条件的技术。为此,一些实施方案在提供VM在其上运行的虚拟化和IT基础设施的服务器和存储节点之间适当地构建和平衡VM位置。可以通过测量存储需求并分配存储资源以满足峰值和平均存储需求来确定合适的架构。
引导风暴条件在各种用例中可能很常见。例如,考虑典型的办公室工作日:员工或其他最终用户在上午8:30左右登录系统并在下午5:00左右注销。办公室所利用的服务器可能能够应对整个工作日持续时间期间的使用情况,但是如果在短时间段内(例如,上午8:30至上午9:00)引导过多VM,则可能会出现问题。这种通常不可避免的同步启动可能会压制系统资源和存储,从而使用户无法完全访问系统及其VM,直到有足够的资源可用为止。
在一些数据中心或包括虚拟化基础设施(例如,包括多个VM的VDI环境)的其他IT基础设施中,SAN和NAS阵列可能被虚拟化。例如,VMware虚拟卷(VVol)集成和管理框架可以用于将SAN和NAS阵列虚拟化,从而实现更高效的操作模型,所述操作模型针对虚拟化环境进行了优化并且以应用程序而非基础设施为中心。
VVol是与VM磁盘(VMDK)相对应的对象类型(例如,对象类型)。在存储系统上,VVol驻留在也被称为存储容器的VVol数据存储区中。VVol数据存储区是一种类型的数据存储区,其允许VVol在比VM文件系统(VMFS)和网络文件系统(NFS)数据存储区更细粒度的级别下直接映射到存储系统。尽管VMFS和NFS数据存储区在LUN或文件系统级别下进行管理和配置,但是VVol允许独立地管理VM或虚拟磁盘。例如,最终用户可以基于底层存储池创建VVol数据存储区,并分配一个或多个存储池的特定部分以用于VVol数据存储区及其VVol。管理程序(诸如VMware ESXiTM)可以使用NAS和SCSI协议端点(PE)作为访问点,以用于VM与其在存储系统上的VVol数据存储区之间的IO通信。
VVol与VMware vSANTM共享通用存储操作模型,即,领先的超融合基础架构(HCI)解决方案。VMware vSANTM是支持HCI系统的软件定义的企业存储解决方案。vSAN作为ESXi管理程序内的分布式软件层完全集成在VMware内。vSAN被配置为聚合本地或直接附加存储以创建在vSAN集群中的所有主机之间共享的单个存储池。
VVol和vSAN两者都利用基于存储策略的管理(SBPM)来消除存储配置,并在VM或VMDK级别下使用可以快速(例如,在几分钟内)应用或更改的描述性策略。SBPM加速存储操作并降低对存储基础架构专业技能的需求。有利的是,VVol使得根据各个VM的特定要求更轻松地提供和启用正确的存储服务级别。通过在VM级别下更好地控制存储资源和数据服务,虚拟化基础架构环境的管理员可以创建确切的组合并精确地提供存储服务级别。
在利用VVol的虚拟化基础架构环境中,当VM通电时创建交换VVol。交换VVol包含未保留在存储器中的VM存储器页面的副本。有利的是,可以从交换VVol创建跟踪和监视VM引导时间。
如果许多VM在短时间内引导,并且那些VM的相关VVol位于同一存储节点处,则这可能导致引导风暴,该引导风暴可能削弱传统系统存储。说明性实施方案提供了用于通过从通过监视VM的交换VVol而学习的VM引导时间历史数据学习和分析VM引导模式来避免此类引导风暴条件的技术。寻找VM引导“热点”,并通过实施将VVol平衡到不同的存储节点来避免此类引导热点下的引导风暴。在一些实施方案中,从VM引导历史数据学习VM引导概率分布以识别潜在的引导风暴点。然后通过在存储集群中的不同存储节点之间实施VVol平衡来避免潜在的引导风暴点。
图3示出了利用VVol技术的存储环境300的框架。存储环境300包括经由PE 303耦合到虚拟卷或支持VVol的存储集群305的VM管理环境301(例如,VMware环境)。VM管理环境301包括一组服务器节点310-A、310-B、310-C、...310-M(统称为服务器节点310)。VM管理环境301还包括用于一组VM 314-1、314-2、314-3、314-4、...314-V(统称为VM 314)的虚拟卷(VVol)数据存储区312。支持VVol的存储集群305包括一组存储节点350-A、350-B、350-C、...350-N(统称为存储节点350)和存储容器352,所述存储容器包括VVol 354-1、354-2、354-3、354-4、...354-O(统称为VVol 354)。应当注意,服务器节点310的数量M可以与存储节点350的数量N相同或不同。
VVol 354通过PE 303导出到VM管理环境301(例如,其可以包括实施相应ESXi主机的服务器节点310)。PE 303是物理存储结构的一部分,并且根据需要建立从VM 314到它们相应VVol 354的数据路径。存储节点350启用VVol 354上的数据服务。存储容器352可以提供在逻辑上分组到VVol 354中的存储容量池。VVol 354创建在存储容器352内部。存储容器352可以以VVol数据存储区312的形式呈现给VM管理环境301的服务器节点310(例如,ESXi主机)。
存在各种不同类型的虚拟卷或VVol 354,它们根据它们在VM管理环境301(例如,VMware和/或VMware环境)中的角色而提供特定功能。不同类型的VVol包括:配置(Config)VVol;数据VVol;交换VVol;存储器VVol;和其他VVol。每个VM有一个Config VVol。Config VVol保存先前在VM目录中的信息(例如,.vmx文件、VM日志等)。每个虚拟数据磁盘有一个数据VVol。数据VVol保存VM的系统数据,并且类似于VMDK文件。每个交换文件有一个交换VVol。如上所述,交换VVol在VM通电时创建,并且包含未保留在存储器中的VM存储器页面的副本。每个快照有一个存储器VVol。给定VM的存储器VVol包含VM存储器的完整副本,作为给定VM的存储器VM快照的一部分。其他VVol是VMware特定的解决方案类型。
由于交换VVol仅在VM通电时创建,因此说明性实施方案监视与不同VM相关联的交换VVol的状态以检查VM何时通电和断电。因此,说明性实施方案能够通过监视VM的相关联交换VVol来收集系统中的所有VM的引导历史信息。通过学习VM引导活动的历史(例如,通过监视与VM相关联的交换VVol),可以确定每个VM的引导事件在时间点t的概率分布函数。VMi在时间点t(其中t以分钟为单位进行测量)引导的概率被表示为:
P_bootup{VM i,t}
然后根据以下等式确定VM引导事件的概率密度函数:
P_bootup{VM i,(t-10)≤t≤(t-10)}表示VM i在时间段{t-10,t+10}期间引导的概率。在此,10分钟的浮动时间是基于复杂VM可能需要10至20分钟完成引导的假设来选择或定义的。特定的浮动时间值(例如,上面等式中的“10”)可以根据需要由最终用户针对特定实施方式(例如,基于在所述最终用户的环境中完成引导VM的预期时间)进行调整。
类似地,通过学习每个存储集群节点的引导风暴活动的历史数据,每个存储集群节点j的引导风暴事件在时间点t的概率分布函数被表示为:
P_bootup_storm{Node j,t}
存储节点j上的VM引导风暴在时间点t处的事件概率被定义为当并发VM引导计数达到阈值M(例如,诸如30个VM)时的概率。最终用户可以根据需要调整阈值M。通常,服务器或存储节点的功率越大,可以支持的并发VM引导操作就越多。
用于在启用虚拟卷的存储集群(例如,启用VVol的存储集群305)中的存储节点(例如,存储节点350)之间进行VM引导平衡的过程流程现在将关于图4进行描述。图4的过程利用通过监视与VM相关联的交换VVol而学习的历史VM引导活动来预测可能即将到来的引导风暴时间,并调整集群中的存储节点之间的VM位置分布,以避免此类可能的即将到来的引导风暴。VM位置平衡有利地有助于避免超过指定阈值的并发VM引导活动。图4的过程开始于步骤401。在步骤403中,通过针对给定VM监视是否存在相关联的Swap VVol来收集VM引导历史数据。基于在步骤403中收集的数据,在步骤405中评估每个存储集群节点的引导风暴事件的概率分布函数(例如,P_bootup_storm{Node j,t})。
在步骤407中,确定存储集群节点中的任一者的P_bootup_storm{Node j,t}值是否超过可接受的阈值Φ。如果步骤407的确定结果为否(例如,对应于针对存储集群节点中的任一者没有预测到引导风暴的情况),则图4的过程流程结束于步骤417。如果步骤417的确定结果为是(例如,对于存储集群中的存储节点中的任一者),则图4的过程流程进行到步骤409。在步骤409中,对于驻留在存储节点j上(例如,具有相关联P_bootup_storm{node j,t}>Φ)的每个VM,评估VM的P_bootup{VM i,(t-10)≤t≤(t-10)}。然后选择具有最大值P_bootup{VM i,(t-10)≤t≤(t-10)}的VM作为当前目标VM。
对于满足指定条件(例如,具有小于阈值Θ的VM数量)的每个其他存储集群节点k,在步骤411中评估P_bootup_storm{node k,t}。选择具有最小P_bootup_storm{node k,t}值的存储节点作为当前目标目的地存储节点。在此,使用阈值Θ来保证在VM重定位之后每个存储集群节点的工作负载不会过重。用户可以选择阈值Θ的值。在一些实施方案中,阈值Θ可以根据下式定义:
在步骤413中,将目标VM的相关VVol从存储集群节点j移动到目标目的地存储节点。然后从存储集群节点j的历史数据中移除目标VM,并且在步骤415中重新评估存储集群节点j的概率分布函数P_bootup_storm{node j,t}。图4的过程流程然后返回到步骤407,以查看重新评估的P_bootup_srorm{node j,t}值是否仍然超过可接受的阈值Φ。VM平衡操作然后继续(在步骤409至413的另一迭代中)或平衡算法针对节点j结束。然后针对每个存储节点重复步骤407(例如,以确定任何其他存储节点j是否具有P_bootup_storm{node j,t}>Φ)。当没有剩余存储节点j符合P_bootup_storm{node j,t}>Φ时,图4的过程流程结束于步骤417。
应当理解,上文和本文其他地方描述的特定优点与特定说明性实施方案相关联,并且不需要存在于其他实施方案中。而且,如在附图中示出并且如上所述的特定类型的信息处理系统特征和功能性仅是示例性的,并且在其他实施方案中可使用众多其他布置。
用于实施用于至少部分地基于指定VM引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的功能性的处理平台的说明性实施方案现在将参考5和图6更详细地描述。尽管在系统100的上下文中进行了描述,但是在其他实施方案中,这些平台也可以用于实施其他信息处理系统的至少部分。
图5示出了包括云基础设施500的示例性处理平台。云基础设施500包括可以用于实施图1中的信息处理系统100的至少一部分的物理和虚拟处理资源的组合。云基础设施500包括多个虚拟机(VM)和/或容器集合502-1、502-2、...502-L,它们使用虚拟化基础设施504来实施。虚拟化基础设施504在物理基础设施505上运行,并且说明性地包括一个或多个管理程序和/或操作系统级虚拟化基础设施。操作系统级虚拟化基础设施说明性地包括Linux操作系统或其他类型的操作系统的内核控制组。
云基础设施500还包括多组应用程序510-1、510-2、...510-L,其在VM/容器集合502-1、502-2、...502-L中的相应VM/容器集合上在虚拟化基础设施504的控制下运行。VM/容器集合502可以包括相应的VM、一组或多组相应容器,或在VM中运行的一组或多组相应容器。
在图5的实施方案的一些实施方式中,VM/容器集合502包括使用包括至少一个管理程序的虚拟化基础设施504实施的相应VM。管理程序平台可以用于在虚拟化基础设施504内实施管理程序,其中所述管理程序平台具有相关联的虚拟基础设施管理系统。底层物理机可以包括一个或多个分布式处理平台,所述分布式处理平台包括一个或多个存储系统。
在图5的实施方案的其他实施方式中,VM/容器集合502包括使用提供操作系统级虚拟化功能性(诸如支持在裸金属主机上运行的Docker容器或在VM上运行的Docker容器)的虚拟化基础设施504实施的相应容器。容器说明性地使用操作系统的相应内核控制组来实施。
从上面显而易见的是,系统100的处理模块或其他部件中的一者或多者可以各自在计算机、服务器、存储装置或其他处理平台元件上运行。给定的此类元件可以被视为在本文中更一般地被称为“处理装置”的示例。图5所示的云基础设施500可以表示一个处理平台的至少一部分。此类处理平台的另一个示例是图6所示的处理平台600。
在该实施方案中,处理平台600包括系统100的一部分,并且包括被表示为602-1、602-2、602-3、...602-K的多个处理装置,所述多个处理装置通过网络604彼此通信。
网络604可以包括任何类型的网络,例如包括全球计算机网络(诸如互联网)、WAN、LAN、卫星网络、电话或电缆网络、蜂窝网络、无线网络(诸如WiFi或WiMAX网络)或这些和其他类型网络的各种部分或组合。
处理平台600中的处理装置602-1包括联接到存储器612的处理器610。
处理器610可以包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、中央处理单元(CPU)、图形处理单元(GPU)、张量处理单元(TPU)、视频处理单元(VPU)或其他类型的处理电路,以及此类电路元件的部分或组合。
存储器612可以任何组合的形式包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器或其他类型的存储器。存储器612和本文所公开的其他存储器应被视为更一般地称为存储一个或多个软件程序的可执行程序代码的“处理器可读存储介质”的说明性示例。
包括此类处理器可读存储介质的制品被认为是说明性实施方案。给定的此类制品可以包括例如存储阵列、存储磁盘或包含RAM、ROM、快闪存储器或其他电子存储器的集成电路,或多种其他类型的计算机程序产品中的任何一种。如本文所使用的术语“制品”应被理解为排除瞬时的传播信号。可以使用包括处理器可读存储介质的众多其他类型的计算机程序产品。
处理装置602-1中还包括网络接口电路614,其用于将处理装置与网络604和其他系统部件介接,并且可以包括常规收发器。
处理平台600的其他处理装置602假设以与针对图中的处理装置602-1所示的方式类似的方式进行配置。
而且,仅通过示例呈现图中所示的特定处理平台600,并且系统100可以包括附加的或替代的处理平台,以及以任何组合的形式包括众多不同的处理平台,其中每个这样的平台包括一个或多个计算机、服务器、存储装置或其他处理装置。
例如,用于实施说明性实施方案的其他处理平台可以包括融合基础设施。
因此,应当理解,在其他实施方案中,可以使用附加的或替代元件的不同布置。这些元件的至少子集可以在公共处理平台上共同实施,或者每个此类元件可以在单独的处理平台上实施。
如先前所指示,如本文所公开的信息处理系统的部件可至少部分地以存储在存储器中并且由处理装置的处理器执行的一个或多个软件程序的形式来实施。例如,以在一个或多个处理装置上运行的软件的形式说明性地实施如本文所公开的用于至少部分地基于指定VM引导条件的确定可能性而在存储集群的存储节点中移动虚拟卷的功能性的至少各部分。
应再次强调,上述实施方案仅出于说明目的而呈现。可以使用许多变型和其他替代的实施方案。例如,所公开的技术可适用于多种其他类型的信息处理系统、存储系统、虚拟化基础设施等。而且,在附图中说明性地示出的系统和装置元件的特定配置以及相关联的处理操作在其他实施方案中可能改变。此外,以上在描述说明性实施方案的过程中做出的各种假设也应被视为示例性的,而不是对本公开的要求或限制。所附权利要求的范围内的众多其他替代实施方案对于本领域技术人员将是显而易见的。
Claims (20)
1.一种设备,其包括:
至少一个处理装置,所述至少一个处理装置包括联接到存储器的处理器;
所述至少一个处理装置被配置为执行以下步骤:
获得表征多个虚拟机的历史引导时间的信息,所述多个虚拟机与托管在包括多个存储节点的存储集群上的多个虚拟卷相关联;
至少部分地基于表征所述多个虚拟机的所述历史引导时间的所获得的信息来确定所述多个存储节点中的任一者是否具有在给定时间段期间经历指定虚拟机引导条件的至少阈值可能性;
响应于确定所述多个存储节点中的第一存储节点具有在所述给定时间段期间经历所述指定虚拟机引导条件的至少所述阈值可能性,识别与托管在所述第一存储节点上的所述多个虚拟卷的子集相关联的所述多个虚拟机的子集;以及
将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述多个存储节点中的第二存储节点。
2.根据权利要求1所述的设备,其中获得表征所述多个虚拟机的所述历史引导时间的所述信息包括监视一种或多种指定类型的所述多个虚拟卷的创建时间。
3.根据权利要求2所述的设备,其中所述一种或多种指定类型的所述多个虚拟卷包括在虚拟机通电时创建的至少一种类型的虚拟卷。
4.根据权利要求2所述的设备,其中所述一种或多种指定类型的所述多个虚拟卷包括包含未保留在所述多个虚拟机的存储器中的虚拟机存储器页面的副本的至少一种类型的虚拟卷。
5.根据权利要求2所述的设备,其中所述一种或多种指定类型的所述多个虚拟卷包括交换虚拟卷。
6.根据权利要求1所述的设备,其中所述指定虚拟机引导条件包括在所述给定时间段期间在所述第一存储节点上引导超过至少阈值数量的所述多个虚拟机的至少阈值可能性。
7.根据权利要求6所述的设备,其中至少部分地基于在所述第一存储节点处可用的资源来选择所述多个虚拟机的所述阈值数量。
8.根据权利要求1所述的设备,其中将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述第二存储节点包括:
生成所述多个虚拟机的所述子集中的每一者的引导时间的概率密度函数;
利用所述多个虚拟机的所述子集的引导时间的所述概率密度函数来确定所述多个虚拟机的所述子集中的每一者在所述给定时间段期间引导的可能性;以及
至少部分地基于所述多个虚拟机的所述子集中的每一者在所述给定时间段期间引导的所确定可能性来选择所述多个虚拟机的所述子集中的所述至少一者。
9.根据权利要求8所述的设备,其中至少部分地基于所述多个虚拟机的所述子集中的每一者在所述给定时间段期间引导的所确定可能性来选择所述多个虚拟机的所述子集中的所述至少一者包括选择所述多个虚拟机的所述子集中概率密度函数在所述给定时间段期间具有最高引导概率的给定一者。
10.根据权利要求8所述的设备,其中将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述第二存储节点还包括:
将所述多个存储节点的子集识别为候选目的地存储节点,所述候选目的地存储节点中的每一者当前托管少于指定数量的所述多个虚拟卷;以及
从所述候选目标存储节点中选择所述第二存储节点。
11.根据权利要求10所述的设备,其中至少部分地基于托管在所述多个存储节点中的每一者上的虚拟卷的平均数量来确定所述多个虚拟卷的所述指定数量。
12.根据权利要求10所述的设备,其中从所述候选目的地存储节点中选择所述第二存储节点是至少部分地基于确定所述候选存储节点中的每一者在所述给定时间段期间经历所述指定虚拟机引导条件的可能性。
13.根据权利要求12所述的设备,其中从所述候选目的地存储节点中选择所述第二存储节点包括选择在所述给定时间段期间经历所述指定虚拟机引导条件的可能性最低的候选存储节点。
14.根据权利要求1所述的设备,其中将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述第二存储节点包括将与所述多个虚拟机的所述子集中的给定一者相关联的所有所述虚拟卷从所述第一存储节点移动到所述第二存储节点。
15.一种计算机程序产品,其包括其中存储有一个或多个软件程序的程序代码的非暂时性处理器可读存储介质,其中所述程序代码在由至少一个处理装置执行时使所述至少一个处理装置执行以下步骤:
获得表征多个虚拟机的历史引导时间的信息,所述多个虚拟机与托管在包括多个存储节点的存储集群上的多个虚拟卷相关联;
至少部分地基于表征所述多个虚拟机的所述历史引导时间的所获得的信息来确定所述多个存储节点中的任一者是否具有在给定时间段期间经历指定虚拟机引导条件的至少阈值可能性;
响应于确定所述多个存储节点中的第一存储节点具有在所述给定时间段期间经历所述指定虚拟机引导条件的至少所述阈值可能性,识别与托管在所述第一存储节点上的所述多个虚拟卷的子集相关联的所述多个虚拟机的子集;以及
将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述多个存储节点中的第二存储节点。
16.根据权利要求15所述的计算机程序产品,其中获得表征所述多个虚拟机的所述历史引导时间的所述信息包括监视一个或多个指定类型的所述多个虚拟卷的创建时间,所述一个或多个指定类型的所述多个虚拟卷包括交换虚拟卷。
17.根据权利要求15所述的计算机程序产品,其中所述指定虚拟机引导条件包括在所述给定时间段期间在所述第一存储节点上引导超过至少阈值数量的所述多个虚拟机的至少阈值可能性。
18.一种方法,其包括:
获得表征多个虚拟机的历史引导时间的信息,所述多个虚拟机与托管在包括多个存储节点的存储集群上的多个虚拟卷相关联;
至少部分地基于表征所述多个虚拟机的所述历史引导时间的所获得的信息来确定所述多个存储节点中的任一者是否具有在给定时间段期间经历指定虚拟机引导条件的至少阈值可能性;
响应于确定所述多个存储节点中的第一存储节点具有在所述给定时间段期间经历所述指定虚拟机引导条件的至少所述阈值可能性,识别与托管在所述第一存储节点上的所述多个虚拟卷的子集相关联的所述多个虚拟机的子集;以及
将与所述多个虚拟机的所述子集中的至少一者相关联的所述多个虚拟卷的所述子集中的至少一者从所述第一存储节点移动到所述多个存储节点中的第二存储节点;
其中所述方法由至少一个处理装置执行,所述处理装置包括联接到存储器的处理器。
19.根据权利要求18所述的方法,其中获得表征所述多个虚拟机的所述历史引导时间的所述信息包括监视一个或多个指定类型的所述多个虚拟卷的创建时间,所述一个或多个指定类型的所述多个虚拟卷包括交换虚拟卷。
20.根据权利要求18所述的方法,其中所述指定虚拟机引导条件包括在所述给定时间段期间在所述第一存储节点上引导超过至少阈值数量的所述多个虚拟机的至少阈值可能性。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783640.4A CN115617256A (zh) | 2021-07-12 | 2021-07-12 | 基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 |
US17/394,697 US11880606B2 (en) | 2021-07-12 | 2021-08-05 | Moving virtual volumes among storage nodes of a storage cluster based on determined likelihood of designated virtual machine boot conditions |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110783640.4A CN115617256A (zh) | 2021-07-12 | 2021-07-12 | 基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115617256A true CN115617256A (zh) | 2023-01-17 |
Family
ID=84798175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110783640.4A Pending CN115617256A (zh) | 2021-07-12 | 2021-07-12 | 基于指定虚拟机引导条件的确定可能性在存储集群的存储节点中移动虚拟卷 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11880606B2 (zh) |
CN (1) | CN115617256A (zh) |
Family Cites Families (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6216202B1 (en) * | 1998-06-30 | 2001-04-10 | Emc Corporation | Method and apparatus for managing virtual storage devices in a storage system |
US8965936B2 (en) * | 2004-02-26 | 2015-02-24 | Comcast Cable Holdings, Llc | Method and apparatus for allocating client resources to multiple applications |
IL163314A (en) * | 2004-08-02 | 2010-06-16 | Lsi Technologies Israel Ltd | Booting from a storage area network |
US8429630B2 (en) * | 2005-09-15 | 2013-04-23 | Ca, Inc. | Globally distributed utility computing cloud |
US20070180509A1 (en) * | 2005-12-07 | 2007-08-02 | Swartz Alon R | Practical platform for high risk applications |
JP4367406B2 (ja) * | 2005-12-12 | 2009-11-18 | 株式会社日立製作所 | コンピュータ割り当て方法 |
US8091085B2 (en) * | 2007-10-29 | 2012-01-03 | International Business Machines Corporation | Installation of updated software for server components |
US8015397B2 (en) * | 2008-10-15 | 2011-09-06 | Dell Products L.P. | System and method for determining an optimum number of remotely-booted information handling systems |
US8209290B1 (en) * | 2009-03-11 | 2012-06-26 | Symantec Corporation | Generic granular restore of application data from a volume image backup |
JP5227887B2 (ja) * | 2009-05-21 | 2013-07-03 | 株式会社日立製作所 | バックアップ管理方法 |
US9767274B2 (en) * | 2011-11-22 | 2017-09-19 | Bromium, Inc. | Approaches for efficient physical to virtual disk conversion |
US9116812B2 (en) * | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US9256452B1 (en) * | 2012-11-14 | 2016-02-09 | Amazon Technologies, Inc. | Providing an instance availability estimate |
WO2014118961A1 (ja) * | 2013-01-31 | 2014-08-07 | 富士通株式会社 | 仮想計算機管理プログラム,仮想計算機管理方法及び仮想計算機システム |
US9251343B1 (en) * | 2013-03-15 | 2016-02-02 | Fireeye, Inc. | Detecting bootkits resident on compromised computers |
US9792150B1 (en) * | 2013-06-28 | 2017-10-17 | Veritas Technologies Llc | Detecting site change for migrated virtual machines |
US10019218B2 (en) * | 2014-08-14 | 2018-07-10 | Edan Instruments, Inc. | Multi-display power-up animation systems and methods |
KR101593184B1 (ko) * | 2014-09-16 | 2016-02-15 | 한국전자통신연구원 | 파일시스템 메타데이터 기반 파티션 복구 방법 및 장치 |
US9519787B2 (en) * | 2014-11-14 | 2016-12-13 | Microsoft Technology Licensing, Llc | Secure creation of encrypted virtual machines from encrypted templates |
US10534617B2 (en) * | 2016-07-13 | 2020-01-14 | International Business Machines Corporation | Backing up virtual machine operating system data on sequential-access data storage systems |
US10545776B1 (en) * | 2016-09-27 | 2020-01-28 | Amazon Technologies, Inc. | Throughput and latency optimized volume initialization |
US11169727B1 (en) * | 2017-03-10 | 2021-11-09 | Pure Storage, Inc. | Synchronous replication between storage systems with virtualized storage |
US10310767B1 (en) * | 2017-04-26 | 2019-06-04 | EMC IP Holding Company LLC | Serverless backup for virtual volumes |
US10901857B1 (en) * | 2017-04-26 | 2021-01-26 | EMC IP Holding Company LLC | Application intelligence with virtual volume data protection |
US11442623B2 (en) * | 2019-05-02 | 2022-09-13 | Commvault Systems, Inc. | Faster browse of secondary copies of block-level data volumes |
US10949131B2 (en) * | 2019-06-28 | 2021-03-16 | Amazon Technologies, Inc. | Control plane for block storage service distributed across a cloud provider substrate and a substrate extension |
US10949125B2 (en) * | 2019-06-28 | 2021-03-16 | Amazon Technologies, Inc. | Virtualized block storage servers in cloud provider substrate extension |
US10949124B2 (en) * | 2019-06-28 | 2021-03-16 | Amazon Technologies, Inc. | Virtualized block storage servers in cloud provider substrate extension |
US11531607B2 (en) * | 2019-12-10 | 2022-12-20 | Cisco Technology, Inc. | Fault isolation and recovery of CPU cores for failed secondary asymmetric multiprocessing instance |
US10877823B1 (en) * | 2019-12-10 | 2020-12-29 | Cisco Technology, Inc. | High performance in-memory communication infrastructure for asymmetric multiprocessing systems without an external hypervisor |
US11237924B2 (en) * | 2019-12-11 | 2022-02-01 | Commvault Systems, Inc. | Dynamic resizing and re-distribution of destination data storage resources for bare metal restore operations in a data storage management system |
US11797330B2 (en) * | 2020-12-11 | 2023-10-24 | Microsoft Technology Licensing, Llc | Saving and restoring pre-provisioned virtual machine states |
-
2021
- 2021-07-12 CN CN202110783640.4A patent/CN115617256A/zh active Pending
- 2021-08-05 US US17/394,697 patent/US11880606B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20230009160A1 (en) | 2023-01-12 |
US11880606B2 (en) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11216314B2 (en) | Dynamic reallocation of resources in accelerator-as-a-service computing environment | |
US10838648B2 (en) | Distributed host copy migration in a cluster environment using changed block tracking | |
US11663029B2 (en) | Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system | |
US11099754B1 (en) | Storage array with dynamic cache memory configuration provisioning based on prediction of input-output operations | |
US11086785B2 (en) | Host device with storage cache aware processing of input-output operations in multi-path layer | |
US10069906B2 (en) | Method and apparatus to deploy applications in cloud environments | |
US11740824B2 (en) | Performing wear leveling between storage systems of a storage cluster | |
US11386023B1 (en) | Retrieval of portions of storage device access data indicating access state changes | |
US11416396B2 (en) | Volume tiering in storage systems | |
US11687257B2 (en) | Storage cluster load balancing based on predicted performance metrics | |
US11880606B2 (en) | Moving virtual volumes among storage nodes of a storage cluster based on determined likelihood of designated virtual machine boot conditions | |
US11803425B2 (en) | Managing storage resources allocated to copies of application workloads | |
US11983432B2 (en) | Load sharing of copy workloads in device clusters | |
US20230333871A1 (en) | Host-controlled service levels | |
US20240103898A1 (en) | Input-output processing in software-defined storage systems | |
US11256446B1 (en) | Host bus adaptor (HBA) virtualization aware multi-pathing failover policy | |
US11392459B2 (en) | Virtualization server aware multi-pathing failover policy | |
US20230333874A1 (en) | Virtual volume placement based on activity level | |
US20230221890A1 (en) | Concurrent handling of multiple asynchronous events in a storage system | |
US11080215B1 (en) | Host device providing automated prediction of change intervals to reduce adverse impacts on applications | |
US11625232B2 (en) | Software upgrade management for host devices in a data center | |
US11989156B1 (en) | Host device conversion of configuration information to an intermediate format to facilitate database transitions | |
US11853586B2 (en) | Automated usage based copy data tiering system | |
US11620054B1 (en) | Proactive monitoring and management of storage system input-output operation limits | |
US10949262B2 (en) | Application input-output workload prioritization |
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 |