CN117435307A - 一种虚拟机迁移的方法及设备 - Google Patents
一种虚拟机迁移的方法及设备 Download PDFInfo
- Publication number
- CN117435307A CN117435307A CN202311527311.9A CN202311527311A CN117435307A CN 117435307 A CN117435307 A CN 117435307A CN 202311527311 A CN202311527311 A CN 202311527311A CN 117435307 A CN117435307 A CN 117435307A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- target physical
- physical node
- migrated
- new
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000005012 migration Effects 0.000 title claims abstract description 47
- 238000013508 migration Methods 0.000 title claims abstract description 47
- 230000015654 memory Effects 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 15
- 238000005516 engineering process Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 101100501245 Pythium oligandrum POD-1 gene Proteins 0.000 description 2
- 102100033121 Transcription factor 21 Human genes 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100501246 Pythium oligandrum POD-2 gene Proteins 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
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
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
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
本申请的目的是提供一种虚拟机迁移的方法及设备,本申请通过确定待迁移虚拟机以及需要迁移到的目标物理节点;在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。在云原生的基础上,支持虚拟机迁移,用以解决KubeVirt的网络复杂度过高的问题,同时能够使虚拟机迁移到指定的节点上。
Description
技术领域
本申请涉及计算机领域,尤其涉及一种虚拟机迁移的方法及设备。
背景技术
容器技术作为一种新兴的类虚拟化技术,有着轻量级,启动速度快等优点;然而,容器技术在资源隔离上不如传统的虚拟机,因此对于安全性要求比较高的场景,传统的虚拟机会是一种更好的选择。因此将容器技术与传统虚拟机结合起来,能够适应更多的场景。有时候,为了让虚拟机迁移到指定的节点,以调整资源配置,或者希望将指定节点做维护,就需要将该节点上的各种服务迁移到另外的节点上。
目前使用的KubeVirt,该方式是在容器内部启动虚拟机,将容器技术与传统虚拟机技术结合。但此方式,网络层面相比直接在物理机上直接启动虚拟机多一层消耗,网络性能相比差一些,同时网络复杂性也变高了,不方便排查网络问题。
发明内容
本申请的一个目的是提供一种虚拟机迁移的方法及设备,解决现有技术中虚拟机迁移方式的网络性能差、网络复杂性高一级不方便排查网络的问题。
根据本申请的一个方面,提供了一种虚拟机迁移的方法,该方法包括:
确定待迁移虚拟机以及需要迁移到的目标物理节点;
在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;
为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;
将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
可选地,确定待迁移虚拟机以及需要迁移到的目标物理节点,包括:
确定待迁移虚拟机及目标物理节点,将所述待迁移虚拟机对应的虚拟机资源进行修改成包括目标物理节点信息的资源,进入迁移流程。
可选地,将所述待迁移虚拟机迁移至完成创建操作的目标物理节点之后,包括:
将新的虚拟机实例的状态修改为已完成,虚拟机监控程序删除旧的虚拟机实例以及调度管理系统的旧容器;
将虚拟机资源当前管理的虚拟机资源实例修改为新的虚拟机资源实例,建立新的关联关系。
可选地,将所述待迁移虚拟机迁移至完成创建操作的目标物理节点,包括:
将所述待迁移虚拟机的当前状态同步至完成创建操作的目标物理节点上,以在所述目标物理节点上根据所述当前状态创建新的虚拟机;
将所述待迁移虚拟机的磁盘数据通过共享文件的方式进行同步至所述目标物理节点上。
可选地,在所述目标物理节点上创建新的虚拟机实例之前,包括:
在调度管理系统中创建一个CRD资源类型,并部署所述CRD资源类型的虚拟机监控程序,其中,所述调度管理系统为Kubernetes。
可选地,在所述目标物理节点上创建新的虚拟机实例,包括:
启动所述虚拟机监控程序,当监控到虚拟机资源进入迁移流程时,所述目标物理节点上创建新的虚拟机实例。
可选地,所述方法包括:
通过所述Kubernetes创建CRD虚拟机资源、修改CRD虚拟机实例以及删除迁移完成后使用的容器。
根据本申请另一个方面,还提供了一种虚拟机迁移的设备,该设备包括:
确定装置,用于确定待迁移虚拟机以及需要迁移到的目标物理节点;
创建装置,用于在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;
容器创建装置,用于为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;
迁移装置,用于将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
根据本申请又一个方面,还提供了一种虚拟机迁移的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
根据本申请再一个方面,还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如前述所述的方法。
与现有技术相比,本申请通过确定待迁移虚拟机以及需要迁移到的目标物理节点;在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。在云原生的基础上,支持虚拟机迁移,用以解决KubeVirt的网络复杂度过高的问题,同时能够使虚拟机迁移到指定的节点上。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请的一个方面提供的一种虚拟机迁移的方法流程示意图;
图2示出本申请一实施例中一种解决云原生超融合场景下的虚拟机迁移的流程示意图;
图3示出本申请又一个方面提供的一种虚拟机迁移的设备的结构示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(例如中央处理器(Central Processing Unit,CPU))、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RandomAccess Memory,RAM)和/或非易失性内存等形式,如只读存储器(Read Only Memory,ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(Phase-Change RAM,PRAM)、静态随机存取存储器(Static Random Access Memory,SRAM)、动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、数字多功能光盘(Digital Versatile Disk,DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
图1示出根据本申请的一个方面提供的一种虚拟机迁移的方法流程示意图,该方法包括:步骤S11~步骤S14,其中,
步骤S11,确定待迁移虚拟机以及需要迁移到的目标物理节点;在此,待迁移虚拟机为需要进行迁移的虚拟机,需要确定哪个节点上的哪个虚拟机需要迁移,将待迁移虚拟机所在的当前节点迁移到指定的节点上去,指定的节点为目标物理节点,从而后续实现虚拟机按照指定节点的迁移。
步骤S12,在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;在此,指定出目标物理节点后,创建新的虚拟机实例,该新的虚拟机实例为虚拟上的数据结构,并指定状态为创建中,从而可以进入虚拟机实例创建的流程;随后在步骤S13中,为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;即由于新的虚拟机实例创建处于创建流程,为该新的虚拟机实例创建出对应的新容器,该新容器位于调度管理系统中,该调度管理系统自身并没有容器作用,而管理虚拟机时,为虚拟机可对应创建出所需要的容器,当在目标物理节点上创建出原节点的环境后,步骤S14,将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
本申请是基于容器与虚拟机结合的技术,在云原生的基础上,支持虚拟机迁移,用以解决KubeVirt的网络复杂度过高的问题,同时能够使虚拟机迁移到指定的节点上。
在本申请一实施例中,在调度管理系统中创建一个CRD资源类型,并部署所述CRD资源类型的虚拟机监控程序,其中,所述调度管理系统为Kubernetes。在此,本申请的方法实施例在云平台中实施,所述云平台有若干物理机节点,独立部署了虚机平台和Kubernetes,同时运行虚机和容器。所述物理机包括但不限于个人计算机、笔记本电脑、工业计算机、网络主机、单个网络服务器、多个网络服务器集群;所述云平台由基于云计算(Cloud Computing)的大量物理机节点构成,其中,云计算是分布式计算的一种,由一群松散耦合的物理机节点组成的一个虚拟超级计算机。
在此,所述物理机和/或云仅为举例,其他现有的或者今后可能出现的设备和/或资源共享平台如适用于本申请也应包含在本申请的保护范围内,在此,以引用的方式包含于此。
CRD(用户资源定义,CustomResourceDefinitions)是Kubernetes内的一种资源,Kubernetes为基于容器的调度管理系统,用于管理云平台中多个物理机节点上的容器化的应用,是为了方便第三方拓展Kubernetes本身的功能,抽象出CRD资源,用户使用这种资源,加上自己设置的控制器,可以方便的将自己的功能集成到Kubernetes中;CRD VM(VirtualMachine)是描述虚拟机的一种资源,多数的时候,一个CRD VM对应一台虚拟机,在一些特定情况下,一个CRD VM在同一时刻对应着多台虚拟机,一个CRD VM对应一个或多个CRD VMI,CRD VMI(VirtualMachineInstance)是描述虚拟机实例的一种资源,一个CRD VMI对应一台虚拟机,即一个CRD VMI对应一个POD;POD为Kubernetes调度的最小单位,为一个空的容器,一个POD对应一台虚拟机实例。当不需要指定迁移节点时,POD的调度可以交给Kubernetes的调度系统,以调度到合适的节点,无需重新再设计一套调度系统,更符合云原生的设计。CRD允许用户自定义新的资源类型,Kubernetes中每个资源类型还需要部署对应的Controller(控制器),因此,若用户自定义了CRD资源类型,还需要在Kubernetes中部署一个虚拟机监控程序(VM Controller),来对应其自定义的CRD资源类型,监控CRD VM的变化,以及做相应处理的中心控制器。
在本申请一实施例中,在步骤S11中,确定待迁移虚拟机及目标物理节点,将所述待迁移虚拟机对应的虚拟机资源进行修改成包括目标物理节点信息的资源,进入迁移流程。在此,集群管理员修改CRD VM,指定需要迁移的目标物理节点2,进入迁移流程,比如原本VM在节点1上,需要将VM迁移到节点2上去,则指定的目标物理节点为节点2,对节点1上的CRD VM进行修改,此时实例为CRD VMI-1,修改内容包括节点2的资源,从而明确需要迁移的指定的节点,进入迁移流程。
接着,在步骤S12中,启动所述虚拟机监控程序,当监控到虚拟机资源进入迁移流程时,所述目标物理节点上创建新的虚拟机实例。在此,如图2所示,能够解决云原生超融合场景下的虚拟机迁移,物理机1上的虚拟机为虚拟机1,对应的虚拟机实例为CRD VMI-1,使用的容器为POD-1,需要将虚拟机1进行迁移到物理机2上,在物理机2上重新命名为虚拟机2,VM Controller监控到CRD VM进入迁移流程,则创建新的虚拟机实例(CRD VMI-2),指定的状态为创建中,进入CRD VMI的创建流程;由于CRD VMI-2处于创建流程,因此需要创建出对应的POD-2,在指定的物理节点2上处理迁移,将旧的虚拟机从节点1迁移到节点2,完成迁移虚拟机的工作。
在本申请一实施例中,进行迁移虚拟机后,将新的虚拟机实例的状态修改为已完成,虚拟机监控程序删除旧的虚拟机实例以及调度管理系统的旧容器;将虚拟机资源当前管理的虚拟机资源实例修改为新的虚拟机资源实例,建立新的关联关系。在此,继续参考图2,将CRD VMI-2的状态修改为已完成,VM Controller删除旧的CRD VMI-1以及无用的资源:旧容器POD-1,将CRD VM当前管理的CRD VMI修改为新的CRD VMI-2,建立新的关联关系。
在本申请一实施例中,在步骤S14中,将所述待迁移虚拟机的当前状态同步至完成创建操作的目标物理节点上,以在所述目标物理节点上根据所述当前状态创建新的虚拟机;将所述待迁移虚拟机的磁盘数据通过共享文件的方式进行同步至所述目标物理节点上。在此,虚拟机迁移时主要涉及磁盘数据的同步以及虚拟机当前的各种状态,比如CPU、内存、设备状态等,磁盘数据的同步时是使用共享文件的方式,虚拟机原本的数据存储在节点1上,节点2通过共享文件的方式可以访问到节点1上虚拟机的磁盘数据。在触发迁移流程时,将虚拟机的状态通过网络传输给节点2,从而节点2根据这些数据将新的虚拟机在节点2上创建出来。
在本申请一实施例中,通过所述Kubernetes创建CRD虚拟机资源、修改CRD虚拟机实例以及删除迁移完成后使用的容器。在此,Kubernetes管理CRD VM、CRD VMI以及POD的创建、修改以及删除,根据控制器VM Controller根据这些CRD资源做监控,控制整个迁移过程。
本申请基于Kubernetes的自定义资源CRD,声明式的编排配置,以符合云原生的方式指定配置,通过一套监测程序,在指定节点上创建一个空容器(POD),同时在该节点上启动一台对应的虚拟机,由于Kubernetes并不知晓虚拟机的存在,利用POD唯一对应的一台虚拟机实例,让Kubernetes层面也能知道虚拟机的存在。当迁移的时候,保留原有的空容以及对应的虚拟机,在新的节点上创建新的空容器,同时在此新的节点上将旧的虚拟机迁移到新节点上,迁移结束后,旧的虚拟机已经不存在,此时将剩余的旧的空容器删除。从而解决了网络复杂度高的问题,通过Kubernetes的容器调度以及松耦合的编排方式,将容器与虚拟机结合起来。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现前述一种虚拟机迁移的方法。
与上文所述的方法相对应的,本申请还提供一种终端,其包括能够执行上述图1或图2或各个实施例所述的方法步骤的模块或单元,这些模块或单元可以通过硬件、软件或软硬结合的方式来实现,本申请并不限定。例如,在本申请一实施例中,还提供了一种虚拟机迁移的设备,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如前述所述方法的操作。
例如,计算机可读指令在被执行时使所述一个或多个处理器:
确定待迁移虚拟机以及需要迁移到的目标物理节点;
在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;
为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;
将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
图3示出本申请又一个方面提供的一种虚拟机迁移的设备的结构示意图,所述设备包括:确定装置11、创建装置12、容器创建装置13以及迁移装置14,其中,确定装置11用于确定待迁移虚拟机以及需要迁移到的目标物理节点;创建装置12用于在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;容器创建装置13用于为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;迁移装置14用于将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
需要说明的是,确定装置11、创建装置12、容器创建装置13以及迁移装置14执行的内容分别与上述步骤S11、S12、S13和S14中的内容相同或相应相同,为简明起见,在此不再赘述。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (10)
1.一种虚拟机迁移的方法,其特征在于,所述方法包括:
确定待迁移虚拟机以及需要迁移到的目标物理节点;
在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;
为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;
将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
2.根据权利要求1所述的方法,其特征在于,确定待迁移虚拟机以及需要迁移到的目标物理节点,包括:
确定待迁移虚拟机及目标物理节点,将所述待迁移虚拟机对应的虚拟机资源进行修改成包括目标物理节点信息的资源,进入迁移流程。
3.根据权利要求1所述的方法,其特征在于,将所述待迁移虚拟机迁移至完成创建操作的目标物理节点之后,包括:
将新的虚拟机实例的状态修改为已完成,虚拟机监控程序删除旧的虚拟机实例以及调度管理系统的旧容器;
将虚拟机资源当前管理的虚拟机资源实例修改为新的虚拟机资源实例,建立新的关联关系。
4.根据权利要求1所述的方法,其特征在于,将所述待迁移虚拟机迁移至完成创建操作的目标物理节点,包括:
将所述待迁移虚拟机的当前状态同步至完成创建操作的目标物理节点上,以在所述目标物理节点上根据所述当前状态创建新的虚拟机;
将所述待迁移虚拟机的磁盘数据通过共享文件的方式进行同步至所述目标物理节点上。
5.根据权利要求1所述的方法,其特征在于,在所述目标物理节点上创建新的虚拟机实例之前,包括:
在调度管理系统中创建一个CRD资源类型,并部署所述CRD资源类型的虚拟机监控程序,其中,所述调度管理系统为Kubernetes。
6.根据权利要求5所述的方法,其特征在于,在所述目标物理节点上创建新的虚拟机实例,包括:
启动所述虚拟机监控程序,当监控到虚拟机资源进入迁移流程时,所述目标物理节点上创建新的虚拟机实例。
7.根据权利要求6所述的方法,其特征在于,所述方法包括:
通过所述Kubernetes创建CRD虚拟机资源、修改CRD虚拟机实例以及删除迁移完成后使用的容器。
8.一种虚拟机迁移的设备,其特征在于,所述设备包括:
确定装置,用于确定待迁移虚拟机以及需要迁移到的目标物理节点;
创建装置,用于在所述目标物理节点上创建新的虚拟机实例,并将状态设置为创建中;
容器创建装置,用于为创建中的新的虚拟机实例创建调度管理系统的新容器,得到完成创建操作的目标物理节点;
迁移装置,用于将所述待迁移虚拟机迁移至完成创建操作的目标物理节点。
9.一种虚拟机迁移的设备,其特征在于,所述设备包括:
一个或多个处理器;以及
存储有计算机可读指令的存储器,所述计算机可读指令在被执行时使所述处理器执行如权利要求1至7中任一项所述方法的操作。
10.一种计算机可读介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527311.9A CN117435307A (zh) | 2023-11-15 | 2023-11-15 | 一种虚拟机迁移的方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311527311.9A CN117435307A (zh) | 2023-11-15 | 2023-11-15 | 一种虚拟机迁移的方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117435307A true CN117435307A (zh) | 2024-01-23 |
Family
ID=89553297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311527311.9A Pending CN117435307A (zh) | 2023-11-15 | 2023-11-15 | 一种虚拟机迁移的方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117435307A (zh) |
-
2023
- 2023-11-15 CN CN202311527311.9A patent/CN117435307A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11182196B2 (en) | Unified resource management for containers and virtual machines | |
US11392400B2 (en) | Enhanced migration of clusters based on data accessibility | |
WO2022062304A1 (zh) | 在容器云上部署图像识别服务的方法与设备 | |
CN113296792B (zh) | 存储方法、装置、设备、存储介质和系统 | |
US20210349699A1 (en) | Automatic containerization of operating system distributions | |
US20150106518A1 (en) | Managing virtual network ports | |
US11334372B2 (en) | Distributed job manager for stateful microservices | |
EP4044507A1 (en) | Network resource management method and system, network equipment and readable storage medium | |
CN111857951A (zh) | 容器化部署平台及部署方法 | |
CN110502392A (zh) | 云平台管理和监控系统 | |
US9485308B2 (en) | Zero copy volume reconstruction | |
CN111581285B (zh) | 数据信息的同步方法、装置、电子设备和介质 | |
CN113051038A (zh) | 云服务多租户环境下的数据访问方法及装置 | |
US8826305B2 (en) | Shared versioned workload partitions | |
US11847611B2 (en) | Orchestrating and automating product deployment flow and lifecycle management | |
CN115617459A (zh) | 一种用于资源调度的方法、装置及设备 | |
CN107515725B (zh) | 一种核心网虚拟化系统共享磁盘的方法、装置及网管mano系统 | |
CN117435307A (zh) | 一种虚拟机迁移的方法及设备 | |
CN111949378B (zh) | 虚拟机启动模式切换方法和装置、存储介质及电子设备 | |
EP4068091A1 (en) | Hybrid approach to performing a lazy pull of container images | |
WO2023274014A1 (zh) | 容器集群的存储资源管理方法、装置及系统 | |
US11853783B1 (en) | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance | |
US20240143318A1 (en) | Efficient configuration management in continuous deployment | |
CN117097739A (zh) | 服务器分身方法、设备及计算机可读介质 | |
CN116661813A (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 |