CN113553143A - 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 - Google Patents
虚拟化资源池的异构方法、可读存储介质及虚拟化平台 Download PDFInfo
- Publication number
- CN113553143A CN113553143A CN202111095776.2A CN202111095776A CN113553143A CN 113553143 A CN113553143 A CN 113553143A CN 202111095776 A CN202111095776 A CN 202111095776A CN 113553143 A CN113553143 A CN 113553143A
- Authority
- CN
- China
- Prior art keywords
- cpu
- resource pool
- host
- characteristic
- instruction set
- 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.)
- Granted
Links
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/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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及云计算领域,特别涉及一种虚拟化资源池的异构方法,包括如下步骤:特征值获取步骤,使用cpuid指令获取各个主机的cpu特征值;特性指令集获取步骤,计算所获取的全部主机cpu特征值的每个字段的交集,记为特性指令集;虚拟机特性配置步骤,将特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机。该异构方法相当于屏蔽了高版本的cpu主机的部分功能,各个主机运行的虚拟机保持相同的虚拟机特性cpufeatureset,也就是说虚拟机运行在任何主机上都是对等的,不需要构建多套管理***对全部虚拟机及其工作的主机进行管理。
Description
技术领域
本发明涉及云计算领域,特别涉及一种虚拟化资源池的异构方法、虚拟化平台和计算机可读存储介质,计算机可读存储介质被处理器执行时能实现虚拟化资源池的异构方法。
背景技术
云计算的出现,带来了全新的IT基础架构建设、使用和交付模式。云服务器供应商通过服务器虚拟化技术得到虚拟机并将其作为业务服务器提供给用户使用,可以实现更细粒度的资源利用。相比传统物理机,虚拟机的部署更为方便快捷,而且可以在不同物理机之间迁移,提高了资源调度的灵活性。
在私有云的建设过程中,有的资源池对硬件的要求较高,需要运行在具有高性能的物理服务器上,由于资源池对硬件的依赖性较强,因此,不便于对不同的资源池进行统一管理,现有的资源池管理方式,为了对不同的资源池进行管理,需要构建多套管理***,不但***的构建过程复杂,而且资源管理成本也较高。
发明内容
本发明所要解决的技术问题是提供一种虚拟化资源池的异构方法,存储有被执行时实现上述方法的计算机程序的计算机可读存储介质,包括该存储介质的虚拟化平台,该方法能够实现资源池异构。
提供一种虚拟化资源池的异构方法,包括如下步骤:
特征值获取步骤,使用cpuid指令获取各个主机的cpu特征值;
特性指令集获取步骤,计算所获取的全部主机cpu特征值的每个字段的交集,记为特性指令集;
虚拟机特性配置步骤,将特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机。
优选地,包括新主机入池步骤:获取申请入池的新主机信息,根据所获取信息中的features字段提取该新主机的cpu特征值,计算新主机的cpu特征值与特性指令集的交集,将计算得到的交集作为新的特性指令集分配给各个虚拟机。
优选地,包括在所述新主机入池步骤之前执行的预检步骤:获取当前申请入池的新主机的cpu特征值,判断所获取的cpu特征值是否偏离资源池的特性指令集达到预设程度,若判断结果为是则发出提醒。
优选地,在所述预检步骤中,若判断结果是向上偏离达到预设程度,则再判断当前资源池资源使用量是否占据资源池的资源总量达到预设程度,若判断结果为是则所述预检步骤不发出提醒。
优选地,包括在获取cpu特征值之前执行的配置检测步骤:判断主机的BIOS配置中是否存在关闭的cpu特性,若判断结果为存在则发出提醒。
优选地,包括硬件识别步骤:对新申请加入资源池的主机,判断其硬件配置是否偏离预设的标准配置达到预设程度,若判断结果为是则发出提醒。
优选地,所述硬件配置是指网卡数和/或HBA卡速率。
优选地,所述特征值获取步骤中,获取各个主机的cpu特征值具体是:获取主机的features字段,提取其记录的主机的特征值。
还提供一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时能够实现上述虚拟化资源池的异构方法。
还提供一种虚拟化平台,
虚拟化平台,包括多个虚拟机和处理器,处理器获取虚拟机的资源信息和调整虚拟机的参数,处理器内预先存储有上述计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
有益效果:该自动化的虚拟化资源池的异构方法,在构建资源池时,先计算出全部主机cpu特征值的每个字段的交集,即特性指令集,然后将该计算得到的特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机,相当于屏蔽了高版本的cpu主机的部分功能,各个主机运行的虚拟机保持相同的虚拟机特性cpufeatureset,也就是说虚拟机运行在任何主机上都是对等的,使得异构资源池上全部虚拟机能够不受不同主机之间的执行运行差异而实现从一个主机迁移到另外一个主机的在线平滑迁移,并且不需要构建多套管理***对全部虚拟机及其工作的主机进行管理。
具体实施方式
以下结合具体实施方式对本发明创造作进一步详细说明。
虚拟化平台由在多主机上构建的多个虚拟机组成,虚拟化平台通过虚拟化资源池的异构方法来管理这些虚拟机。
在构建异构资源池时执行该虚拟化资源池的异构方法的步骤如下。
特征值获取步骤:使用cpuid指令获取各个主机的cpu特征值。
特性指令集获取步骤:计算所获取的全部主机cpu特征值的每个字段的交集,记为特性指令集。
虚拟机特性配置步骤:将特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机。
通过如上步骤实现的虚拟化资源池的异构方法,相当于在构建资源池时屏蔽了高版本的cpu主机的部分功能,各个主机运行的虚拟机保持相同的虚拟机特性cpufeatureset,也就是说虚拟机运行在任何主机上都是对等的,使得异构资源池上全部虚拟机能够不受不同主机之间的执行运行差异而实现从一个主机迁移到另外一个主机的在线平滑迁移,并且不需要构建多套管理***对全部虚拟机及其工作的主机进行管理。
虚拟机平台执行该虚拟化资源池的异构方法,通过自动计算虚拟机的cpu特性指令集的方式来对全部虚拟机进行控制,具体步骤详述如下。
首先,执行特征值获取步骤,使用cpuid指令获取运行各个虚拟机的主机的cpu特征值。获取各个主机的cpu特征值具体是:通过cpuid指令获取主机的xe host-cpu-info中的features字段,提取其记录的主机的特征值。
cpuid指令由eax寄存器获得输入参数,再将输出参数给到寄存器eax、ebx、ecx、edx。使用cpuid指令获取的全部主机的cpu特征值(cpu features)并返回到eax、ebx、ecx以及edx寄存器,如cpu特征值:17cbfbff-95ba2223-2993fbff–00000003–00000001–00000000–00000000–00000000-00000000,cpu特征值用横线间隔,两个横线之间的数据为一段,其中每一段功能所得到的信息格式是不一样的。
以上面获取的cpu特征值为例。
第一段:输入参数eax是0x1,ecx清零,输出参数edx //cpu features;
第二段:输入参数eax是0x1,ecx清零,输出参数ecx //cpu features;
第三段:输入参数eax是0x80000001,ecx清零,输出参数edx //cpu externfeatures;
第四段:输入参数eax是0x80000001,ecx清零,输出参数ecx //cpu externfeatures;
第五段:输入参数eax是0xd,ecx是1,输出参数eax //The size in bytes of theXSAVE area containing all states enabled by XCRO | IA32_XSS;
第六段:输入参数eax是0x7,ecx是0,输出参数ebx //Structured ExtendedFeature Flags Enumeration Leaf;
第七段:输入参数eax是0x7,ecx是0,输出参数ecx //Structured ExtendedFeature Flags Enumeration Leaf;
第八段:输入参数eax是0x80000007,ecx清零,输出参数edx //Bit 08:Invariant TSC available if 1;
第九段:输入参数eax是0x80000008,ecx清零,输出参数ebx //0。
将主机的物理cpu的全部cpuid 0x1与cpuid 0x80000001执行的返回值按照相同的寄存器值做并集操作,所得到的并集作为该主机的cpu指令集。
然后执行特性指令集获取步骤,计算所获取的全部主机cpu特征值的每个字段的交集,具体地,识别各个主机cpu指令集中相同的字段,将识别出的全部的相同字段记为该资源池的特性指令集。
不同的型号的cpu或者相同型号的cpu在不同的配置的情况下,获取到的特征值将存在差异,如以下两个cpu的值:
17c9cbf5-f6f83203-2191cbf5-00000123-00000007-018c0b39-00000000-00000000-00000000(1);
17cbfbff-f7fa3223-2d93fbff-00000123-0000000f-019c4fbb-00000008-00000000-00000000(2);
若将这两个cpu组成一个资源池,那么计算他们的每个字段的交集,获得
17c9cbf5-f6f83203-2191cbf5-00000123-00000007-018c0b39-00000000-00000000-00000000(1),并将该值传给虚拟化平台的虚拟机监视器Hypervisor,Hypervisor保存该值以备调取。
最后执行虚拟机特性配置步骤,调取保存在Hypervisor中的特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机。当虚拟机内部执行cpuid指令vmexit退出至Hypervisor时,Hypervisor模拟虚拟机的cpuid的执行,并在虚拟机查询cpufeatures时,将实际的物理cpu的cpuid返回值与计算所得的对应字段进行与运算后的结果作为虚拟机cpuid的返回值。
该自动化的虚拟化资源池的异构方法,在构建资源池时,先计算出全部主机cpu特征值的每个字段的交集,即特性指令集,然后将该计算得到的特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机,相当于屏蔽了高版本的cpu主机的部分功能,各个主机运行的虚拟机保持相同的虚拟机特性cpufeatureset,也就是说虚拟机运行在任何主机上都是对等的,使得异构资源池上全部虚拟机能够不受不同主机之间的执行运行差异而实现从一个主机迁移到另外一个主机的在线平滑迁移,并且不需要构建多套管理***对全部虚拟机及其工作的主机进行管理。
虚拟平台在以下三种情况下执行上述的虚拟化资源池的异构方法:有新主机申请加入资源池;有主机退出资源池;有资源池内主机重启后重新连接资源池内主机。
在有新主机申请加入资源池的情况下,先执行新主机入池步骤:获取申请入池的新主机信息,根据所获取信息中的xehost-cpu-info中的features字段提取该新主机的cpu特征值,计算新主机的cpu特征值与特性指令集的交集,将计算得到的交集作为新的特性指令集分配给各个虚拟机。
另外,在新主机入池步骤之前执行预检步骤:获取当前申请入池的新主机的cpu特征值,判断所获取的cpu特征值是否偏离(向上偏离或向下偏离)资源池的特性指令集达到预设程度,若判断结果为是则发出提醒。
在预检步骤中,若判断结果是向下偏离达到预设程度,则说明新主机版本较低且与资源池内主机的feature值差异过大,将较低版本的cpu主机加入资源池进入高版本的cpu主机资源池中后,可能出现cpu主机关机后无法开机的情况
在预检步骤中,若判断结果是向上偏离达到预设程度,则说明新主机版本较高且与资源池内主机的feature值差异过大,将较高版本的cpu主机加入资源池到较低版本的cpu资源池中,无法发挥出高版本cpu主机的新特性,因此不适合将该新主机加入该资源池内。但此时为避免当前资源池急需新主机的资源,需再判断当前资源池资源使用量是否占据资源池的资源总量达到预设程度,若判断结果为是则预检步骤不发出提醒,而是将该新主机加入资源池内。
其中,在执行新主机入池步骤之前执行硬件识别步骤,对新申请加入资源池的主机,判断其硬件配置(如网卡数和HBA卡速率)是否偏离预设的标准配置达到预设程度(如低于标准配置的70%),若判断结果为是则发出提醒。标准配置是资源池中已有的全部主机的硬件配置的平均值。
其中,在特征值获取步骤和新主机入池步骤中,还包括在获取cpu特征值之前执行的配置检测步骤:判断主机的BIOS配置中是否存在关闭的cpu特性,若判断结果为存在,则将该主机加入资源池后,会导致在整个资源池的全部主机上运行的虚拟机都不能使用这些cpu特性的,如走主机关闭了vt-x,那么资源池中的全部主机将无法运行全虚虚拟机,因此,虚拟化平台发出提醒来提示管理员/用户查看是否可以打开当前处于关闭状态的cpu特性。
其中,加入到资源池的主机都采用相同厂商的CPU,不会出现Intel和AMD的CPU混合使用的场景,且在全部主机上安装同一个虚拟化管理中心版本,同时各个主机的patch也保持一致。
如上仅为本发明创造的实施方式,不以此限定专利保护范围。本领域技术人员在本发明创造的基础上作出非实质性的变化或替换,仍落入专利保护范围。
Claims (10)
1.虚拟化资源池的异构方法,其特征是包括如下步骤:
特征值获取步骤,使用cpuid指令获取各个主机的cpu特征值;
特性指令集获取步骤,计算所获取的全部主机cpu特征值的每个字段的交集,记为特性指令集;
虚拟机特性配置步骤,将特性指令集作为虚拟机特性cpufeatureset配置给资源池内的全部虚拟机。
2.根据权利要求1所述的虚拟化资源池的异构方法,其特征是,包括新主机入池步骤:获取申请入池的新主机信息,根据所获取信息中的features字段提取该新主机的cpu特征值,计算新主机的cpu特征值与特性指令集的交集,将计算得到的交集作为新的特性指令集分配给各个虚拟机。
3.根据权利要求2所述的虚拟化资源池的异构方法,其特征是,包括在所述新主机入池步骤之前执行的预检步骤:获取当前申请入池的新主机的cpu特征值,判断所获取的cpu特征值是否偏离资源池的特性指令集达到预设程度,若判断结果为是则发出提醒。
4.根据权利要求3所述的虚拟化资源池的异构方法,其特征是,在所述预检步骤中,若判断结果是向上偏离达到预设程度,则再判断当前资源池资源使用量是否占据资源池的资源总量达到预设程度,若判断结果为是则所述预检步骤不发出提醒。
5.根据权利要求1或2所述的虚拟化资源池的异构方法,其特征是,包括在获取cpu特征值之前执行的配置检测步骤:判断主机的BIOS配置中是否存在关闭的cpu特性,若判断结果为存在则发出提醒。
6.根据权利要求1所述的虚拟化资源池的异构方法,其特征是,包括硬件识别步骤:对新申请加入资源池的主机,判断其硬件配置是否偏离预设的标准配置达到预设程度,若判断结果为是则发出提醒。
7.根据权利要求6所述的虚拟化资源池的异构方法,其特征是,所述硬件配置是指网卡数和/或HBA卡速率。
8.根据权利要求1所述的虚拟化资源池的异构方法,其特征是,所述特征值获取步骤中,获取各个主机的cpu特征值具体是:获取主机的features字段,提取其记录的主机的特征值。
9.计算机可读存储介质,其存储有计算机程序,其特征是,所述计算机程序被处理器执行时能够实现权利要求1~8中任一项所述的虚拟化资源池的异构方法。
10.虚拟化平台,包括多个虚拟机和处理器,处理器获取虚拟机的资源信息和调整虚拟机的参数,其特征是,处理器内预先存储有如权利要求9所述的计算机可读存储介质,该计算机可读存储介质上的计算机程序可被处理器执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095776.2A CN113553143B (zh) | 2021-09-18 | 2021-09-18 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111095776.2A CN113553143B (zh) | 2021-09-18 | 2021-09-18 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113553143A true CN113553143A (zh) | 2021-10-26 |
CN113553143B CN113553143B (zh) | 2022-01-07 |
Family
ID=78134419
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111095776.2A Active CN113553143B (zh) | 2021-09-18 | 2021-09-18 | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113553143B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111867A (zh) * | 2013-04-19 | 2014-10-22 | 杭州迪普科技有限公司 | 一种虚拟机迁移装置及方法 |
US20150058843A1 (en) * | 2013-08-23 | 2015-02-26 | Vmware, Inc. | Virtual hadoop manager |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN107220103A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种宿主物理机的cpu加速方法及装置 |
CN107621970A (zh) * | 2017-10-16 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种异构cpu的虚拟机迁移方法和装置 |
CN108255570A (zh) * | 2016-12-28 | 2018-07-06 | 华为技术有限公司 | 异构虚拟机监视器平台间的虚拟机迁移方法、装置和*** |
CN109324871A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种虚拟机硬件配置方法和*** |
-
2021
- 2021-09-18 CN CN202111095776.2A patent/CN113553143B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111867A (zh) * | 2013-04-19 | 2014-10-22 | 杭州迪普科技有限公司 | 一种虚拟机迁移装置及方法 |
US20150058843A1 (en) * | 2013-08-23 | 2015-02-26 | Vmware, Inc. | Virtual hadoop manager |
CN106648826A (zh) * | 2016-09-09 | 2017-05-10 | 北京百度网讯科技有限公司 | 用于热迁移虚拟机的方法和装置 |
CN108255570A (zh) * | 2016-12-28 | 2018-07-06 | 华为技术有限公司 | 异构虚拟机监视器平台间的虚拟机迁移方法、装置和*** |
CN107220103A (zh) * | 2017-05-27 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种宿主物理机的cpu加速方法及装置 |
CN107621970A (zh) * | 2017-10-16 | 2018-01-23 | 郑州云海信息技术有限公司 | 一种异构cpu的虚拟机迁移方法和装置 |
CN109324871A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种虚拟机硬件配置方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN113553143B (zh) | 2022-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11061712B2 (en) | Hot-plugging of virtual functions in a virtualized environment | |
US9710304B2 (en) | Methods and apparatus to select virtualization environments for migration | |
US9858095B2 (en) | Dynamic virtual machine resizing in a cloud computing infrastructure | |
US9098321B2 (en) | Method and computer for controlling virtual machine | |
US8832688B2 (en) | Kernel bus system with a hyberbus and method therefor | |
US10678581B2 (en) | Methods and apparatus to select virtualization environments during deployment | |
US20180101395A1 (en) | Configuration of a cluster of hosts in virtualized computing environments | |
US9223623B2 (en) | Dynamic service resource control | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
US10241824B2 (en) | Identifying application usage roles for devices provided to virtual machines | |
US20070011444A1 (en) | Method, apparatus and system for bundling virtualized and non-virtualized components in a single binary | |
US11924117B2 (en) | Automated local scaling of compute instances | |
WO2019148854A1 (zh) | 虚拟化网元设备的部署方法以及装置 | |
WO2018040525A1 (zh) | 资源池的处理方法、装置和设备 | |
US10481924B2 (en) | Dynamically managing a serial port interface connected to a direct console user interface (DCUI) of virtualization software using headless flags | |
US10198220B2 (en) | Storage resource provisioning for a test framework | |
US11658868B2 (en) | Mixed mode management | |
US10467173B2 (en) | Hot plugging of virtual bridges in a virtual PCI system | |
CN109324872B (zh) | 一种对虚拟机改变的请求进行验证的方法和*** | |
WO2018149157A1 (zh) | 一种vcpu线程的调度方法及装置 | |
CN113553143B (zh) | 虚拟化资源池的异构方法、可读存储介质及虚拟化平台 | |
US20120124355A1 (en) | Single volume image file extraction | |
CN107741868B (zh) | 一种基本输入输出***bios的设置方法和装置 | |
US11182184B2 (en) | Implementing high-performance virtual machines for bare metal simulation | |
CN109189556B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |