[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN114518933A - Method and system for realizing hot migration of virtual machine across CPUs (central processing units) - Google Patents

Method and system for realizing hot migration of virtual machine across CPUs (central processing units) Download PDF

Info

Publication number
CN114518933A
CN114518933A CN202111611039.3A CN202111611039A CN114518933A CN 114518933 A CN114518933 A CN 114518933A CN 202111611039 A CN202111611039 A CN 202111611039A CN 114518933 A CN114518933 A CN 114518933A
Authority
CN
China
Prior art keywords
cpu
model
node
configuration
nova
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
CN202111611039.3A
Other languages
Chinese (zh)
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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
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 Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202111611039.3A priority Critical patent/CN114518933A/en
Publication of CN114518933A publication Critical patent/CN114518933A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

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

本发明公开了一种跨CPU的虚拟机热迁移实现方法及系统,属于云计算领域;所述的方法具体步骤如下:S1对加入的支持跨CPU型号热迁移的计算节点集合进行配置;S2依据指定的软件及版本对集群内的计算节点自动化部署虚拟机管理程序Libvirt及其他基础依赖软件;S3获取节点CPU配置信息,并进行适配计算分析;S4对集群内的计算节点自动化部署初始化nova‑compute服务;针对不同CPU型号计算节点间热迁移虚拟机的方法,实现了新部署及已有云管理平台新增计算节点两种场景下云管理平台内不同CPU型号计算节点间虚拟机热迁移功能。

Figure 202111611039

The invention discloses a cross-CPU virtual machine hot migration implementation method and system, belonging to the field of cloud computing. The specific steps of the method are as follows: S1 configures the added computing node set that supports cross-CPU model hot migration; S2 according to The specified software and version automatically deploy the hypervisor Libvirt and other basic dependent software to the computing nodes in the cluster; S3 obtains the node CPU configuration information and performs adaptive calculation analysis; S4 automatically deploys the computing nodes in the cluster to initialize nova‑ compute service; for the method of hot migration of virtual machines between computing nodes of different CPU models, the hot migration function of virtual machines between computing nodes of different CPU models in the cloud management platform is realized in two scenarios: new deployment and new computing nodes in the existing cloud management platform .

Figure 202111611039

Description

一种跨CPU的虚拟机热迁移实现方法及系统A method and system for implementing cross-CPU virtual machine hot migration

技术领域technical field

本发明公开一种跨CPU的虚拟机热迁移实现方法及系统,涉及云计算技术领域。The invention discloses a cross-CPU virtual machine hot migration realization method and system, and relates to the technical field of cloud computing.

背景技术Background technique

当前大部分云计算及云服务提供商依托开源项目OpenStack作为云管理基础平台实现公有云和私有云的部署及管理。OpenStack Nova组件作为OpenStack项目中核心组件,用来提供云平台计算能力。常规的云计算集群一般由管理节点、计算节点和存储节点构成。计算节点依托物理机部署OpenStack Nova-Compute服务相关服务,用来为虚机机提供上层的计算管理服务。在Nova-Compute服务底层,会调用不同虚拟机管理工具,管理内核KVM、Xen、VMware ESX,QEMU和其他虚拟化技术。本文以Libvirt为例,调用内核KVM,管理云平台内虚拟机。At present, most cloud computing and cloud service providers rely on the open source project OpenStack as the basic cloud management platform to realize the deployment and management of public and private clouds. The OpenStack Nova component, as the core component of the OpenStack project, is used to provide cloud platform computing capabilities. A conventional cloud computing cluster generally consists of management nodes, computing nodes and storage nodes. Compute nodes deploy OpenStack Nova-Compute service-related services based on physical machines to provide upper-layer computing management services for virtual machines. At the bottom layer of Nova-Compute service, different virtual machine management tools are called to manage kernel KVM, Xen, VMware ESX, QEMU and other virtualization technologies. This article takes Libvirt as an example to call the kernel KVM to manage virtual machines in the cloud platform.

随着集群规模的不断扩大和业务复杂程度的增加,集群内可能会包含多种不同CPU型号的计算节点物理机。此时,一般可以通过将同种型号的物理机划分到相同的主机聚合的方式,实现同一主机聚合内虚拟机之间相互热迁移。但主机聚合中不只包含CPU型号一种属性信息,随着主机聚合信息的不断细化,会导致必须规划出大量主机聚合,增加了维护成本,并且如果集群规模较小,细化的主机聚合会导致每个聚合中的主机数量很少,失去了分类的作用。因此实际生产中一般不会将CPU信息作为属性加入主机聚合,这就导致了同一主机聚合中可能会存在不同CPU型号的计算节点。在执行虚拟机热迁移时,Nova-Compute服务会调用Libvirt compareCPU API验证虚拟机特性是否可迁移到目标计算节点,这就导致两个CPU型号不同的计算节点可能会出现热迁移失败的情况。As the scale of the cluster continues to expand and the complexity of the business increases, the cluster may contain computing node physical machines with different CPU models. In this case, it is generally possible to implement mutual hot migration between virtual machines in the same host aggregation by dividing physical machines of the same type into the same host aggregation. However, the host aggregation contains not only the attribute information of the CPU model. With the continuous refinement of the host aggregation information, a large number of host aggregations must be planned, which increases the maintenance cost. If the cluster scale is small, the refined host aggregation will As a result, the number of hosts in each aggregate is small, and the role of classification is lost. Therefore, in actual production, CPU information is generally not added to the host aggregation as an attribute, which leads to the possibility of computing nodes with different CPU models in the same host aggregation. When performing live migration of a virtual machine, the Nova-Compute service will call the Libvirt compareCPU API to verify whether the features of the virtual machine can be migrated to the target computing node. As a result, two computing nodes with different CPU models may fail to live migrate.

虚拟机热迁移功能受虚拟机启动文件配置影响,Libvirt主要支持三种CPU mode:host-passthrough、host-model和custom。理论上说,host-passthrough模式要求源节点和目的节点的指令集完全一致;host-model模式允许源节点和目的节点的指令集存在轻微差异;custom模式允许源节点和目的节点指令集存在较大差异(以虚机启动xml文件实际配置为准)。当不存在热迁移的场景时,建议选择host-passthrough模式;对于host-model模式,不同型号的CPU如果可以使用主机聚合划分,在迁移时可以使用主机聚合filter来匹配相同型号的物理机;当CPU型号过多,且不便用主机聚合划分时,建议使用custom模式。使用custom模式时,需要显示的指定使用的CPU model和required/disable的CPU features,但不同主机CPU型号支持的model类型、物理机CPU特性不同,如何自动准确的选择和配置CPUmodel和CPU features变得越发重要。The virtual machine live migration function is affected by the configuration of the virtual machine startup file. Libvirt mainly supports three CPU modes: host-passthrough, host-model and custom. Theoretically speaking, host-passthrough mode requires that the instruction sets of the source node and destination node are exactly the same; host-model mode allows slight differences in the instruction sets of the source node and destination node; custom mode allows the source node and destination node to have larger instruction sets. Difference (subject to the actual configuration of the virtual machine startup xml file). When there is no live migration scenario, it is recommended to select the host-passthrough mode; for the host-model mode, if different models of CPUs can be divided by host aggregation, the host aggregation filter can be used during migration to match the physical machines of the same model; when When there are too many CPU models and it is inconvenient to divide by host aggregation, it is recommended to use the custom mode. When using the custom mode, the specified CPU model and required/disabled CPU features need to be displayed. However, the model types and physical machine CPU features supported by different host CPU models are different. How to automatically and accurately select and configure the CPU model and CPU features become. increasingly important.

OpenStack计算服务Nova-Compute配置文件libvirt组中支持配置cpu_mode、cpu_models和cpu_model_extra_flags参数,对应虚拟机配置xml配置文件中domain/cpu中mode属性、domain/cpu/model和domain/cpu/model/feature配置。通过添加上述三个配置,指定虚拟机启动时CPU相关配置。The cpu_mode, cpu_models, and cpu_model_extra_flags parameters in the OpenStack computing service Nova-Compute configuration file libvirt group can be configured, corresponding to the mode attribute, domain/cpu/model and domain/cpu/model/feature configuration in domain/cpu in the virtual machine configuration xml configuration file. By adding the above three configurations, specify the CPU-related configuration when the virtual machine starts.

本发明主要针对以上问题,提出了一种跨CPU的虚拟机热迁移实现方法及系统。The present invention mainly aims at the above problems, and provides a method and system for realizing cross-CPU virtual machine hot migration.

发明内容SUMMARY OF THE INVENTION

本发明针对现有技术的问题,提供一种跨CPU的虚拟机热迁移实现方法及系统,所采用的技术方案为:一种跨CPU的虚拟机热迁移实现方法,所述的方法具体步骤如下:Aiming at the problems in the prior art, the present invention provides a method and system for implementing cross-CPU virtual machine hot migration. :

S1对加入的支持跨CPU型号热迁移的计算节点集合进行配置;S1 configures the added set of computing nodes that support hot migration across CPU models;

S2依据指定的软件及版本对集群内的计算节点自动化部署虚拟机管理程序Libvirt及其他基础依赖软件;S2 automatically deploys the hypervisor Libvirt and other basic dependent software to the computing nodes in the cluster according to the specified software and version;

S3获取节点CPU配置信息,并进行适配计算分析;S3 obtains node CPU configuration information, and performs adaptive calculation analysis;

S4对集群内的计算节点自动化部署初始化nova-compute服务。S4 automatically deploys and initializes the nova-compute service on the computing nodes in the cluster.

所述S1对加入的支持跨CPU型号热迁移的计算节点集合进行配置的具体步骤如下:The specific steps for configuring the added computing node set that supports cross-CPU model hot migration by the S1 are as follows:

S101通过配置计算节点ip对接到OpenStack部署的云管理平台中;S101 is connected to the cloud management platform deployed by OpenStack by configuring the computing node ip;

S102连接计算节点libvirt客户端并调用Libvirt命令行获取节点配置信息。S102 connects to the computing node libvirt client and invokes the Libvirt command line to obtain node configuration information.

所述S3获取节点CPU配置信息,并进行适配计算分析的具体步骤如下:The specific steps of S3 acquiring the node CPU configuration information and performing adaptive calculation analysis are as follows:

S301在集合内的计算节点上执行libvirt-qemu相关API获取节点CPU配置信息;S301 executes libvirt-qemu related APIs on the computing nodes in the set to obtain the node CPU configuration information;

S301配置初始化程序自动获取集群所有计算节点CPU的相关配置xml文件;The S301 configuration initialization program automatically obtains the relevant configuration xml files of the CPUs of all computing nodes in the cluster;

S302解析节点采集的CPU xml文件并计算出适配计算节点集合的可用的CPUmodel及CPU features信息;S302 parses the CPU xml file collected by the node and calculates the available CPU model and CPU features information adapted to the computing node set;

S303将解析的配置同步到集合内各节点Nova-Compute配置文件。S303 synchronizes the parsed configuration to the Nova-Compute configuration file of each node in the set.

所述S301配置初始化程序调用virsh–c<compute-node-ip>domcapabilities或Libvirt API:getDomainCapabilities获取目标计算节点domainCapabilities/cpu下name='host-model'的mod节点信息并保存为xml文件。The S301 configuration initialization program calls virsh-c<compute-node-ip>domcapabilities or Libvirt API:getDomainCapabilities to obtain mod node information with name='host-model' under domainCapabilities/cpu of the target computing node and save it as an xml file.

所述S302解析节点采集的CPU xml文件并计算出适配计算节点集合的可用的CPUmodel及CPU features信息的具体步骤如下:Described S302 parses the CPU xml file collected by the node and calculates the specific steps of the available CPU model and CPU features information of the set of adaptive computing nodes as follows:

S3021通过集群中各计算节点xml文件中name='host-model'的mode中的model名称结合有序CPU模型列表选择一个可支持的最低配CPU model;S3021 selects a minimum supported CPU model by combining the model name in the mode with name='host-model' in the xml file of each computing node in the cluster and the ordered CPU model list;

S3022根据xml文件中features列表计算出计算节点均可支持的公共的CPUfeatures集合,渲染成对应CPU xml文件;S3022, according to the features list in the xml file, calculates the set of public CPU features that can be supported by the computing nodes, and renders it into the corresponding CPU xml file;

S3023检查该model的名称是否在计算节点选出的最小可用model集合内。S3023 checks whether the name of the model is within the minimum available model set selected by the computing node.

所述S3023检查该model的名称是否在计算节点选出的最小可用model集合内,若在集合内,再通过在每个计算执行Libvirt API:CompareHypervisorCPU,验证构造的CPUxml文件是否适配每个计算节点,保证配置的model满足各个计算节点要求。The S3023 checks whether the name of the model is in the minimum available model set selected by the computing node. If it is in the set, then by executing Libvirt API: CompareHypervisorCPU in each calculation, verify whether the constructed CPUxml file is suitable for each computing node. , to ensure that the configured model meets the requirements of each computing node.

所述S303将解析的配置同步到集合内各节点Nova-Compute配置文件具体步骤如下:The specific steps in S303 to synchronize the parsed configuration to the Nova-Compute configuration file of each node in the set are as follows:

S3031在集合中每个节点再次验证选择出的CPU model及features是否可用;S3031 verifies again whether the selected CPU model and features are available at each node in the set;

S3032将选择出的CPU model和features配置并转化nova-compute服务可用的为cpu_mode、cpu_models和cpu_model_extra_flags配置添加到nova.conf配置文件中。S3032 adds the selected CPU model and features configuration to the nova.conf configuration file and converts it into the cpu_mode, cpu_models and cpu_model_extra_flags configuration available for the nova-compute service.

所述S4对集群内的计算节点自动化部署初始化nova-compute服务的具体步骤如下:The specific steps for S4 to automatically deploy and initialize the nova-compute service to the computing nodes in the cluster are as follows:

S401将XML文件中model和features转化为nova-compute配置文件中对应的参数:cpu_mode、cpu_models和cpu_model_extra_flags配置添加到nova.conf配置文件中;S401 converts the model and features in the XML file into the corresponding parameters in the nova-compute configuration file: cpu_mode, cpu_models and cpu_model_extra_flags configurations are added to the nova.conf configuration file;

S402由配置分发器覆盖到集合中每个计算节点中/etc/nova/nova.conf及/etc/nova/nova-compute.conf,完成nova-compute配置文件初始化。S402 is overwritten by the configuration distributor to /etc/nova/nova.conf and /etc/nova/nova-compute.conf in each computing node in the set to complete the initialization of the nova-compute configuration file.

一种跨CPU的虚拟机热迁移实现方法,所述的系统具体包括节点配置模块、节点部署模块、数据处理模块和服务部署模块:A method for implementing cross-CPU virtual machine hot migration, the system specifically includes a node configuration module, a node deployment module, a data processing module and a service deployment module:

节点配置模块:对加入的支持跨CPU型号热迁移的计算节点集合进行配置;Node configuration module: configure the added set of computing nodes that support hot migration across CPU models;

节点部署模块:依据指定的软件及版本对集群内的计算节点自动化部署虚拟机管理程序Libvirt及其他基础依赖软件;Node deployment module: Automatically deploy the hypervisor Libvirt and other basic dependent software to the computing nodes in the cluster according to the specified software and version;

数据处理模块:获取节点CPU配置信息,并进行适配计算分析;Data processing module: Obtain node CPU configuration information, and perform adaptive calculation analysis;

服务部署模块:对集群内的计算节点自动化部署初始化nova-compute服务。Service deployment module: Automatically deploy and initialize the nova-compute service for computing nodes in the cluster.

本发明的有益效果为:本发明方法针对不同CPU型号计算节点间热迁移虚拟机的方法,实现了新部署及已有云管理平台新增计算节点两种场景下云管理平台内不同CPU型号计算节点间虚拟机热迁移功能。一方面可以精简主机聚合属性(不通过向主机聚合添加CPU型号信息方式即同CPU型号划定在同一主机聚合方式避免由于CPU型号不同导致热迁移失败问题),同时提高了虚拟机热迁移的灵活性。The beneficial effects of the present invention are as follows: the method of the present invention is aimed at the method of hot migration of virtual machines between computing nodes of different CPU models, and realizes the computing of different CPU models in the cloud management platform under two scenarios of new deployment and new computing nodes of the existing cloud management platform. Virtual machine live migration function between nodes. On the one hand, it can simplify the host aggregation attributes (without adding CPU model information to the host aggregation method, that is, the same CPU model is assigned to the same host aggregation method to avoid the problem of hot migration failure due to different CPU models), and at the same time, it improves the flexibility of virtual machine hot migration. sex.

附图说明Description of drawings

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the following briefly introduces the accompanying drawings that need to be used in the description of the embodiments or the prior art. Obviously, the accompanying drawings in the following description These are some embodiments of the present invention. For those of ordinary skill in the art, other drawings can also be obtained based on these drawings without any creative effort.

图1是实施例中云管理平台场景下的调用链流程示意图;图2是实施例中配置初始化的实现机制示意图;图3是本发明方法的流程图。FIG. 1 is a schematic diagram of a call chain flow in a cloud management platform scenario in an embodiment; FIG. 2 is a schematic diagram of an implementation mechanism of configuration initialization in an embodiment; and FIG. 3 is a flowchart of the method of the present invention.

具体实施方式Detailed ways

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。The present invention will be further described below with reference to the accompanying drawings and specific embodiments, so that those skilled in the art can better understand the present invention and implement it, but the embodiments are not intended to limit the present invention.

实施例一:Example 1:

一种跨CPU的虚拟机热迁移实现方法,所述的方法具体步骤如下:A cross-CPU virtual machine hot migration implementation method, the specific steps of the method are as follows:

S1对加入的支持跨CPU型号热迁移的计算节点集合进行配置;S1 configures the added set of computing nodes that support hot migration across CPU models;

S2依据指定的软件及版本对集群内的计算节点自动化部署虚拟机管理程序Libvirt及其他基础依赖软件;S2 automatically deploys the hypervisor Libvirt and other basic dependent software to the computing nodes in the cluster according to the specified software and version;

S3获取节点CPU配置信息,并进行适配计算分析;S3 obtains node CPU configuration information, and performs adaptive calculation analysis;

S4对集群内的计算节点自动化部署初始化nova-compute服务;S4 automatically deploys and initializes the nova-compute service to the computing nodes in the cluster;

首先按照S1配置要加入支持跨CPU型号热迁移的计算节点集合,可添加不同CPU属性的计算节点(适合新建云管理平台或扩容已有云管理平台的计算节点),然后按照S2对于集群内的计算节点依据指定的软件源及版本自动化部署虚拟机管理程序Libvirt及其他基础依赖软件(kvm、qemu、openvswitch等);First, according to the S1 configuration, you need to join the computing node set that supports cross-CPU model hot migration, and you can add computing nodes with different CPU attributes (suitable for new cloud management platforms or expansion of existing cloud management platforms). The computing node automatically deploys the hypervisor Libvirt and other basic dependent software (kvm, qemu, openvswitch, etc.) according to the specified software source and version;

接着按照S3获取节点CPU配置信息,并进行适配计算分析;最后按照对于集群内的计算节点自动化部署初始化nova-compute服务,使用S3解析的CPU配置启动nova-compute服务,完成计算节点nova服务初始化;Then, obtain the node CPU configuration information according to S3, and perform adaptive calculation analysis; finally, initialize the nova-compute service according to the automatic deployment of computing nodes in the cluster, use the CPU configuration parsed by S3 to start the nova-compute service, and complete the initialization of the computing node nova service ;

如图1所示,对于新建云管理平台,首先初始化各个计算节点Libvirt服务;待Libvirt服务启动成功后,调用配置初始化系统,初始化各个计算节点Nova-Compute服务配置文件;最后完成Nova-Compute服务启动。针对扩容已有计算节点场景,首先初始化新扩容计算节点Libvirt服务;待Libvirt服务启动成功后,调用配置初始化系统,初始化待合入主机聚合相关计算节点及新扩容计算节点Nova-Compute服务配置文件;最后完成上述计算节点Nova-Compute服务启动;As shown in Figure 1, for the new cloud management platform, first initialize the Libvirt service of each computing node; after the Libvirt service is successfully started, call the configuration initialization system to initialize the Nova-Compute service configuration file of each computing node; finally complete the Nova-Compute service startup . For the expansion of existing computing nodes, first initialize the Libvirt service of the new expansion computing node; after the Libvirt service is successfully started, call the configuration initialization system to initialize the computing nodes to be merged into the host aggregation related computing nodes and the new expansion computing node Nova-Compute service configuration file; finally Complete the above-mentioned computing node Nova-Compute service startup;

进一步的,所述S1对加入的支持跨CPU型号热迁移的计算节点集合进行配置的具体步骤如下:Further, the specific steps of configuring the added computing node set that supports cross-CPU model hot migration by the S1 are as follows:

S101通过配置计算节点ip对接到OpenStack部署的云管理平台中;S101 is connected to the cloud management platform deployed by OpenStack by configuring the computing node ip;

S102连接计算节点libvirt客户端并调用Libvirt命令行获取节点配置信息;S102 connects to the computing node libvirt client and calls the Libvirt command line to obtain node configuration information;

接到OpenStack部署的云管理平台中通过配置计算节点ip,实现连接计算节点libvirt客户端并调用Libvirt命令行获取节点配置信息;In the cloud management platform deployed by OpenStack, by configuring the computing node ip, it can connect to the computing node libvirt client and call the Libvirt command line to obtain the node configuration information;

所述S3获取节点CPU配置信息,并进行适配计算分析的具体步骤如下:The specific steps of S3 acquiring the node CPU configuration information and performing adaptive calculation analysis are as follows:

S301在集合内的计算节点上执行libvirt-qemu相关API获取节点CPU配置信息;S301 executes libvirt-qemu related APIs on the computing nodes in the set to obtain the node CPU configuration information;

S301配置初始化程序自动获取集群所有计算节点CPU的相关配置xml文件;The S301 configuration initialization program automatically obtains the relevant configuration xml files of the CPUs of all computing nodes in the cluster;

S302解析节点采集的CPU xml文件并计算出适配计算节点集合的可用的CPUmodel及CPU features信息;S302 parses the CPU xml file collected by the node and calculates the available CPU model and CPU features information adapted to the computing node set;

S303将解析的配置同步到集合内各节点Nova-Compute配置文件;S303 synchronizes the parsed configuration to the Nova-Compute configuration file of each node in the collection;

如图2所示,通过该方法可在虚拟机管理程序初始化成功后,通过配置初始化程序自动获取集群所有计算节点CPU相关配置,并解析适用于集群内所有计算节点的CPU配置,适配到各个计算节点Nova-Compute配置文件中;针对已有的云管理平台新加计算节点时,可通过配置新增计算节点名和相应主机聚合或已有计算节点集合映射,对映射内的计算节点集合收集、解析CPU配置,由配置分发器分发到集合内计算节点,实现映射集合内计算节点虚拟机相互热迁移;As shown in Figure 2, this method can automatically obtain the CPU-related configurations of all computing nodes in the cluster through the configuration initialization program after the hypervisor is successfully initialized, and parse the CPU configurations applicable to all computing nodes in the cluster, and adapt to each In the Nova-Compute configuration file of the computing node; when adding a computing node to an existing cloud management platform, you can configure the name of the new computing node and the corresponding host aggregation or the mapping of the existing computing node set to collect and map the computing node set in the map. Parse the CPU configuration and distribute it to the computing nodes in the set by the configuration distributor, so as to realize the mutual hot migration of the virtual machines of the computing nodes in the mapping set;

所述S301配置初始化程序调用virsh–c<compute-node-ip>domcapabilities或Libvirt API:getDomainCapabilities获取目标计算节点domainCapabilities/cpu下name='host-model'的mod节点信息并保存为xml文件;The S301 configuration initialization program calls virsh-c<compute-node-ip>domcapabilities or Libvirt API:getDomainCapabilities to obtain the mod node information of name='host-model' under the target computing node domainCapabilities/cpu and save it as an xml file;

通过调用Libvirt API:Libvirt API:getDomainCapabilities获取集合内每个计算节点domcapabilities中domainCapabilities/cpu下name='custom'的mode,得到节点usable='yes'的model,即示例一;同时获取domainCapabilities/cpu下name='host-model'的mode节点中model名称及mode内信息,即示例二;同时处理xml并添加架构信息保存为xml文件,即示例三;By calling the Libvirt API: Libvirt API:getDomainCapabilities to obtain the mode of name='custom' under domainCapabilities/cpu in the domcapabilities of each computing node in the collection, and get the model of the node usable='yes', that is, example 1; at the same time, obtain the mode under domainCapabilities/cpu The name of the model and the information in the mode in the mode node with name='host-model' are example 2; while processing xml and adding the schema information and saving it as an xml file, that is example 3;

示例一:Example one:

<mode name='custom'supported='yes'><mode name='custom'supported='yes'>

<model usable='no'>qemu64</model><model usable='no'>qemu64</model>

<model usable='yes'>qemu32</model><model usable='yes'>qemu32</model>

<model usable='no'>phenom</model><model usable='no'>phenom</model>

<model usable='yes'>pentium3</model><model usable='yes'>pentium3</model>

<model usable='yes'>pentium2</model><model usable='yes'>pentium2</model>

<model usable='yes'>pentium</model><model usable='yes'>pentium</model>

<model usable='yes'>n270</model><model usable='yes'>n270</model>

<model usable='yes'>kvm64</model><model usable='yes'>kvm64</model>

<model usable='yes'>kvm32</model><model usable='yes'>kvm32</model>

<model usable='yes'>coreduo</model><model usable='yes'>coreduo</model>

<model usable='yes'>core2duo</model><model usable='yes'>core2duo</model>

<model usable='no'>athlon</model><model usable='no'>athlon</model>

<model usable='yes'>Westmere-IBRS</model><model usable='yes'>Westmere-IBRS</model>

<model usable='yes'>Westmere</model><model usable='yes'>Westmere</model>

<model usable='yes'>Skylake-Server-noTSX-IBRS</model><model usable='yes'>Skylake-Server-noTSX-IBRS</model>

<model usable='yes'>Skylake-Server-IBRS</model><model usable='yes'>Skylake-Server-IBRS</model>

<model usable='yes'>Skylake-Server</model><model usable='yes'>Skylake-Server</model>

<model usable='yes'>Skylake-Client-noTSX-IBRS</model><model usable='yes'>Skylake-Client-noTSX-IBRS</model>

<model usable='yes'>Skylake-Client-IBRS</model><model usable='yes'>Skylake-Client-IBRS</model>

<model usable='yes'>Skylake-Client</model><model usable='yes'>Skylake-Client</model>

<model usable='yes'>SandyBridge-IBRS</model><model usable='yes'>SandyBridge-IBRS</model>

<model usable='yes'>SandyBridge</model><model usable='yes'>SandyBridge</model>

<model usable='yes'>Penryn</model><model usable='yes'>Penryn</model>

<model usable='no'>Opteron_G5</model><model usable='no'>Opteron_G5</model>

<model usable='no'>Opteron_G4</model><model usable='no'>Opteron_G4</model>

<model usable='no'>Opteron_G3</model><model usable='no'>Opteron_G3</model>

<model usable='no'>Opteron_G2</model><model usable='no'>Opteron_G2</model>

<model usable='yes'>Opteron_G1</model><model usable='yes'>Opteron_G1</model>

<model usable='yes'>Nehalem-IBRS</model><model usable='yes'>Nehalem-IBRS</model>

<model usable='yes'>Nehalem</model><model usable='yes'>Nehalem</model>

<model usable='yes'>IvyBridge-IBRS</model><model usable='yes'>IvyBridge-IBRS</model>

<model usable='yes'>IvyBridge</model><model usable='yes'>IvyBridge</model>

<model usable='no'>Icelake-Server-noTSX</model><model usable='no'>Icelake-Server-noTSX</model>

<model usable='no'>Icelake-Server</model><model usable='no'>Icelake-Server</model>

<model usable='no'>Icelake-Client-noTSX</model><model usable='no'>Icelake-Client-noTSX</model>

<model usable='no'>Icelake-Client</model><model usable='no'>Icelake-Client</model>

<model usable='yes'>Haswell-noTSX-IBRS</model><model usable='yes'>Haswell-noTSX-IBRS</model>

<model usable='yes'>Haswell-noTSX</model><model usable='yes'>Haswell-noTSX</model>

<model usable='yes'>Haswell-IBRS</model><model usable='yes'>Haswell-IBRS</model>

<model usable='yes'>Haswell</model><model usable='yes'>Haswell</model>

<model usable='no'>EPYC-Rome</model><model usable='no'>EPYC-Rome</model>

<model usable='no'>EPYC-IBPB</model><model usable='no'>EPYC-IBPB</model>

<model usable='no'>EPYC</model><model usable='no'>EPYC</model>

<model usable='no'>Dhyana</model><model usable='no'>Dhyana</model>

<model usable='yes'>Conroe</model><model usable='yes'>Conroe</model>

<model usable='no'>Cascadelake-Server-noTSX</model><model usable='no'>Cascadelake-Server-noTSX</model>

<model usable='no'>Cascadelake-Server</model><model usable='no'>Cascadelake-Server</model>

<model usable='yes'>Broadwell-noTSX-IBRS</model><model usable='yes'>Broadwell-noTSX-IBRS</model>

<model usable='yes'>Broadwell-noTSX</model><model usable='yes'>Broadwell-noTSX</model>

<model usable='yes'>Broadwell-IBRS</model><model usable='yes'>Broadwell-IBRS</model>

<model usable='yes'>Broadwell</model><model usable='yes'>Broadwell</model>

<model usable='yes'>486</model><model usable='yes'>486</model>

</mode></mode>

示例二:Example two:

<mode name='host-model'supported='yes'><mode name='host-model' supported='yes'>

<model fallback='forbid'>Cascadelake-Server</model><model fallback='forbid'>Cascadelake-Server</model>

<vendor>Intel</vendor><vendor>Intel</vendor>

<feature policy='require'name='ss'/><feature policy='require'name='ss'/>

<feature policy='require'name='hypervisor'/><feature policy='require'name='hypervisor'/>

<feature policy='require'name='tsc_adjust'/><feature policy='require'name='tsc_adjust'/>

<feature policy='require'name='pku'/><feature policy='require'name='pku'/>

<feature policy='require'name='md-clear'/><feature policy='require'name='md-clear'/>

<feature policy='require'name='stibp'/><feature policy='require'name='stibp'/>

<feature policy='require'name='xsaves'/><feature policy='require'name='xsaves'/>

<feature policy='require'name='invtsc'/><feature policy='require'name='invtsc'/>

<feature policy='disable'name='avx512vnni'/><feature policy='disable'name='avx512vnni'/>

</mode></mode>

示例三:Example three:

<cpu><cpu>

<arch>x86_64</arch><arch>x86_64</arch>

<model fallback='forbid'>Cascadelake-Server</model><model fallback='forbid'>Cascadelake-Server</model>

<vendor>Intel</vendor><vendor>Intel</vendor>

<feature policy='require'name='ss'/><feature policy='require'name='ss'/>

<feature policy='require'name='hypervisor'/><feature policy='require'name='hypervisor'/>

<feature policy='require'name='tsc_adjust'/><feature policy='require'name='tsc_adjust'/>

<feature policy='require'name='pku'/><feature policy='require'name='pku'/>

<feature policy='require'name='md-clear'/><feature policy='require'name='md-clear'/>

<feature policy='require'name='stibp'/><feature policy='require'name='stibp'/>

<feature policy='require'name='xsaves'/><feature policy='require'name='xsaves'/>

<feature policy='require'name='invtsc'/><feature policy='require'name='invtsc'/>

<feature policy='disable'name='avx512vnni'/><feature policy='disable'name='avx512vnni'/>

</cpu></cpu>

所述S302解析节点采集的CPU xml文件并计算出适配计算节点集合的可用的CPUmodel及CPU features信息的具体步骤如下:Described S302 parses the CPU xml file collected by the node and calculates the specific steps of the available CPU model and CPU features information of the set of adaptive computing nodes as follows:

S3021通过集群中各计算节点xml文件中name='host-model'的mode中的model名称结合有序CPU模型列表选择一个可支持的最低配CPU model;S3021 selects a minimum supported CPU model by combining the model name in the mode with name='host-model' in the xml file of each computing node in the cluster and the ordered CPU model list;

S3022根据xml文件中features列表计算出计算节点均可支持的公共的CPUfeatures集合,渲染成对应CPU xml文件;S3022, according to the features list in the xml file, calculates the set of common CPU features that can be supported by the computing nodes, and renders it into the corresponding CPU xml file;

S3023检查该model的名称是否在计算节点选出的最小可用model集合内;S3023 checks whether the name of the model is in the minimum available model set selected by the computing node;

根据数据采集器上报的集合内各个计算节点usable='yes'的model信息,计算出集合内计算节点所能匹配的最小可用model集合;According to the model information of each computing node usable='yes' in the set reported by the data collector, calculate the minimum available model set that can be matched by the computing nodes in the set;

同时数据分析器会根据CPU出场年份不同维护一个有序CPU模型列表(表征CPU发布时间和性能);At the same time, the data analyzer will maintain an ordered list of CPU models (representing CPU release time and performance) according to different CPU appearance years;

数据分析器根据数据采集器上报的每个计算节点CPU xml文件到对应计算节点执行Libvirt API:BaselineHypervisorCPU扩展节点支持的全部features,即示例四;The data analyzer executes the Libvirt API on the corresponding computing node according to the CPU xml file of each computing node reported by the data collector: All features supported by the BaselineHypervisor CPU extension node, that is, Example 4;

示例四:Example four:

<cpu mode='custom'match='exact'><cpu mode='custom' match='exact'>

<model fallback='forbid'>Cascadelake-Server</model><model fallback='forbid'>Cascadelake-Server</model>

<vendor>Intel</vendor><vendor>Intel</vendor>

<feature policy='require'name='3dnowprefetch'/><feature policy='require'name='3dnowprefetch'/>

<feature policy='require'name='abm'/><feature policy='require'name='abm'/>

<feature policy='require'name='adx'/><feature policy='require'name='adx'/>

<feature policy='require'name='aes'/><feature policy='require'name='aes'/>

<feature policy='require'name='apic'/><feature policy='require'name='apic'/>

<feature policy='require'name='arat'/><feature policy='require'name='arat'/>

<feature policy='require'name='avx'/><feature policy='require'name='avx'/>

<feature policy='require'name='avx2'/><feature policy='require'name='avx2'/>

<feature policy='require'name='avx512bw'/><feature policy='require'name='avx512bw'/>

<feature policy='require'name='avx512cd'/><feature policy='require'name='avx512cd'/>

<feature policy='require'name='avx512dq'/><feature policy='require'name='avx512dq'/>

<feature policy='require'name='avx512f'/><feature policy='require'name='avx512f'/>

<feature policy='require'name='avx512vl'/><feature policy='require'name='avx512vl'/>

<feature policy='disable'name='avx512vnni'/><feature policy='disable'name='avx512vnni'/>

<feature policy='require'name='bmi1'/><feature policy='require'name='bmi1'/>

<feature policy='require'name='bmi2'/><feature policy='require'name='bmi2'/>

<feature policy='require'name='clflush'/><feature policy='require'name='clflush'/>

<feature policy='require'name='clflushopt'/><feature policy='require'name='clflushopt'/>

<feature policy='require'name='clwb'/><feature policy='require'name='clwb'/>

<feature policy='require'name='cmov'/><feature policy='require'name='cmov'/>

<feature policy='require'name='cx16'/><feature policy='require'name='cx16'/>

<feature policy='require'name='cx8'/><feature policy='require'name='cx8'/>

<feature policy='require'name='de'/><feature policy='require'name='de'/>

<feature policy='require'name='erms'/><feature policy='require'name='erms'/>

<feature policy='require'name='f16c'/><feature policy='require'name='f16c'/>

<feature policy='require'name='fma'/><feature policy='require'name='fma'/>

<feature policy='require'name='fpu'/><feature policy='require'name='fpu'/>

<feature policy='require'name='fsgsbase'/><feature policy='require'name='fsgsbase'/>

<feature policy='require'name='fxsr'/><feature policy='require'name='fxsr'/>

<feature policy='require'name='hle'/><feature policy='require'name='hle'/>

<feature policy='require'name='hypervisor'/><feature policy='require'name='hypervisor'/>

<feature policy='require'name='invpcid'/><feature policy='require'name='invpcid'/>

<feature policy='require'name='invtsc'/><feature policy='require'name='invtsc'/>

<feature policy='require'name='lahf_lm'/><feature policy='require'name='lahf_lm'/>

<feature policy='require'name='lm'/><feature policy='require'name='lm'/>

<feature policy='require'name='mca'/><feature policy='require'name='mca'/>

<feature policy='require'name='mce'/><feature policy='require'name='mce'/>

<feature policy='require'name='md-clear'/><feature policy='require'name='md-clear'/>

<feature policy='require'name='mmx'/><feature policy='require'name='mmx'/>

<feature policy='require'name='movbe'/><feature policy='require'name='movbe'/>

<feature policy='require'name='mpx'/><feature policy='require'name='mpx'/>

<feature policy='require'name='msr'/><feature policy='require'name='msr'/>

<feature policy='require'name='mtrr'/><feature policy='require'name='mtrr'/>

<feature policy='require'name='nx'/><feature policy='require'name='nx'/>

<feature policy='require'name='pae'/><feature policy='require'name='pae'/>

<feature policy='require'name='pat'/><feature policy='require'name='pat'/>

<feature policy='require'name='pcid'/><feature policy='require'name='pcid'/>

<feature policy='require'name='pclmuldq'/><feature policy='require'name='pclmuldq'/>

<feature policy='require'name='pdpe1gb'/><feature policy='require'name='pdpe1gb'/>

<feature policy='require'name='pge'/><feature policy='require'name='pge'/>

<feature policy='require'name='pku'/><feature policy='require'name='pku'/>

<feature policy='require'name='pni'/><feature policy='require'name='pni'/>

<feature policy='require'name='popcnt'/><feature policy='require'name='popcnt'/>

<feature policy='require'name='pse'/><feature policy='require'name='pse'/>

<feature policy='require'name='pse36'/><feature policy='require'name='pse36'/>

<feature policy='require'name='rdrand'/><feature policy='require'name='rdrand'/>

<feature policy='require'name='rdseed'/><feature policy='require'name='rdseed'/>

<feature policy='require'name='rdtscp'/><feature policy='require'name='rdtscp'/>

<feature policy='require'name='rtm'/><feature policy='require'name='rtm'/>

<feature policy='require'name='sep'/><feature policy='require'name='sep'/>

<feature policy='require'name='smap'/><feature policy='require'name='smap'/>

<feature policy='require'name='smep'/><feature policy='require'name='smep'/>

<feature policy='require'name='spec-ctrl'/><feature policy='require'name='ss'/><feature policy='require'name='spec-ctrl'/><feature policy='require'name='ss'/>

<feature policy='require'name='ssbd'/><feature policy='require'name='ssbd'/>

<feature policy='require'name='sse'/><feature policy='require'name='sse'/>

<feature policy='require'name='sse2'/><feature policy='require'name='sse2'/>

<feature policy='require'name='sse4.1'/><feature policy='require'name='sse4.1'/>

<feature policy='require'name='sse4.2'/><feature policy='require'name='sse4.2'/>

<feature policy='require'name='ssse3'/><feature policy='require'name='ssse3'/>

<feature policy='require'name='stibp'/><feature policy='require'name='stibp'/>

<feature policy='require'name='syscall'/><feature policy='require'name='syscall'/>

<feature policy='require'name='tsc'/><feature policy='require'name='tsc'/>

<feature policy='require'name='tsc-deadline'/><feature policy='require'name='tsc-deadline'/>

<feature policy='require'name='tsc_adjust'/><feature policy='require'name='tsc_adjust'/>

<feature policy='require'name='vme'/><feature policy='require'name='vme'/>

<feature policy='require'name='x2apic'/><feature policy='require'name='x2apic'/>

<feature policy='require'name='xgetbv1'/><feature policy='require'name='xgetbv1'/>

<feature policy='require'name='xsave'/><feature policy='require'name='xsave'/>

<feature policy='require'name='xsavec'/><feature policy='require'name='xsavec'/>

<feature policy='require'name='xsaveopt'/><feature policy='require'name='xsaveopt'/>

<feature policy='require'name='xsaves'/><feature policy='require'name='xsaves'/>

</cpu></cpu>

进一步的,所述S3023检查该model的名称是否在计算节点选出的最小可用model集合内,若在集合内,再通过在每个计算执行Libvirt API:CompareHypervisorCPU,验证构造的CPU xml文件是否适配每个计算节点,保证配置的model满足各个计算节点要求;Further, the S3023 checks whether the name of the model is in the minimum available model set selected by the computing node, if in the set, then by executing Libvirt API: CompareHypervisorCPU in each calculation, verify whether the constructed CPU xml file is suitable. For each computing node, ensure that the configured model meets the requirements of each computing node;

进一步的,所述S303将解析的配置同步到集合内各节点Nova-Compute配置文件具体步骤如下:Further, the specific steps in S303 to synchronize the parsed configuration to the Nova-Compute configuration file of each node in the set are as follows:

S3031在集合中每个节点再次验证选择出的CPU model及features是否可用;S3031 verifies again whether the selected CPU model and features are available at each node in the set;

S3032将选择出的CPU model和features配置并转化nova-compute服务可用的为cpu_mode、cpu_models和cpu_model_extra_flags配置添加到nova.conf配置文件中;S3032 adds the selected CPU model and features configuration and converts the available nova-compute service into cpu_mode, cpu_models and cpu_model_extra_flags configuration file to the nova.conf configuration file;

再进一步的,所述S4对集群内的计算节点自动化部署初始化nova-compute服务的具体步骤如下:Still further, the specific steps for the S4 to automatically deploy and initialize the nova-compute service to the computing nodes in the cluster are as follows:

S401将XML文件中model和features转化为nova-compute配置文件中对应的参数:cpu_mode、cpu_models和cpu_model_extra_flags配置添加到nova.conf配置文件中;S401 converts the model and features in the XML file into the corresponding parameters in the nova-compute configuration file: cpu_mode, cpu_models and cpu_model_extra_flags configurations are added to the nova.conf configuration file;

S402由配置分发器覆盖到集合中每个计算节点中/etc/nova/nova.conf及/etc/nova/nova-compute.conf,完成nova-compute配置文件初始化。S402 is overwritten by the configuration distributor to /etc/nova/nova.conf and /etc/nova/nova-compute.conf in each computing node in the set to complete the initialization of the nova-compute configuration file.

实施例二:Embodiment 2:

一种跨CPU的虚拟机热迁移实现方法,所述的系统具体包括节点配置模块、节点部署模块、数据处理模块和服务部署模块:A method for implementing cross-CPU virtual machine hot migration, the system specifically includes a node configuration module, a node deployment module, a data processing module and a service deployment module:

节点配置模块:对加入的支持跨CPU型号热迁移的计算节点集合进行配置;Node configuration module: configure the added set of computing nodes that support hot migration across CPU models;

节点部署模块:依据指定的软件及版本对集群内的计算节点自动化部署虚拟机管理程序Libvirt及其他基础依赖软件;Node deployment module: According to the specified software and version, the virtual machine management program Libvirt and other basic dependent software are automatically deployed to the computing nodes in the cluster;

数据处理模块:获取节点CPU配置信息,并进行适配计算分析;Data processing module: Obtain node CPU configuration information, and perform adaptive calculation analysis;

服务部署模块:对集群内的计算节点自动化部署初始化nova-compute服务。Service deployment module: Automatically deploy and initialize the nova-compute service for computing nodes in the cluster.

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that it can still be The technical solutions described in the foregoing embodiments are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims (9)

1. A method for realizing the hot migration of a virtual machine across CPUs is characterized by comprising the following steps:
s1, configuring the added computing node set supporting the cross-CPU model thermal migration;
s2, automatically deploying a virtual machine management program Libvirt and other basic dependent software for the computing nodes in the cluster according to the specified software and version;
s3, acquiring the configuration information of the node CPU, and performing adaptive calculation analysis;
s4 initializes the nova-computer service for automated deployment of computing nodes within the cluster.
2. The method as claimed in claim 1, wherein said step S1 of configuring the joined set of compute nodes supporting cross-CPU model hot migration comprises the following steps:
s101, the IP docking is carried out on a cloud management platform deployed by OpenStack through a configuration computing node;
s102 is connected with a Libvirt client of the computing node and calls a Libvirt command line to acquire node configuration information.
3. The method as claimed in claim 2, wherein the step of S3 obtaining node CPU configuration information and performing adaptive computation analysis comprises the following steps:
s301, executing Libvirt-qemu related APIs on the computing nodes in the set to acquire node CPU configuration information;
s301, configuring an initialization program to automatically acquire related configuration xml files of all the computing node CPUs of the cluster;
s302, analyzing the CPU xml file collected by the node and calculating available CPU models and CPU features information of the adaptive computing node set;
s303, synchronizing the parsed configuration to the Nova-computer configuration file of each node in the set.
4. The method as claimed in claim 3, wherein the S301 configuration initialization program calls a virsh-c < computer-node-ip > domcapabilities or Libvirt API, getDomainCapabilities obtains mod node information of name-host-model' under target computing node domainCapabilities/cpu and saves as xml file.
5. The method as claimed in claim 5, wherein the step of S302 parsing the CPU xml file collected by the node and calculating the available CPU models and CPU features information of the adapted computing node set comprises the following steps:
s3021 selecting a supportable lowest-configuration CPU model by combining the model name in the model of 'host-model' in the xml file of each computing node in the cluster with the ordered CPU model list;
s3022, calculating a public CPU features set which can be supported by the computing nodes according to the features list in the xml file, and rendering the common CPU features set to a corresponding CPU xml file;
s3023 checks whether the name of the model is within the smallest available set of models selected by the compute node.
6. The method as claimed in claim 5, wherein said S3023 checks whether the name of the model is in the minimum available model set selected by the compute node, and if so, by performing Libvirt API at each compute: and the CompareHypervisor CPU verifies whether the constructed CPU xml file is matched with each computing node or not, and ensures that the configured model meets the requirements of each computing node.
7. The method as claimed in claim 6, wherein the step of S303 synchronizing the parsed configuration to the Nova-computer configuration files of the nodes in the set comprises:
s3031, verifying whether the selected CPU model and features are available again at each node in the set;
s3032 adds the selected CPU model and features configuration and converts the CPU _ models, CPU _ models and CPU _ model _ extra _ flags configurations available for the nova-computer service into the nova.
8. The method as claimed in claim 7, wherein the step of S4 automatically deploying the initialization nova-computer service to the computing nodes in the cluster comprises:
s401, converting the model and features in the XML file into corresponding parameters in the nova-computer configuration file: the cpu _ mode, cpu _ models and cpu _ model _ extra _ flags configuration are added to the nova.conf configuration file;
s402, the configuration distributor covers/etc/nova/nova.conf and/etc/nova/nova-computer.conf in each computing node in the set, and the initialization of the nova-computer configuration file is completed.
9. A method for realizing the hot migration of a virtual machine across CPUs is characterized in that the system specifically comprises a node configuration module, a node deployment module, a data processing module and a service deployment module:
a node configuration module: configuring a set of added computing nodes supporting cross-CPU model thermal migration;
a node deployment module: automatically deploying a virtual machine management program Libvirt and other basic dependent software for the computing nodes in the cluster according to the specified software and version;
a data processing module: acquiring node CPU configuration information, and performing adaptive calculation analysis;
a service deployment module: and automatically deploying and initializing nova-computer service for the computing nodes in the cluster.
CN202111611039.3A 2021-12-27 2021-12-27 Method and system for realizing hot migration of virtual machine across CPUs (central processing units) Pending CN114518933A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111611039.3A CN114518933A (en) 2021-12-27 2021-12-27 Method and system for realizing hot migration of virtual machine across CPUs (central processing units)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111611039.3A CN114518933A (en) 2021-12-27 2021-12-27 Method and system for realizing hot migration of virtual machine across CPUs (central processing units)

Publications (1)

Publication Number Publication Date
CN114518933A true CN114518933A (en) 2022-05-20

Family

ID=81596200

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111611039.3A Pending CN114518933A (en) 2021-12-27 2021-12-27 Method and system for realizing hot migration of virtual machine across CPUs (central processing units)

Country Status (1)

Country Link
CN (1) CN114518933A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125818A1 (en) * 2013-02-18 2014-08-21 日本電気株式会社 Information processing device that performs allocation processing for virtual machine, and virtual machine allocation method
CN106648826A (en) * 2016-09-09 2017-05-10 北京百度网讯科技有限公司 Method and device for live migration of virtual machine
CN109947557A (en) * 2017-12-20 2019-06-28 慧与发展有限责任合伙企业 Distributed life cycle management for cloud platform
CN111371579A (en) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 Cloud platform deployment method, device, server and storage medium
CN113010263A (en) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 Method, system, equipment and storage medium for creating virtual machine in cloud platform

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014125818A1 (en) * 2013-02-18 2014-08-21 日本電気株式会社 Information processing device that performs allocation processing for virtual machine, and virtual machine allocation method
CN106648826A (en) * 2016-09-09 2017-05-10 北京百度网讯科技有限公司 Method and device for live migration of virtual machine
CN109947557A (en) * 2017-12-20 2019-06-28 慧与发展有限责任合伙企业 Distributed life cycle management for cloud platform
CN111371579A (en) * 2018-12-26 2020-07-03 中兴通讯股份有限公司 Cloud platform deployment method, device, server and storage medium
CN113010263A (en) * 2021-02-26 2021-06-22 山东英信计算机技术有限公司 Method, system, equipment and storage medium for creating virtual machine in cloud platform

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALLCLOUD: "Guest CPU model configuration in libvirt with QEMU/KVM", pages 1 - 3, Retrieved from the Internet <URL:博客园,https://www.cnblogs.com/allcloud/p/5476625.html> *
凉生墨客: "openstack学习-nove计算节点部署(五)", pages 2 - 4, Retrieved from the Internet <URL:博客园,https://www.cnblogs.com/heruiguo/p/ 9675585.html> *

Similar Documents

Publication Publication Date Title
US11611487B2 (en) Model driven process for automated deployment of domain 2.0 virtualized services and applications on cloud infrastructure
CN104410672B (en) Method, the method and device of forwarding service of network function virtualization applications upgrading
US11876671B2 (en) Dynamic configuration of a cluster network in a virtualized computing system
JP6329547B2 (en) System and method for providing a service management engine for use in a cloud computing environment
US11593139B2 (en) Software compatibility checking for managed clusters in a virtualized computing system
US9244676B2 (en) Virtual machine based controller and upgrade mechanism
US9268590B2 (en) Provisioning a cluster of distributed computing platform based on placement strategy
US9612815B1 (en) Method and tool for automating deployment of reference implementation architectures for pre-integrated multi-product solutions
US9928107B1 (en) Fast IP migration in a hybrid network environment
WO2016184045A1 (en) Method and apparatus for network service capacity expansion
US11604672B2 (en) Operational health of an integrated application orchestration and virtualized computing system
US12035231B2 (en) Virtualization management method and apparatus
WO2017162089A1 (en) Service configuration method and device for network service
CN107749807B (en) Network function verification method and verification system for NFV
US11556373B2 (en) Pod deployment in a guest cluster executing as a virtual extension of management cluster in a virtualized computing system
CN109002354B (en) OpenStack-based computing resource capacity elastic expansion method and system
CN103577122B (en) Implementation method that distribution application system migrates between platform and device
CN105718299A (en) Virtual machine configuration method, device and system
US11321223B2 (en) Conservation of network addresses for testing in a virtualized computing system
US11586447B2 (en) Configuration after cluster migration
CN114518933A (en) Method and system for realizing hot migration of virtual machine across CPUs (central processing units)
WO2017206092A1 (en) Life cycle management method and management unit
US20240028370A1 (en) Diagnosing remote sites of a distributed container orchestration system
US10419283B1 (en) Methods, systems, and computer readable mediums for template-based provisioning of distributed computing systems
US20240028322A1 (en) Coordinated upgrade workflow for remote sites of a distributed container orchestration system

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