CN103176847A - 虚拟机的分配方法 - Google Patents

虚拟机的分配方法 Download PDF

Info

Publication number
CN103176847A
CN103176847A CN2011104612836A CN201110461283A CN103176847A CN 103176847 A CN103176847 A CN 103176847A CN 2011104612836 A CN2011104612836 A CN 2011104612836A CN 201110461283 A CN201110461283 A CN 201110461283A CN 103176847 A CN103176847 A CN 103176847A
Authority
CN
China
Prior art keywords
main frame
virtual machine
distribution method
information
resource
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
CN2011104612836A
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.)
Inventec Electronics Tianjin Co Ltd
Inventec Corp
Original Assignee
Inventec Corp
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 Inventec Corp filed Critical Inventec Corp
Priority to CN2011104612836A priority Critical patent/CN103176847A/zh
Publication of CN103176847A publication Critical patent/CN103176847A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种虚拟机的分配方法,用以在不同的主机中运行至少一个虚拟机。虚拟机的分配方法包括:接收虚拟机建立指令,其中虚拟机建立指令包括指定样版,指定样板对应至少一建立需求资源以及至少一样版运行需求信息;获得每一个主机目前剩余的至少一目前剩余资源以及至少一主机运行信息;将一个目前剩余资源大于或等于建立需求资源且主机运行信息符合样板运行需求信息的主机设为目标主机;以及由目标主机运行虚拟机。

Description

虚拟机的分配方法
技术领域
本发明涉及一种虚拟机(virtual machine,VM)的分配方法,特别是用以在多个主机中运行至少一虚拟机的虚拟机的分配方法。
背景技术
虚拟机(virtual machine,VM)是将一个或多个处理器、内存或是储存装置等实体资源集合起来成为一个服务器系统后,在实体资源上被建立的虚拟平台。虚拟机也可以被视为在实体资源的计算机平台和客户端的使用者的间建立一种环境,且虚拟机也可像具有实体的普通的计算机一样有自己的作业系统(Operating System,OS)以及应用程序(application)。一般服务器系统包括多个具有实体资源的主机(host),且每个主机都能同时能运行至少一个虚拟机,再将虚拟机提供给客户端使用。
当客户端需要一个新的虚拟机时,服务器系统需要创建一个新的虚拟基并由某一个主机运行。新创建的虚拟机势必会对被配置的主机造成新的负担,并消耗被配置的主机的实体资源,因此如何在服务器系统中适当地配置虚拟机是一个重要的课题。传统上在将虚拟机分配到各主机时,选择剩余的内存最多或是储存空间最多的主机来运行新的虚拟机。但是传统的配置方法只考量虚拟机创建当时的情况,会有后续运作情况与创建时不符而使的虚拟机无法继续运作的问题。
发明内容
为了解决上述问题,本发明的目的在于提供一种虚拟机(virtual machine,VM)的分配方法,其用以在不同的主机(host)中运行至少一虚拟机。虚拟机的分配方法包括:接收一虚拟机建立指令,其中虚拟机建立指令包括一指定样版,指定样板对应至少一建立需求资源以及至少一样版运行需求信息;获得每一个主机的至少一目前剩余资源以及至少一主机运行信息;将一个目前剩余资源大于或等于建立需求资源且主机运行信息符合样板运行需求信息的主机设为一目标主机;以及由目标主机运行虚拟机。
目前剩余资源可以是每一个主机目前剩余的处理器核数、内存空间或硬盘空间,建立需求资源可以是配置虚拟机时所需的处理器核数(core)、内存空间或硬盘空间,且目前剩余资源对应于建立需求资源。
而主机运行信息可以是每一个主机运行时的磁碟传输频宽(disk I/Obandwidth)的最小值或是网络传输频宽(network bandwidth)的最小值,样版运行需求信息可以是虚拟机运行时所需的磁碟传输频宽的最大值或是网络传输频宽的最大值,且主机运行信息对应于样版运行需求信息。其中主机运行信息可以是统计这些主机在全生命周期中的运行状况得到,样板运行需求信息则可以是统计此统计指定样板于至少一个主机上实体化后,在全生命周期中的运行状况得到。
根据一实施范例,“将一个目前剩余资源大于或等于建立需求资源且主机运行信息符合该样板运行需求信息的主机设为目标主机”的步骤可包括:将具有大于或等于建立需求资源的目前剩余资源的至少一个主机纪录为一候选清单;对于候选清单中的这些主机,将主机运行信息小于样板运行需求信息的至少一个主机从候选清单中去除;以及将候选清单中剩余的这些主机之一设为目标主机。
其中“将候选清单中剩余的这些主机之一设为目标主机”的步骤包括:依据候选清单中剩余的这些主机的目前剩余资源的大小将候选清单中剩余的这些主机排序;以及将候选清单中剩余且具有最大的目前剩余资源的主机设为目标主机。
综上所述,虚拟机的分配方法获得主机运行信息以及样板运行需求信息,并依据主机运行信息以及样板运行需求信息分配新的虚拟机到适合的主机上。因此能够确保新的虚拟机以及被分配到的主机在整个全生命周期中都能够顺利运作,而不会有资源不足的问题。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。
附图说明
图1为一实施范例的主机示意图;
图2为一实施范例的虚拟机的分配方法的流程图;
图3为一实施范例的步骤S140的流程图。
其中,附图标记
10服务器系统
12A、12B、12C主机
14A、14B、14C、14D、14E虚拟机
20客户端
具体实施方式
以下在实施方式中详细叙述本发明的详细特征以及优点,其内容足以使任何本领域技术人员了解本发明的技术内容并据以实施,且根据本说明书所揭露的内容、权利要求范围及附图,任何本领域技术人员可轻易地理解本发明相关的目的及优点。
本发明提供一种虚拟机(virtual machine,VM)的分配方法,其用以在不同的多个主机(host)中运行至少一虚拟机。
请先参照图1,其为一实施范例的主机示意图。一服务器系统10可包括多个实体的主机12A、12B以及12C(以下统称为主机12),以将运行于主机12的多个虚拟机14A-14E(以下统称为虚拟机14)提供给多个客户端20。服务器系统10可以是一个云端系统(cloud system),通过虚拟机14提供云端运算(cloud computing)或是云端储存(cloud storage)等服务给客户端20。举例而言,服务器系统10可以是一个存储区域网络(Storage Area Network,SAN),供客户端20通过因特网(Internet)连接到虚拟机14,以存取储存于主机12的中的数据。
每个主机12可具有各自的中央处理器(Central Processing Unit,CPU)、内存(memory)以及磁碟等硬件资源,且服务器系统10可以将至少一主机12中的多个磁碟组成磁碟阵列(redundant array of inexpensive disk,RAID)。此外,其中一个主机12可作为一管理主机并运行一管理软体,管理主机利用管理软体以管理整个服务器系统10中的所有主机12。
管理主机可执行下述虚拟机的分配方法,以依据客户端20的需求以及主机12的硬件资源,在至少一个主机12中运行至少一个虚拟机14来服务客户端20。虽然以下实施范例的中仅提供一个虚拟机14给一个客户端20,但是服务器系统10也可同时提供多个虚拟机14给单一个客户端20。
由于客户端20所需的虚拟机14具有相当程度的相似性,因此服务器系统10的管理者可以针对典型应用设定多个虚拟机样板(Template)。而虚拟机样板中包括将其实例化(instance)成为虚拟机14时可运行的作业系统(operatingsystem,OS)和各种应用程序(application)。当需要创建新的虚拟机14时,管理主机可选择适当的虚拟机样板,再据以在某个主机12上运行此虚拟机样版的实例作为新的虚拟机14。
请参考图2,其为一实施范例的虚拟机的分配方法的流程图。
首先管理主机接收来自客户端20的一虚拟机建立指令,其中虚拟机建立指令包括一指定样版(步骤S100)。指定样板是虚拟机样板的其中之一,且每个虚拟机样板都设有至少一建立需求资源以及至少一样板运行需求信息,因此管理主机可以得知指定样板所对应的建立需求资源以及样版运行需求信息。管理主机并可通过轮询(polling)或是要求所有主机12定时回报的方式,获得每一个主机12的至少一目前剩余资源以及至少一主机运行信息(步骤S120)。
其中目前剩余资源可以是每一个主机12目前剩余的处理器核数、内存空间或硬盘空间,然不以此为限。运行中的虚拟机14会占用主机12的部分硬件资源,而且可能各个主机12上运行虚拟机14的状况都不一样,因此各个主机目前剩余的硬件资源也可能都不相同。类似地,建立需求资源可以是将指定样板配置(也就是实例化)在主机12上时所需的处理器核数、内存空间或硬盘空间;且建立需求资源可以是经过统计分析得到的预估值。根据另一实施范例,也可将各主机12的网卡(network interface card,NIC)的网卡配置(configuration)作为目前剩余资源,并将指定样版所需的网卡配置作为建立需求资源。
主机运行信息则可以是每一个主机12运行时的磁碟传输频宽(disk I/Obandwidth)的最小值或是网络传输频宽(network bandwidth)的最小值。样版运行需求信息则代表指定样板被配置在主机12上之后,新的虚拟机14运行时所需的磁碟传输频宽的最大值或是网络传输频宽的最大值。
主机运行信息是可以是统计所有主机12在全生命周期(Full Life Cycle)中的运行状况得到;样板运行需求信息则可以是统计此统计指定样板于主机12上实体化后,在全生命周期中的运行状况得到。其中全生命周期可以是完整24小时,或是一段指定的时间。更详细地说,每个主机12可运行一监控程序,监控程序可以持续监控主机12的磁碟传输频宽或网络传输频宽。监控程序可以监控并统计磁碟传输频宽或网络传输频宽的变化并回报给管理主机,管理主机或监控程序再据以预估不同虚拟机样板在运作时可能所需得磁碟传输频宽或网络传输频宽。
此外,获得的目前剩余资源对应于建立需求资源,主机运行信息对应于样版运行需求信息。更详细地说,于步骤S120中,管理主机可依据指定样板对应的建立需求资源以及样板运行需求信息的项目去向各个主机12要求目前剩余资源以及主机运行信息。例如当指定样板对应的建立需求资源的项目为内存空间时,管理主机可询问各主机12目前剩余的内存空间作为目前剩余资源。
接着管理主机将一个目前剩余资源大于或等于建立需求资源且主机运行信息符合样板运行需求信息的主机12设为一目标主机(步骤S140),再由目标主机以指定样板运行一个新的虚拟机14(步骤S160)。换句话说,除了目前剩余资源之外,管理主机另外参考统计与预估得到的主机运行信息以及样板运行需求信息来决定要将新的虚拟机14分配在哪一个主机12。
其中步骤S140的详细实施步骤请参照图3,其为一实施范例的步骤S140的流程图。
管理主机可先将具有大于或等于建立需求资源的目前剩余资源的至少一个主机12记录为候选清单(步骤S142)。对于候选清单中的这些主机12,接着将主机运行信息小于样板运行需求信息的至少一个主机12从候选清单中去除(步骤S144)。最后管理主机再将该选清单中剩余的主机12之一设为目标主机(步骤S146)。
根据一实施范例,于步骤S46可包括:依据候选清单中剩余的主机12的目前剩余资源的大小,将候选清单中剩余的主机12排序;以及将候选清单中剩余且具有最大的目前剩余资源的主机12设为该目标主机。然而根据另一实施范例,在步骤S146可依据主机运行信息的大小进行排序,并选择具有最大的主机运行信息的主机12作为目标主机。
以下以图1的实施范例为例进行说明。
假设主机12A运行一个以第一样板实体化的虚拟机14A;主机12B运行一个以第一样板实体化的虚拟机14B以及一个以第二样板实体化的虚拟机14C;主机12C运行两个以第二样板实体化的虚拟机14D以及14E;且指定样板为第一样板。并假设主机12A、12B以及12C原始的中央处理器的处理器核心数为4,内存的内存空间为16GB,磁碟的磁碟空间为20TB;第一样板对应的建立需求资源是大小2GB的内存空间;第二样板对应的建立需求资源是大小为4GB的内存空间。
则在步骤S120时,管理主机可以得知指定样版的建立需求资源为2GB的内存空间以;且可得知第一主机12A、12B以及12C的目前剩余资源分别为大小为14GB、10GB以及8GB的内存空间。
此外,主机12A的监控程序可能统计得到主机12A在平日早上9点到晚上6点之间的工作时段消耗了70%的网络传输频宽;主机12B在工作时段消耗了75%的网络传输频宽;主机12C在工作时段消耗了10%的网络传输频宽。但主机12A在非工作时段仅消耗了2%的网络传输频宽;主机12B以及12C在非工作时段仅消耗了4%的网络传输频宽。因此管理程序可以得知第一样版以及第二样版的主机运行信息分别为70%以及5%的网络传输频宽。且在步骤S120时,管理主机可以得知主机12A、12B以及12C的主机运行信息分别为30%、25%以及90%的网络传输频宽。
由于主机12A、12B以及12C目前剩余的内存空间都大于第一样版所需的2GB,因此主机12A、12B以及12C都被纪录为候选清单。但是主机12A以及12B在工作时段时剩余的网络传输频宽分别仅为30%以及25%,而小于第一样版预估会在工作时段时消耗掉的70%,因此主机12A以及12B自候选清单中被去除。剩下的主机12C的目前剩余资源大于第一样版的建立需求资源,且主机运行信息也符合样板运行需求信息,因此主机12C被作为目标主机并实例化第一样板。
综上所述,虚拟机的分配方法可统计所有主机在全生命周期中的运作情形,用以记录为为主机运行信息并利用统计的方法预估每一个虚拟机样板被实例化后的运作情形作为样板运行需求信息。虚拟机的分配方法除了依据创建新的虚拟机当时各主机的目前剩余资源以及指定样板的建立需求资源之外,另考量主机运行信息以及样板运行需求信息才进行分配,因此能够避免主机在创建与运行新的虚拟机时所需资源差异太大的情形。且主机运行信息以及样板运行需求信息能够随着每一个全生命周期不断被更新,使得管理主机一直能够掌握最新最精准的数据,再据以分配新的虚拟机。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (7)

1.一种虚拟机的分配方法,用以在具有不同资源的主机中运行至少一虚拟机,其特征在于,该虚拟机的分配方法包括:
接收一虚拟机建立指令,其中该虚拟机建立指令包括一指定样版,该指定样板对应至少一建立需求资源以及至少一样版运行需求信息;
获得每一该主机的至少一目前剩余资源以及至少一主机运行信息;
将一个该目前剩余资源大于或等于该建立需求资源且该主机运行信息符合该样板运行需求信息的该主机设为一目标主机;以及
由该目标主机运行该虚拟机。
2.根据权利要求1所述的虚拟机的分配方法,其特征在于,该目前剩余资源为每一该主机目前剩余的处理器核数、内存空间或硬盘空间,该建立需求资源为配置该虚拟机时所需的处理器核数、内存空间或硬盘空间,且该些目前剩余资源对应于该建立需求资源。
3.根据权利要求1所述的虚拟机的分配方法,其特征在于,该主机运行信息为每一该主机运行时的磁碟传输频宽的最小值或是网络传输频宽的最小值,该样版运行需求信息为该虚拟机运行时所需的磁碟传输频宽的最大值或是网络传输频宽的最大值,且该些主机运行信息对应于该样版运行需求信息。
4.根据权利要求3所述的虚拟机的分配方法,其特征在于,该将一个该目前剩余资源大于或等于该建立需求资源且该主机运行信息符合该样板运行需求信息的该主机设为该目标主机的步骤包括:
将具有大于或等于该建立需求资源的该目前剩余资源的至少一该主机纪录为一候选清单;
对于该候选清单中的该些主机,将该主机运行信息小于该样板运行需求信息的至少一该主机从该候选清单中去除;以及
将该候选清单中剩余的该些主机之一设为该目标主机。
5.根据权利要求4所述的虚拟机的分配方法,其特征在于,该将该候选清单中剩余的该些主机之一设为该目标主机的步骤包括:
依据该候选清单中剩余的该些主机的该目前剩余资源的大小将该候选清单中剩余的该些主机排序;以及
将该候选清单中剩余且具有最大的该目前剩余资源的该主机设为该目标主机。
6.根据权利要求3所述的虚拟机的分配方法,其特征在于,该主机运行信息是统计该些主机在全生命周期中的运行状况得到。
7.根据权利要求3所述的虚拟机的分配方法,其特征在于,该样板运行需求信息是统计该统计指定样板于至少一该主机上实体化后在全生命周期中的运行状况得到。
CN2011104612836A 2011-12-26 2011-12-26 虚拟机的分配方法 Pending CN103176847A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011104612836A CN103176847A (zh) 2011-12-26 2011-12-26 虚拟机的分配方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011104612836A CN103176847A (zh) 2011-12-26 2011-12-26 虚拟机的分配方法

Publications (1)

Publication Number Publication Date
CN103176847A true CN103176847A (zh) 2013-06-26

Family

ID=48636748

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011104612836A Pending CN103176847A (zh) 2011-12-26 2011-12-26 虚拟机的分配方法

Country Status (1)

Country Link
CN (1) CN103176847A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016090608A1 (zh) * 2014-12-11 2016-06-16 华为技术有限公司 确定虚拟机资源的方法、装置及程序产品
WO2018006864A1 (zh) * 2016-07-07 2018-01-11 腾讯科技(深圳)有限公司 创建虚拟机的方法、装置及系统、控制设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101449258A (zh) * 2006-05-18 2009-06-03 微软公司 基于工作负载表征将虚拟机部署到主机
CN101493781A (zh) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 一种虚拟机系统及其启动方法
US7822930B1 (en) * 2005-12-01 2010-10-26 Teradata Us, Inc. Balanced allocation of multiple resources, or of multiple resources from multiple providers

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7822930B1 (en) * 2005-12-01 2010-10-26 Teradata Us, Inc. Balanced allocation of multiple resources, or of multiple resources from multiple providers
CN101449258A (zh) * 2006-05-18 2009-06-03 微软公司 基于工作负载表征将虚拟机部署到主机
CN101493781A (zh) * 2008-01-24 2009-07-29 中国长城计算机深圳股份有限公司 一种虚拟机系统及其启动方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016090608A1 (zh) * 2014-12-11 2016-06-16 华为技术有限公司 确定虚拟机资源的方法、装置及程序产品
CN106170769A (zh) * 2014-12-11 2016-11-30 华为技术有限公司 确定虚拟机资源的方法、装置及程序产品
CN106170769B (zh) * 2014-12-11 2020-01-21 华为技术有限公司 确定虚拟机资源的方法、装置及程序产品
WO2018006864A1 (zh) * 2016-07-07 2018-01-11 腾讯科技(深圳)有限公司 创建虚拟机的方法、装置及系统、控制设备和存储介质
US10642641B2 (en) 2016-07-07 2020-05-05 Tencent Technology (Shenzhen) Company Limited Method, apparatus, and system for creating virtual machine, control device, and storage medium

Similar Documents

Publication Publication Date Title
US11461329B2 (en) Tracking query execution status for selectively routing queries
CN109416643B (zh) 应用程序迁移系统
US10652327B2 (en) Migration of virtual machines
US10841241B2 (en) Intelligent placement within a data center
RU2646323C2 (ru) Технологии для выделения конфигурируемых вычислительных ресурсов
CN105144121B (zh) 高速缓存内容可寻址数据块以供存储虚拟化
Fu et al. Progress-based container scheduling for short-lived applications in a kubernetes cluster
US10606649B2 (en) Workload identification and display of workload-specific metrics
US8041807B2 (en) Method, system and program product for determining a number of concurrent users accessing a system
CN104335137B (zh) 管理计算系统的功耗和性能
CN104113585A (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
TW201642130A (zh) 中央處理單元超量配置及雲端計算工作量排程機制
US20200026576A1 (en) Determining a number of nodes required in a networked virtualization system based on increasing node density
US9330424B2 (en) Power management analysis and modeling for distributed computer systems
US9135259B2 (en) Multi-tenancy storage node
WO2021093365A1 (zh) 一种gpu显存管理控制方法及相关装置
US10228856B2 (en) Storage space management in a thin provisioned virtual environment
US10410246B2 (en) Systems, methods, and devices for spend control in online advertising
WO2018188607A1 (zh) 流处理方法及装置
CN103176847A (zh) 虚拟机的分配方法
US20200028739A1 (en) Method and apparatus for closed-loop and dynamic capacity management in a web-scale data center
US11416318B1 (en) Application programming interface for integration flow design
US10721181B1 (en) Network locality-based throttling for automated resource migration
Yu et al. Performance studies of a websphere application, trade, in scale-out and scale-up environments
Forshaw Operating policies for energy efficient large scale computing

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130626