CN114035893A - 虚拟机管理方法以及系统 - Google Patents
虚拟机管理方法以及系统 Download PDFInfo
- Publication number
- CN114035893A CN114035893A CN202111290567.3A CN202111290567A CN114035893A CN 114035893 A CN114035893 A CN 114035893A CN 202111290567 A CN202111290567 A CN 202111290567A CN 114035893 A CN114035893 A CN 114035893A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- client
- management
- direct connection
- kernel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- 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
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
本说明书实施例提供虚拟机管理方法以及系统,其中所述虚拟机管理方法包括:首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
Description
技术领域
本说明书实施例涉及计算机技术领域,特别涉及一种虚拟机管理方法。
背景技术
随着计算机技术地快速发展,安全容器得到了广泛应用。目前,安全容器已经被应用于云原生领域的多项项目场景中,成为了一个不可或缺的基础组件。安全容器是一种支持内核隔离技术的容器,与普通容器相比,自带内核。由于安全容器基于硬件虚拟化技术,每个容器或容器组都拥有一个独立的操作系统内核,因而需要有一个管控通道来完成一些虚拟机的管理工作,如添加删除设备、配置资源弹性等。传统的虚拟机管理器(VMM,VirtualMachine Manager),需要通过虚拟化环境中的客户机的用户态代理程序来完成相应的操作。但是在云原生环境中,使用用户态代理程序完成虚拟机的管理工作,操作链路较长,而且热插拔设备等操作不便在用户态进行。因而,亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本说明书施例提供了一种虚拟机管理方法。本说明书一个或者多个实施例同时涉及一种客户机内核,一种虚拟机管理器,一种虚拟机管理系统,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种虚拟机管理方法,应用于客户机内核,所述客户机内核配置有内核服务端和第一直连接口,所述方法包括:
所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述内核服务端基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;
所述内核服务端通过所述第一直连接口,将所述虚拟机管理结果发送至所述虚拟机管理器。
可选地,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
所述内核服务端通过所述第一直连接口,接收所述管理客户端通过所述第二直连接口发送的连接请求;
所述内核服务端基于所述连接请求生成连接结果,并通过所述第一直连接口将所述连接结果发送至所述虚拟机管理器。
可选地,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求,包括:
在所述连接结果为连接成功的情况下,所述内核服务端通过所述第一直连接口,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
可选地,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
接收所述虚拟机管理器的状态;
在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端。
根据本说明书实施例的第二方面,提供了一种虚拟机管理方法,应用于虚拟机管理器,所述虚拟机管理器配置有管理客户端和第二直连接口,所述方法包括:
所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求;
所述管理客户端通过所述第二直连接口,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述管理客户端通过所述第二直连接口,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
可选地,所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求之前,还包括:
所述管理客户端生成连接请求,并通过所述第二直连接口将所述连接请求发送至所述客户机内核;
所述管理客户端通过所述第二直连接口接收所述内核服务端通过所述第一直连接口发送的连接结果,所述连接结果为所述内核服务端基于所述连接请求生成;
所述管理客户端对所述连接结果进行识别;
所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求,包括:
在所述连接结果为连接成功的情况下,所述管理客户端根据接收的虚拟机管理指令生成虚拟机管理请求。
可选地,还包括:
在所述连接结果为连接失败的情况下,执行所述管理客户端生成连接请求的步骤。
可选地,所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求之前,还包括:
接收所述客户机内核的状态;
在所述客户机内核的状态为开启的情况下,启动所述管理客户端。
根据本说明书实施例的第三方面,提供了一种客户机内核,包括:
内核服务端和第一直连接口;
所述第一直连接口,被配置为接收虚拟机管理请求和发送虚拟机管理结果;
所述内核服务端,被配置为通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;基于所述虚拟机管理请求对虚拟机进行管理,生成所述虚拟机管理结果;通过所述第一直连接口,将所述虚拟机管理结果发送至所述虚拟机管理器。
可选地,所述内核服务端,还被配置为通过所述第一直连接口,接收所述管理客户端通过所述第二直连接口发送的连接请求;基于所述连接请求生成连接结果,并通过所述第一直连接口将所述连接结果发送至所述虚拟机管理器。
可选地,所述内核服务端,还被配置为在所述连接结果为连接成功的情况下,通过所述第一直连接口,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
可选地,所述客户机内核还包括第一启动模块,被配置为接收所述虚拟机管理器的状态;在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端。
根据本说明书实施例的第四方面,提供了一种虚拟机管理器,包括:
管理客户端和第二直连接口;
所述第二直连接口,被配置为发送虚拟机管理请求和接收虚拟机管理结果;
所述管理客户端,被配置为根据接收的虚拟机管理指令,生成所述虚拟机管理请求;通过所述第二直连接口,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;通过所述第二直连接口,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
可选地,所述管理客户端,还被配置为生成连接请求,并通过所述第二直连接口将所述连接请求发送至所述客户机内核;通过所述第二直连接口接收所述内核服务端通过所述第一直连接口发送的连接结果,所述连接结果为所述内核服务端基于所述连接请求生成;对所述连接结果进行识别;在所述连接结果为连接成功的情况下,根据接收的虚拟机管理指令生成虚拟机管理请求。
可选地,所述管理客户端,还被配置为在所述连接结果为连接失败的情况下,生成连接请求。
可选地,所述虚拟机管理器还包括第二启动模块,被配置为接收所述客户机内核的状态;在所述客户机内核的状态为开启的情况下,启动所述管理客户端。
根据本说明书实施例的第五方面,提供了一种虚拟机管理系统,包括:
虚拟机管理器和客户机内核;
所述虚拟机管理器包括管理客户端和第二直连接口,所述客户机内核包括内核服务端和第一直连接口,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述管理客户端,用于根据接收的虚拟机管理指令,生成虚拟机管理请求;通过所述第二直连接口,将所述虚拟机管理请求发送至所述第一直连接口;
所述内核服务端,用于通过所述第一直连接口,接收所述虚拟机管理请求;基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;通过所述第一直连接口,将所述虚拟机管理结果发送至所述第二直连接口;
所述管理客户端,还用于通过所述第二直连接口,接收所述虚拟机管理结果。
可选地,所述管理客户端,还用于生成连接请求,并通过所述第二直连接口将所述连接请求发送至所述客户机内核;
所述内核服务端,还用于通过所述第一直连接口,接收所述管理客户端通过所述第二直连接口发送的连接请求;基于所述连接请求生成连接结果,并通过所述第一直连接口将所述连接结果发送至所述虚拟机管理器;
所述管理客户端,还用于通过所述第二直连接口接收所述内核服务端通过所述第一直连接口发送的连接结果;对所述连接结果进行识别;在所述连接结果为连接成功的情况下,根据接收的虚拟机管理指令生成虚拟机管理请求。
可选地,所述内核服务端,还用于在所述连接结果为连接成功的情况下,通过所述第一直连接口,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
可选地,所述客户机内核,还用于接收所述虚拟机管理器的状态;在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端。
可选地,所述管理客户端,还用于在所述连接结果为连接失败的情况下,执行生成连接请求的步骤。
可选地,所述虚拟机管理器,还用于接收所述客户机内核的状态;在所述客户机内核的状态为开启的情况下,启动所述管理客户端。
根据本说明书实施例的第六方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟机管理方法的步骤。
根据本说明书实施例的第七方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述虚拟机管理方法的步骤。
根据本说明书实施例的第八方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟机管理方法的步骤。
本说明书提供的虚拟机管理方法,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道。
附图说明
图1是本说明书一个实施例提供的一种虚拟机管理方法的流程图;
图2是本说明书一个实施例提供的另一种虚拟机管理方法的流程图;
图3是本说明书一个实施例提供的一种客户机内核的结构示意图;
图4是本说明书一个实施例提供的一种虚拟机管理器的结构示意图;
图5是本说明书一个实施例提供的一种虚拟机管理系统的结构示意图;
图6是本说明书一个实施例提供的再一种虚拟机管理方法的处理过程流程图;
图7是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
虚拟机(VM,Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,也即通过软件和硬件的结合使用,创建一个和宿主机隔离的程序运行环境。
客户机内核(guest kernel)是指虚拟化环境中,客户机的操作系统内核,其中guest为虚拟化环境中的客户机,kernel为操作系统内核。
虚拟机管理器(VMM,Virtual Machine Manager)是指虚拟化环境中,也即虚拟机的管理器。
在本说明书中,提供了一种虚拟机管理方法,本说明书同时涉及一种客户机内核,一种虚拟机管理器,一种计算设备,一种虚拟机管理系统,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本说明书一个实施例提供的一种虚拟机管理方法的流程图,应用于客户机内核,所述客户机内核配置有内核服务端和第一直连接口,具体包括以下步骤。
步骤102:所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接。
具体的,客户机内核是指虚拟化环境的客户机的操作系统内核,例如guestkernel;内核服务端是指客户机内核中的服务端,可以是上行调用的服务端,例如upcallserver,也即,客户机中的用户态代理程序agent,用于执行外部相关指令;虚拟机管理器是指虚拟机的管理器,即VMM;管理客户端是指虚拟机管理器中的客户端,可以是上行调用的客户端,例如upcall client;内核服务端与管理客户端构成了客户端-服务端通信架构,即C/S架构(Client-Server架构);第一直连接口和第二直连接口均是一种基于vsock协议的接口,其中vsock是一种使主机(host)和客户机(guest)之间应用直接通信的方式,也即第一直连接口可以是vsock driver接口,第二直连接口可以是vsock backend接口;虚拟机管理请求只是对虚拟机进行管理而生成的请求,例如添加设备、删除设备、配置资源弹性等管理。
实际应用中,在对虚拟机进行管控时,用户或运营人员会通过虚拟机的虚拟机管理器对虚拟机进行管理,例如通过键盘鼠标等操作,在虚拟管理器中输入对虚拟机的管理程序或语言。而虚拟管理器中主要通过管理客户端来根据用户的输入等生成虚拟机管理请求。由于实现对虚拟机的管理,需要客户机内核进行执行,而客户机内核的主要执行部分为内核服务端,因此,需要将虚拟机管理请求传输至内核服务端,也即管理客户端将生成的虚拟机管理请求传输至第二直连接口,基于第二直连接口与第一直连接口可直接连接,第二直连接口将虚拟机管理请求传递给第一直连接口,然后第一直连接口再将该虚拟机管理请求传输给内核服务端。
例如,需要删除虚拟机中的某个设备,虚拟机管理器VMM中的管理客户端upcallclient将“删除虚拟机中的某个设备”的虚拟机管理请求,传输至vsock backend接口;然后vsock backend接口将该虚拟机管理请求发送至vsock driver接口;再由vsock driver接口将该虚拟机管理请求发送至内核服务端upcall server。
为了保证虚拟机管理请求传输的有效性,进一步提高虚拟机管理的效率,需要在管理客户端发送虚拟机管理请求之前,需要在内核服务端和管理客户端之间建立连接,也即内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
所述内核服务端通过所述第一直连接口,接收所述管理客户端通过所述第二直连接口发送的连接请求;
所述内核服务端基于所述连接请求生成连接结果,并通过所述第一直连接口将所述连接结果发送至所述虚拟机管理器。
具体的,连接请求是指管理客户端为与内核服务端建立连接,而生成的请求,该请求中可以包括管理客户端的标识,例如管理客户端的ID地址,还可以包括内核服务端的标识,例如内核服务端的ID地址;连接结果是指内核服务端根据连接请求生成的同意连接或者拒绝连接的结果,也即连接成功或者连接失败。
实际应用中,管理客户端与内核服务端之间采用的是短连接形式,管理客户端每次发送虚拟机管理请求之前,均需要与内核服务端建立连接:管理客户端自动生成连接请求,然后由第二直连接口发送给客户机内核。客户机内核的第一直连接口负责接收连接请求,然后将该连接请求传输给内核服务端。内核服务端对该连接请求进行解析,然后确定是否同意连接,也即生成连接结果。进一步地,由第一直连接口将连接结果发送至虚拟机管理器,也即发送至第二直连接口,再由第二直连接口将连接结果发送给管理客户端。
例如,虚拟机管理器VMM中的管理客户端upcall client生成连接请求,传输至vsock backend接口;然后vsock backend接口将该连接请求发送至vsock driver接口;再由vsock driver接口将该连接请求发送至内核服务端upcall server。之后内核服务端upcall server对该连接请求进行解析,生成连接结果,通过vsock driver接口将连接结果传输至vsock backend接口,再由vsock backend接口将连接请求发送给管理客户端upcallclient。
在连接成功的请求下,管理客户端会通过第二直连接口,将虚拟机管理请求发送给内核服务端,也即内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求的具体实现过程可以如下:
在所述连接结果为连接成功的情况下,所述内核服务端通过所述第一直连接口,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
需要说明的是,只有在管理客户端与内核服务端建立连接且成功的情况下,管理客户端才能向内核服务端发送虚拟机管理请求。如此,可以提高虚拟机管理请求发送的成功率,进一步提高虚拟机管理效率。
此外,内核服务端在接收虚拟机管理请求前,需要启动内核服务端,也即内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
接收所述虚拟机管理器的状态;
在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端。
具体的,虚拟机管理器的状态是指虚拟机管理器是否开启的状态。
实际应用中,在开启内核服务端之前,需要先开启虚拟机管理器和客户机内核,也即在客户内核机接收到虚拟机管理器的状态,且该状态为开启的情况下,启动内核服务端;在该状态为未启动的情况下,客户内核机不启动内核服务端。
需要说明的是,启动该内核服务端,可以是客户机内核在虚拟机管理器的状态为开启时,生成启动指令,从而启动内核服务端;也可以是客户机内核在虚拟机管理器的状态为开启时,自动触发并启动内核服务端。
步骤104:所述内核服务端基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果。
在内核服务端通过第一直连接口,接收管理客户端通过第二直连接口发送的虚拟机管理请求的基础上,进一步的,内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果。
具体的,虚拟机管理结果是指对虚拟机进行管理的结果,例如管理成功、管理失败,在管理失败时,还可以包括管理失败的路径或者原因,如空间不够等。
实际应用中,内核服务端在接收到虚拟机管理请求后,对虚拟机管理请求进行解析,确定虚拟机的管理指令,然后根据虚拟机的管理指令进行操作,管理虚拟机。管理完毕之后,确定管理是否成功,即生成虚拟机管理结果。
例如,虚拟机管理请求为添加设备A,则内核服务端upcall server对该虚拟管理请求进行解析,确定添加设备A的管理指令,然后在虚拟机中添加设备A。如果添加成功,生成第一虚拟机管理结果;如果失败,确定添加设备A失败的原因,生成第二虚拟机管理结果。
步骤106:所述内核服务端通过所述第一直连接口,将所述虚拟机管理结果发送至所述虚拟机管理器。
在内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果的基础上,进一步地,内核服务端通过第一直连接口,将虚拟机管理结果发送至虚拟机管理器。
实际应用中,内核服务端生成虚拟机管理结果后,由第一直连接口将虚拟机管理结果发送至虚拟机管理器,也即发送至第二直连接口,再由第二直连接口将虚拟机管理结果发送给管理客户端,以便于管理客户端通知用户或者运营人员虚拟机管理结果。
沿用上例,内核服务端upcall server将生成的第一虚拟机管理结果或者第二虚拟机管理结果传输至vsock driver接口,再有vsock driver接口将第一虚拟机管理结果或者第二虚拟机管理结果传输至vsock backend接口,之后vsock backend接口将第一虚拟机管理结果或者第二虚拟机管理结果给管理客户端upcall client。
本说明书提供的虚拟机管理方法,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道。
图2示出了根据本说明书一个实施例提供的另一种虚拟机管理方法的流程图,应用于虚拟机管理器,所述虚拟机管理器配置有管理客户端和第二直连接口,具体包括以下步骤。
步骤202:所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求。
具体的,虚拟机管理器是指虚拟机的管理器,即VMM;管理客户端是指虚拟机管理器中的客户端,可以是上行调用的客户端,例如upcall client;虚拟机管理指令是指根据用户或运营人员会对虚拟机进行管理操作生成的指令;虚拟机管理请求只是对虚拟机进行管理而生成的请求,例如添加设备、删除设备、配置资源弹性等管理。
实际应用中,在对虚拟机进行管控时,用户或运营人员会通过虚拟机的虚拟机管理器对虚拟机进行管理,例如通过键盘鼠标等操作,在虚拟管理器中输入对虚拟机的管理程序或语言。虚拟管理器中的管理客户端将接收到根据用户的输入对应的虚拟机管理指令,进一步地,管理客户端对虚拟机管理指令进行处理,如封装、编码等,生成虚拟机管理指令。
例如,需要添加虚拟机中的某个设备,虚拟机管理器VMM中的管理客户端upcallclient根据“在虚拟机中添加某个设备”的操作对应的虚拟机管理指令,生成“在虚拟机中添加某个设备”的虚拟机管理请求。
由于实现对虚拟机的管理,需要客户机内核进行执行,而客户机内核的主要执行部分为内核服务端,因此,需要将虚拟机管理请求传输至内核服务端。为了保证虚拟机管理请求传输的有效性,进一步提高虚拟机管理的效率,需要在生成虚拟机管理请求之前,在内核服务端和管理客户端之间建立连接,建立成功之后再生成虚拟机管理请求,具体实现过程可以如下:
所述管理客户端生成连接请求,并通过所述第二直连接口将所述连接请求发送至所述客户机内核;
所述管理客户端通过所述第二直连接口接收所述内核服务端通过所述第一直连接口发送的连接结果,所述连接结果为所述内核服务端基于所述连接请求生成;
所述管理客户端对所述连接结果进行识别;
在所述连接结果为连接成功的情况下,所述管理客户端根据接收的虚拟机管理指令生成虚拟机管理请求。
具体的,连接请求是指管理客户端为与内核服务端建立连接,而生成的请求,该请求中可以包括管理客户端的标识,例如管理客户端的ID地址,还可以包括内核服务端的标识,例如内核服务端的ID地址;第一直连接口和第二直连接口均是一种基于vsock协议的接口,其中vsock是一种使主机(host)和客户机(guest)之间应用直接通信的方式,也即第一直连接口可以是vsock driver接口,第二直连接口可以是vsock backend接口;内核服务端是指客户机内核中的服务端,可以是上行调用的服务端,例如upcall server,也即,客户机中的用户态代理程序agent,用于执行外部相关指令;内核服务端与管理客户端构成了客户端-服务端通信架构,即C/S架构(Client-Server架构);连接结果是指内核服务端根据连接请求生成的同意连接或者拒绝连接的结果,也即连接成功或者连接失败。
实际应用中,管理客户端与内核服务端之间采用的是短连接形式,管理客户端每次发送虚拟机管理请求之前,均需要与内核服务端建立连接:管理客户端自动生成连接请求,然后由第二直连接口发送给客户机内核。客户机内核的第一直连接口负责接收连接请求,然后将该连接请求传输给内核服务端。内核服务端对该连接请求进行解析,然后确定是否同意连接,也即生成连接结果。进一步地,由第一直连接口将连接结果发送至虚拟机管理器,也即发送至第二直连接口,再由第二直连接口将连接结果发送给管理客户端。管理客户端在接收到该连接结果后,确定连接是否成功,也即对连接结果进行识别,如果连接成功,则管理客户端根据接收的虚拟机管理指令生成虚拟机管理请求。此外,管理客户在与内核服务端连接成功后,可以立即发送虚拟机管理请求,也可以在连接成功后的任意时刻发送虚拟机管理请求。
例如,虚拟机管理器VMM中的管理客户端upcall client生成连接请求,传输至vsock backend接口;然后vsock backend接口将该连接请求发送至vsock driver接口;再由vsock driver接口将该连接请求发送至内核服务端upcall server。之后内核服务端upcall server对该连接请求进行解析,生成连接结果,通过vsock driver接口将连接结果传输至vsock backend接口,再由vsock backend接口将连接请求发送给管理客户端upcallclient。管理客户端upcall client对连接结果进行识别,如果连接成功,则管理客户端upcall client根据接收的虚拟机管理指令生成虚拟机管理请求。
为了保证虚拟机管理请求可以发送,进一步保障虚拟机的管理效率,在管理客户端与内核服务端建立连接失败的情况下,管理客户端会再次生成连接请求,再次尝试与内核服务端建立连接,也即:
在所述连接结果为连接失败的情况下,执行所述管理客户端生成连接请求的步骤。
实际应用中,在管理客户端与内核服务端建立连接失败,也即连接结果为连接失败的情况下,管理客户端会不断尝试与内核服务端建立连接,直至内核服务端返回连接成功的连接结果。
此外,管理客户端在生成虚拟机管理请求之前,需要启动管理客户端,也即管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求之前,还包括:
接收所述客户机内核的状态;
在所述客户机内核的状态为开启的情况下,启动所述管理客户端。
具体的,客户机内核的状态是指客户机内核是否开启的状态。
实际应用中,在开启管理客户端之前,需要先开启虚拟机管理器和客户机内核,也即在虚拟机管理器接收到客户内核机的状态,且该状态为开启的情况下,启动管理客户端;在该状态为未启动的情况下,虚拟机管理器不启动管理客户端。
需要说明的是,启动该管理客户端,可以是虚拟机管理器在客户机内核的状态为开启时,生成启动指令,从而启动管理客户端;也可以是虚拟机管理器在客户机内核的状态为开启时,自动触发并启动管理客户端。
步骤204:所述管理客户端通过所述第二直连接口,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接。
在管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求的基础上,进一步地,管理客户端通过第二直连接口,将所述虚拟机管理请求发送至客户机内核。
具体的,第一直连接口和第二直连接口均是一种基于vsock协议的接口,其中vsock是一种使主机(host)和客户机(guest)之间应用直接通信的方式,也即第一直连接口可以是vsock driver接口,第二直连接口可以是vsock backend接口;内核服务端是指客户机内核中的服务端,可以是上行调用的服务端,例如upcall server,也即,客户机中的用户态代理程序agent,用于执行外部相关指令;内核服务端与管理客户端构成了客户端-服务端通信架构,即C/S架构(Client-Server架构)。
实际应用中,管理客户端将生成的虚拟机管理请求传输至第二直连接口,基于第二直连接口与第一直连接口可直接连接,第二直连接口将虚拟机管理请求传递给第一直连接口,然后第一直连接口再将该虚拟机管理请求传输给内核服务端。
例如,虚拟机管理器VMM中的管理客户端upcall client将“在虚拟机中添加某个设备”的虚拟机管理请求,传输至vsock backend接口;然后vsock backend接口将该虚拟机管理请求发送至vsock driver接口;再由vsock driver接口将该虚拟机管理请求发送至内核服务端upcall server。
步骤206:所述管理客户端通过所述第二直连接口,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
在管理客户端通过第二直连接口,将所述虚拟机管理请求发送至客户机内核的基础上,进一步地,管理客户端通过第二直连接口,接收虚拟机管理结果。
实际应用中,内核服务端在接收到虚拟机管理请求后,对虚拟机管理请求进行解析,确定虚拟机的管理指令,然后根据虚拟机的管理指令进行操作,管理虚拟机。管理完毕之后,确定管理是否成功,即生成虚拟机管理结果。之后,由第一直连接口将虚拟机管理结果发送至虚拟机管理器,也即发送至第二直连接口,再由第二直连接口将虚拟机管理结果发送给管理客户端,以便于管理客户端通知用户或者运营人员虚拟机管理结果。
例如,虚拟机管理请求为删除设备B,则内核服务端upcall server对该虚拟管理请求进行解析,确定删除设备B的管理指令,然后在虚拟机中删除设备B。如果删除成功,生成第一虚拟机管理结果;如果失败,确定删除设备B失败的原因,生成第二虚拟机管理结果。内核服务端upcall server将生成的第一虚拟机管理结果或者第二虚拟机管理结果传输至vsock driver接口,再有vsock driver接口将第一虚拟机管理结果或者第二虚拟机管理结果传输至vsock backend接口,之后vsock backend接口将第一虚拟机管理结果或者第二虚拟机管理结果给管理客户端upcall client。
本说明书提供的虚拟机管理方法,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道。
与上述应用于客户机内核的虚拟机管理方法实施例相对应,本说明书还提供了客户机内核实施例,图3示出了本说明书一个实施例提供的一种客户机内核的结构示意图。如图3所示,该客户机内核300包括:
内核服务端302和第一直连接口304;
所述第一直连接口304,被配置为接收虚拟机管理请求和发送虚拟机管理结果;
所述内核服务端302,被配置为通过所述第一直连接口304,接收虚拟机管理器中的管理客户端通过第二直连接口发送的所述虚拟机管理请求,所述客户机内核300与所述虚拟机管理器通过所述第一直连接口304和所述第二直连接口连接;基于所述虚拟机管理请求对虚拟机进行管理,生成所述虚拟机管理结果;通过所述第一直连接口304,将所述虚拟机管理结果发送至所述虚拟机管理器。
可选地,所述内核服务端302,还被配置为通过所述第一直连接口304,接收所述管理客户端通过所述第二直连接口发送的连接请求;基于所述连接请求生成连接结果,并通过所述第一直连接口304将所述连接结果发送至所述虚拟机管理器。
可选地,所述内核服务端302,还被配置为在所述连接结果为连接成功的情况下,通过所述第一直连接口304,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
可选地,所述客户机内核300还包括第一启动模块,被配置为接收所述虚拟机管理器的状态;在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端302。
本说明书提供的客户机内核,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道;进而提高了虚拟机管理效率。
上述为本实施例的一种客户机内核的示意性方案。需要说明的是,该客户机内核的技术方案与上述的应用于客户机内核的虚拟机管理方法的技术方案属于同一构思,客户机内核的技术方案未详细描述的细节内容,均可以参见上述应用于客户机内核的虚拟机管理方法的技术方案的描述。
与上述应用于虚拟机管理器的虚拟机管理方法实施例相对应,本说明书还提供了虚拟机管理器实施例,图4示出了本说明书一个实施例提供的一种虚拟机管理器的结构示意图。如图4所示,该虚拟机管理器400包括:
管理客户端402和第二直连接口404;
所述第二直连接口404,被配置为发送虚拟机管理请求和接收虚拟机管理结果;
所述管理客户端402,被配置为根据接收的虚拟机管理指令,生成所述虚拟机管理请求;通过所述第二直连接口404,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器400通过所述第一直连接口和所述第二直连接口404连接;通过所述第二直连接口404,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
可选地,所述管理客户端402,还被配置为生成连接请求,并通过所述第二直连接口404将所述连接请求发送至所述客户机内核;通过所述第二直连接口404接收所述内核服务端通过所述第一直连接口发送的连接结果,所述连接结果为所述内核服务端基于所述连接请求生成;对所述连接结果进行识别;在所述连接结果为连接成功的情况下,根据接收的虚拟机管理指令生成虚拟机管理请求。
可选地,所述管理客户端402,还被配置为在所述连接结果为连接失败的情况下,生成连接请求。
可选地,所述虚拟机管理器400还包括第二启动模块,被配置为接收所述客户机内核的状态;在所述客户机内核的状态为开启的情况下,启动所述管理客户端402。
本说明书提供的虚拟机管理器,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道。
上述为本实施例的一种虚拟机管理器的示意性方案。需要说明的是,该虚拟机管理器的技术方案与上述的应用于虚拟机管理器的虚拟机管理方法的技术方案属于同一构思,虚拟机管理器的技术方案未详细描述的细节内容,均可以参见上述应用于虚拟机管理器的虚拟机管理方法的技术方案的描述。
与上述的虚拟机管理方法实施例相对应,本说明书还提供了虚拟机管理系统实施例,图5示出了本说明书一个实施例提供的一种虚拟机管理系统的结构示意图。如图5所示,该虚拟机管理系统500包括:
虚拟机管理器502和客户机内核504;
所述虚拟机管理器502包括管理客户端502-A和第二直连接口502-B,所述客户机内核504包括内核服务端504-A和第一直连接口504-B,所述客户机内核504与所述虚拟机管理器502通过所述第一直连接口504-B和所述第二直连接口502-B连接;
所述管理客户端502-A,用于根据接收的虚拟机管理指令,生成虚拟机管理请求;通过所述第二直连接口502-B,将所述虚拟机管理请求发送至所述第一直连接口504-B;
所述内核服务端504-A,用于通过所述第一直连接口504-B,接收所述虚拟机管理请求;基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;通过所述第一直连接口504-B,将所述虚拟机管理结果发送至所述第二直连接口502-B;
所述管理客户端502-A,还用于通过所述第二直连接口502-B,接收所述虚拟机管理结果。
可选地,所述管理客户端502-A,还用于生成连接请求,并通过所述第二直连接口502-B将所述连接请求发送至所述客户机内核504;
所述内核服务端504-A,还用于通过所述第一直连接口504-B,接收所述管理客户端502-A通过所述第二直连接口502-B发送的连接请求;基于所述连接请求生成连接结果,并通过所述第一直连接口504-B将所述连接结果发送至所述虚拟机管理器502;
所述管理客户端502-A,还用于通过所述第二直连接口502-B接收所述内核服务端504-A通过所述第一直连接口504-B发送的连接结果;对所述连接结果进行识别;在所述连接结果为连接成功的情况下,根据接收的虚拟机管理指令生成虚拟机管理请求。
可选地,所述内核服务端504-A,还用于在所述连接结果为连接成功的情况下,通过所述第一直连接口504-B,接收所述虚拟机管理器502中的管理客户端502-A通过第二直连接口502-B发送的虚拟机管理请求。
可选地,所述客户机内核504,还用于接收所述虚拟机管理器502的状态;在所述虚拟机管理器502的状态为开启的情况下,启动所述内核服务端504-A。
可选地,所述管理客户端502-A,还用于在所述连接结果为连接失败的情况下,执行生成连接请求的步骤。
可选地,所述虚拟机管理器502,还用于接收所述客户机内核504的状态;在所述客户机内核504的状态为开启的情况下,启动所述管理客户端502-A。
下述结合附图6,对虚拟机管理系统进行说明。其中,图6示出了本说明书一个实施例提供的再一种虚拟机管理方法的处理过程流程图:首先分别启动虚拟机管理器和客户机内核;虚拟机管理器接收客户机内核的状态;虚拟机管理器在客户机内核的状态为开启的情况下,启动管理客户端;客户机内核接收虚拟机管理器的状态;在虚拟机管理器的状态为开启的情况下,启动内核服务端;管理客户端生成连接请求;管理客户端将连接请求传输至第二直连接口;第二直连接口将连接请求发送至第一直连接口;第一直连接口将连接请求传输至内核服务端;内核服务端基于连接请求生成连接结果;内核服务端将连接结果传输至第一直连接口;第一直连接口将连接结果发送至第二直连接口;第二直连接口将连接结果传输至管理客户端;管理客户端对连接结果进行识别;在连接结果为连接成功的情况下,管理客户端根据接收的虚拟机管理指令生成虚拟机管理请求;管理客户端将虚拟机管理请求传输至第二直连通道;第二直连接口将虚拟机管理请求发送至第一直连接口;第一直连接口将虚拟机管理请求传输至内核服务端;内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端将虚拟机管理结果传输至第一直连接口;第一直连接口将虚拟机管理结果发送至第二直连接口;第二直连接口将虚拟机管理结果传输至虚拟机管理器;在连接结果为连接失败的情况下,执行管理客户端生成连接请求的步骤。
本说明书提供的虚拟机管理系统,首先虚拟机管理器中的管理客户端通过第二直连接口发送虚拟机管理请求,内核服务端通过第一直连接口接收该虚拟机管理请求客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;然后内核服务端基于虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;内核服务端通过第一直连接口,将虚拟机管理结果发送至管理客户端。基于第一直连接口和第二直连接口,提供了高效管理通道;将位于用户态的内核服务端移入客户机内核,形成内核态的内核服务端,缩短了管理客户端与客户机内核之间的链路,从而缩短了虚拟机的管理链路,增加了客户机内核的稳定性,基于内核服务端的内核态可以进行特权操作;进而提高了虚拟机管理效率。
此外,直接在内核服务端的内核服务端中处理虚拟机管理请求,大大缩短了管理链路;使内核服务端包含在内核服务端中,无需用户安装内核服务端;内核服务端是内核线程,不会被用户意外杀死;内核服务端位于内核态,可以执行相关特权操作,如热插拔设备、内存、中央处理器等;提供第一直连接口和第二直连接口,为虚拟机管理器和客户机内核之间建立一个快速稳定的管理通道。
上述为本实施例的一种虚拟机管理系统的示意性方案。需要说明的是,该虚拟机管理系统的技术方案与上述的虚拟机管理方法的技术方案属于同一构思,虚拟机管理系统的技术方案未详细描述的细节内容,均可以参见上述的虚拟机管理方法的技术方案的描述。
图7示出了根据本说明书一个实施例提供的一种计算设备700的结构框图。该计算设备700的部件包括但不限于存储器710和处理器720。处理器720与存储器710通过总线730相连接,数据库750用于保存数据。
计算设备700还包括接入设备740,接入设备740使得计算设备700能够经由一个或多个网络760通信。这些网络的示例包括公用交换电话网(PSTN,Public SwitchedTelephone Network)、局域网(LAN,Local Area Network)、广域网(WAN,Wide AreaNetwork)、个域网(PAN,Personal Area Network)或诸如因特网的通信网络的组合。接入设备740可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC,NetworkInterface Controller))中的一个或多个,诸如IEEE802.11无线局域网(WLAN,WirelessLocal Area Network)无线接口、全球微波互联接入(Wi-MAX,WorldwideInteroperability for Microwave Acess)接口、以太网接口、通用串行总线(USB,Universal Serial Bus)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC,Near FieldCommunication)接口,等等。
在本说明书的一个实施例中,计算设备700的上述部件以及图7中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图7所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备700可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备700还可以是移动式或静止式的服务器。
其中,处理器720用于执行如下计算机可执行指令,该计算机可执行指令被处理器执行时实现上述虚拟机管理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的虚拟机管理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述虚拟机管理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,,该计算机可执行指令被处理器执行时实现上述虚拟机管理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的虚拟机管理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述虚拟机管理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述虚拟机管理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的技术方案与上述的虚拟机管理方法的技术方案属于同一构思,计算机程序的技术方案未详细描述的细节内容,均可以参见上述虚拟机管理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书实施例并不受所描述的动作顺序的限制,因为依据本说明书实施例,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书实施例所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书实施例的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书实施例的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种虚拟机管理方法,应用于客户机内核,所述客户机内核配置有内核服务端和第一直连接口,所述方法包括:
所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述内核服务端基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;
所述内核服务端通过所述第一直连接口,将所述虚拟机管理结果发送至所述虚拟机管理器。
2.根据权利要求1所述的方法,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
所述内核服务端通过所述第一直连接口,接收所述管理客户端通过所述第二直连接口发送的连接请求;
所述内核服务端基于所述连接请求生成连接结果,并通过所述第一直连接口将所述连接结果发送至所述虚拟机管理器。
3.根据权利要求2所述的方法,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求,包括:
在所述连接结果为连接成功的情况下,所述内核服务端通过所述第一直连接口,接收所述虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求。
4.根据权利要求1-3任意一项所述的方法,所述内核服务端通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的虚拟机管理请求之前,还包括:
接收所述虚拟机管理器的状态;
在所述虚拟机管理器的状态为开启的情况下,启动所述内核服务端。
5.一种虚拟机管理方法,应用于虚拟机管理器,所述虚拟机管理器配置有管理客户端和第二直连接口,所述方法包括:
所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求;
所述管理客户端通过所述第二直连接口,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述管理客户端通过所述第二直连接口,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
6.根据权利要求5所述的方法,所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求之前,还包括:
所述管理客户端生成连接请求,并通过所述第二直连接口将所述连接请求发送至所述客户机内核;
所述管理客户端通过所述第二直连接口接收所述内核服务端通过所述第一直连接口发送的连接结果,所述连接结果为所述内核服务端基于所述连接请求生成;
所述管理客户端对所述连接结果进行识别;
所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求,包括:
在所述连接结果为连接成功的情况下,所述管理客户端根据接收的虚拟机管理指令生成虚拟机管理请求。
7.根据权利要求6所述的方法,还包括:
在所述连接结果为连接失败的情况下,执行所述管理客户端生成连接请求的步骤。
8.根据权利要求5-7任意一项所述的方法,所述管理客户端根据接收的虚拟机管理指令,生成虚拟机管理请求之前,还包括:
接收所述客户机内核的状态;
在所述客户机内核的状态为开启的情况下,启动所述管理客户端。
9.一种客户机内核,包括:
内核服务端和第一直连接口;
所述第一直连接口,被配置为接收虚拟机管理请求和发送虚拟机管理结果;
所述内核服务端,被配置为通过所述第一直连接口,接收虚拟机管理器中的管理客户端通过第二直连接口发送的所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;基于所述虚拟机管理请求对虚拟机进行管理,生成所述虚拟机管理结果;通过所述第一直连接口,将所述虚拟机管理结果发送至所述虚拟机管理器。
10.一种虚拟机管理器,包括:
管理客户端和第二直连接口;
所述第二直连接口,被配置为发送虚拟机管理请求和接收虚拟机管理结果;
所述管理客户端,被配置为根据接收的虚拟机管理指令,生成所述虚拟机管理请求;通过所述第二直连接口,将所述虚拟机管理请求发送至客户机内核,以使所述客户机内核中的内核服务端通过第一直连接口接收所述虚拟机管理请求,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;通过所述第二直连接口,接收所述内核服务端通过所述第一直连接口发送的虚拟机管理结果。
11.一种虚拟机管理系统,包括:
虚拟机管理器和客户机内核;
所述虚拟机管理器包括管理客户端和第二直连接口,所述客户机内核包括内核服务端和第一直连接口,所述客户机内核与所述虚拟机管理器通过所述第一直连接口和所述第二直连接口连接;
所述管理客户端,用于根据接收的虚拟机管理指令,生成虚拟机管理请求;通过所述第二直连接口,将所述虚拟机管理请求发送至所述第一直连接口;
所述内核服务端,用于通过所述第一直连接口,接收所述虚拟机管理请求;基于所述虚拟机管理请求对虚拟机进行管理,生成虚拟机管理结果;通过所述第一直连接口,将所述虚拟机管理结果发送至所述第二直连接口;
所述管理客户端,还用于通过所述第二直连接口,接收所述虚拟机管理结果。
12.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-4或5-8任意一项所述虚拟机管理方法的步骤。
13.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-4或5-8任意一项所述虚拟机管理方法的步骤。
14.一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-4或5-8任意一项所述虚拟机管理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111290567.3A CN114035893A (zh) | 2021-11-02 | 2021-11-02 | 虚拟机管理方法以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111290567.3A CN114035893A (zh) | 2021-11-02 | 2021-11-02 | 虚拟机管理方法以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114035893A true CN114035893A (zh) | 2022-02-11 |
Family
ID=80142608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111290567.3A Pending CN114035893A (zh) | 2021-11-02 | 2021-11-02 | 虚拟机管理方法以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114035893A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780211A (zh) * | 2022-06-16 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 管理安全容器的方法及基于安全容器的系统 |
-
2021
- 2021-11-02 CN CN202111290567.3A patent/CN114035893A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780211A (zh) * | 2022-06-16 | 2022-07-22 | 阿里巴巴(中国)有限公司 | 管理安全容器的方法及基于安全容器的系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10871980B2 (en) | Execution of a script based on properties of a virtual device associated with a virtual machine | |
US10789096B2 (en) | Client live migration for a virtual machine | |
US10117253B2 (en) | Mobile terminal and resource management method of mobile terminal | |
US11422843B2 (en) | Virtual machine migration method and apparatus having automatic user registration at a destination virtual machine | |
JP4738534B2 (ja) | 複数のブート可能装置間のブートネゴシエーション | |
EP3133771A1 (en) | Virtual machine resource changing method, device and virtual network function device | |
US10541862B2 (en) | VNF processing policy determining method, apparatus, and system | |
WO2019001480A1 (zh) | 虚拟机管理 | |
US20220405385A1 (en) | Secure container construction device and method executable by android application, and computer-readable recording medium on which program thereof is recorded | |
US9804878B2 (en) | Using a status indicator for a merge operation for writing data associated with a virtual machine | |
CN114398156B (zh) | 数据通道构建方法及装置 | |
US20240176678A1 (en) | Method, apparatus, electronic device and storage medium for application state synchronization | |
KR20230079348A (ko) | 클라우드 코드 개발 시스템, 방법, 장치, 기기 및 저장 매체 | |
CN114035893A (zh) | 虚拟机管理方法以及系统 | |
CN114035865A (zh) | 启动小程序的方法、装置、设备以及存储介质 | |
CN116820527B (zh) | 程序升级方法、装置、计算机设备和存储介质 | |
CN110795205A (zh) | 基于软件容器提供云端服务的系统及方法 | |
CN111615171B (zh) | 无线局域网的接入方法和装置 | |
WO2023077858A1 (zh) | 应用栈管理方法、装置、电子设备和存储介质 | |
CN114253572A (zh) | 进程更新方法及装置 | |
US9668082B2 (en) | Virtual machine based on a mobile device | |
US9727257B2 (en) | Maintaining relative references when unlinking volumes from a volume chain | |
CN115086405B (zh) | 服务器的数据处理方法、系统、设备、介质及程序产品 | |
KR102357031B1 (ko) | 클라우드 컴퓨터 구동 방법 및 장치 | |
CN115291915A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40067036 Country of ref document: HK |