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

CN114691286A - 服务器系统、虚拟机创建方法及装置 - Google Patents

服务器系统、虚拟机创建方法及装置 Download PDF

Info

Publication number
CN114691286A
CN114691286A CN202110351008.2A CN202110351008A CN114691286A CN 114691286 A CN114691286 A CN 114691286A CN 202110351008 A CN202110351008 A CN 202110351008A CN 114691286 A CN114691286 A CN 114691286A
Authority
CN
China
Prior art keywords
virtual machine
server
virtual
management
submodule
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
CN202110351008.2A
Other languages
English (en)
Inventor
龚磊
龙鹏
周谊珉
黄智超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Cloud Computing Technologies Co Ltd
Original Assignee
Huawei Cloud Computing Technologies 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 Huawei Cloud Computing Technologies Co Ltd filed Critical Huawei Cloud Computing Technologies Co Ltd
Priority to PCT/CN2021/142282 priority Critical patent/WO2022143714A1/zh
Publication of CN114691286A publication Critical patent/CN114691286A/zh
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
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/45562Creating, 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)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种服务器系统、虚拟机创建方法及装置,属于云计算技术领域。服务器系统包括服务器和插置于服务器的卸载卡,服务器和卸载卡建立有连接通道;服务器中设置有虚拟机,且虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块;服务器上部署有虚拟机管理代理子模块,卸载卡上部署有虚拟机管理子模块,其中,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。本申请减少了虚拟机模拟器本身的开销对服务器资源的占用。

Description

服务器系统、虚拟机创建方法及装置
本公开要求于2020年12月29日提交的申请号为202011603679.5、发明名称为“支持云服务的计算机系统”的中国专利申请的优先权,其全部内容通过引用结合在本公开中。
技术领域
本申请涉及云计算技术领域,特别涉及一种服务器系统、虚拟机创建方法及装置。
背景技术
虚拟化技术作为云场景的核心技术,以虚拟机为粒度将一台服务器的物理资源共享给多个用户使用,使用户能在安全隔离的前提下方便灵活地使用服务器的物理资源,能极大提升服务器的物理资源的利用率。
然而,在传统虚拟化技术中,通过虚拟机模拟器使用服务器的物理资源为用户提供虚拟机服务时,需要消耗一定的物理资源。
因此,无法将服务器的所有物理资源全部提供给用户使用。并且,随着IO性能的提升,虚拟机模拟器消耗的物理资源呈线性增长趁势,会对为用户提供的虚拟机的业务性能产生较大的影响。
发明内容
本申请提供了一种服务器系统、虚拟机创建方法及装置,可以降低虚拟机模拟器对服务器的物理资源的占用,保证了虚拟机的业务性能。
第一方面,本申请提供了一种服务器系统,服务器系统包括服务器和插置于服务器的卸载卡,服务器和卸载卡建立有连接通道;服务器中设置有虚拟机,且虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块;服务器上部署有虚拟机管理代理子模块,卸载卡上部署有虚拟机管理子模块,其中,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。
在该服务器系统中,通过将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,并将虚拟机管理子模块部署在卸载卡上,实现了将虚拟机模拟器中对服务器资源消耗较大的功能部署在卸载卡中,减少了虚拟机模拟器本身的开销对服务器资源的占用,减小了虚拟机模拟器本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。并且,将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,对虚拟机的业务性能(如对虚拟处理器的调度性能和虚拟机的I/O读写性能)也不会产生副作用,因此具有较好的应用前景。
可选地,管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
由上可知,虚拟机管理子模块提供的功能可视为与虚拟机业务相关性不大和/或涉及异步操作的功能,此类功能对虚拟机内部性能本身无影响,但是对服务器资源的消耗却较大。因此,通过将虚拟机管理子模块部署在卸载卡,能够有效减小虚拟机模拟器对服务器资源的占用,有效保证虚拟机的业务性能。
在一种可实现方式中,虚拟机模拟器还包括虚拟机硬件模拟模块,虚拟机硬件模拟模块设置在服务器中,虚拟机硬件模拟模块用于根据服务器的硬件模拟虚拟机的硬件。
可选地,虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
该虚拟机硬件模拟模块用于实现与虚拟机功能强相关的功能,该功能基本不消耗服务器资源,因此,即使将该虚拟机硬件模拟模块部署在服务器中,该虚拟机硬件模拟模块对虚拟机的业务性能造成影响的概率也很低,能够有效保证虚拟机的业务性能。
在一种可实现方式中,虚拟机管理子模块还用于通过连接通道以直接存储器访问DMA方式从服务器的内存中访问虚拟机的数据。
通过DMA方式从虚拟内存中获取数据,由于DMA方式能够允许外部设备和存储资源之间直接进行数据传送,使得数据传送过程中不需要CPU的参与,能够有效减小从存储资源中获取数据对服务器资源的占用。
可选地,服务器与卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
第二方面,本申请提供了一种虚拟机创建方法,该方法应用于服务器系统,服务器系统包括服务器和插置于服务器的卸载卡,服务器和卸载卡建立有连接通道,该方法包括:服务器接收云管理平台发送的虚拟机创建请求;服务器根据虚拟机创建请求在服务器中创建虚拟机,启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块;其中,虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。
可选地,虚拟机模拟器还包括虚拟机硬件模拟模块,虚拟机硬件模拟模块设置在服务器中,虚拟机硬件模拟模块用于根据服务器的硬件模拟虚拟机的硬件。
可选地,虚拟机管理子模块还用于通过连接通道以直接存储器访问DMA方式从服务器的内存中访问虚拟机的数据。
可选地,虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
可选地,管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
可选地,服务器与卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
第三方面,本申请提供了一种虚拟机创建装置,该装置应用于服务器,服务器上插置有卸载卡,服务器和卸载卡建立有连接通道,该装置包括:接收模块,用于接收云管理平台发送的虚拟机创建请求;处理模块,用于根据虚拟机创建请求在服务器中创建虚拟机,启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块;其中,虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。
可选地,虚拟机模拟器还包括虚拟机硬件模拟模块,虚拟机硬件模拟模块设置在服务器中,虚拟机硬件模拟模块用于根据服务器的硬件模拟虚拟机的硬件。
可选地,虚拟机管理子模块还用于通过连接通道以直接存储器访问DMA方式从服务器的内存中访问虚拟机的数据。
可选地,虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
可选地,管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
可选地,服务器与卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
第四方面,提供了一种计算机设备,计算机设备包括:处理器和存储器,存储器中存储有计算机程序;处理器执行计算机程序时,计算机设备实现第二方面提供的方法。
第五方面,提供了一种存储介质,当存储介质中的指令被处理器执行时,实现第二方面提供的方法。
附图说明
图1是本申请实施例提供的一种服务器系统涉及的实施场景的示意图;
图2是本申请实施例提供的一种服务器系统的部署示意图;
图3是本申请实施例提供的一种服务器系统的结构示意图;
图4是本申请实施例提供的另一种服务器系统的结构示意图;
图5是本申请实施例提供的一种虚拟机管理代理子模块和虚拟机管理子模块协同实现VNC功能的实现过程示意图;
图6是本申请实施例提供的一种在VNC客户端上通过鼠标和键盘进行输入,以实现对虚拟机的远程控制的实现过程示意图;
图7是本申请实施例提供的一种虚拟机创建方法的流程图;
图8是本申请实施例提供的一种虚拟机创建装置的结构示意图;
图9是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
为便于理解,下面先对本申请实施例中涉及的名词进行解释。
云计算(cloud computing):云计算是分布式计算的一种,指对大量计算资源和存储资源进行统一管理和调度,向用户提供按需服务的网络。该计算资源和存储资源均通过设置在数据中心的计算设备集群提供。并且,云计算可以为用户提供多种类型的服务类型,例如,可以提供基础设置即服务(infrastructure as a service,IaaS)、平台即服务(platform as a service,PaaS)和软件即服务(software as a service,SaaS)等。
虚拟化(virtualization)是一种资源管理技术,是将主机的各种实体资源,如服务器、网络资源、内存及存储资源等,予以抽象、转换后呈现出来,打破主机的实体结构间的不可切割的障碍,使用户可以采用比原本的组态更好的方式来应用这些资源。通过虚拟化使用的资源称为虚拟化资源,虚拟化资源不受现有资源的架设方式、地域或物理组态所限制。一般地,虚拟化资源包括计算资源和存储资源。
虚拟机(virtual machine,VM):指通过虚拟化技术模拟得到的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整的计算机系统。虚拟机的部分指令子集可以在宿主(host)机中处理,其它部分指令可以以仿真的方式执行。用户可以通过租用虚拟机的形式购买云服务。
主机(也称物理机):用于承载虚拟化技术的物理资源(如虚拟机或物理机)。通常的,用于部署虚拟机的主机通常为物理服务器。
直接存储器访问(direct memory access,DMA):也可以称为直接内存操作或者组数据传输方式,是指外部设备不经过计算机的中央处理器(central processing unit,CPU),而直接从计算机的内存存取数据的数据交互模式。在DMA模式下传输数据时,由计算机的CPU向DMA控制器下达指令,以指示DMA控制器控制数据的传输,DMA控制器在完成数据传输后向CPU反馈传输完成的信息。可以看出,在该DMA传输数据的过程中,无需计算机的CPU执行传输操作,可以省去计算机的CPU取指令、取数、送数等操作,减轻了计算机的CPU的资源占有率,能够节省系统资源。
DMA可以包括远程DMA(remote direct memory access,RDMA)和本地DMA。RDMA是指通过网络将数据直接从一台计算机的内存传输到另一台计算机,无需双方操作系统的介入的数据传输方式。本地DMA是指无需通过网络进行的数据传输方式。
外围组件互连快速(peripheral component interconnect express,PCIe)总线:一种高速串行计算机扩展总线。
计算快速链接(compute express link,CXL)总线:一种高速计算机的快速连接总线。
网卡:也可以称为网络接口控制器(network interface controller,NIC)、网络适配器、或者局域网接收器,是一种被设计为允许主机或计算设备在网络上进行通信的计算机硬件。
内存(memory):也可以称为内存储器或者主存储器,其作用是暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。
本申请实施例提供了一种服务器系统。该服务器系统包括服务器和插置于服务器的卸载卡。服务器和卸载卡建立有连接通道。服务器中设置有虚拟机,且虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块。服务器上部署有虚拟机管理代理子模块,卸载卡上部署有虚拟机管理子模块。其中,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。
由于虚拟机管理子模块用于实现虚拟机的管理功能,该虚拟机管理子模块对物理资源的消耗较大,通过将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,并将虚拟机管理子模块部署在卸载卡上,实现了将虚拟机模拟器中对服务器资源消耗较大的功能部署在卸载卡中,减少了虚拟机模拟器本身的开销对服务器资源的占用,减小了虚拟机模拟器本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。
图1是本申请实施例提供的一种服务器系统涉及的实施场景的示意图。如图1所示,该实施场景包括:服务器系统1和管理平台2。管理平台2用于与用户进行交互,并将用户的请求发送至服务器系统1。服务器系统1用于对用户的请求进行响应。例如,管理平台2用于将虚拟机创建请求或对虚拟机进行管理的请求发送至服务器系统1,服务器系统1用于根据该虚拟机创建请求创建虚拟机,或者,服务器1用于根据对虚拟机进行管理的请求执行对虚拟机进行管理的相关操作。其中,虚拟机用于实现用户的业务,为用户提供服务,例如:虚拟机用于向用户提供语言识别服务、视频审核服务或图像渲染服务等。
在一种可实现方式中,该服务器系统1可以部署在云数据中心的云平台P中,该管理平台可以为部署在云平台P中的云管理平台2。该云平台P可以是中心云的云平台P、边缘云的云平台P或包括中心云和边缘云的云平台P,本申请实施例对其也不做具体限定。其中,图1为服务器系统1部署在云平台P中的示意图。
在一种可实现方式中,云平台P可以通过物理服务器11等硬件方式实现。例如,云平台P可以通过一台物理服务器11,或者由若干台物理服务器11组成的物理服务器11集群,或者是一个云计算服务中心实现。并且,云平台P可以通过独立部署的资源实现,或者可以通过分布式部署的资源实现。
云平台P中部署有云服务提供商拥有的大量基础资源,云平台P可以利用该基础资源向用户提供云服务。该基础资源可以包括计算资源、存储资源和网络资源等,且该计算资源可以是大量的计算设备(例如服务器系统1)。如图1所示,当用户购买云服务后,云平台P可以利用服务器系统1等基础资源为用户创建虚拟机,以使用创建的虚拟机向用户提供云服务。
云管理平台2和服务器系统1可以根据该云平台P中的基础资源实现。可选的,云管理平台2可以通过在基础资源上通过虚拟机或容器等软件实现,或者,云管理平台2可以通过裸金属服务器11等物理服务器11(也称主机)实现。服务器系统1包括服务器11和卸载卡12,服务器11可以通过裸金属服务器11等物理服务器11(也称主机)实现。卸载卡12可以通过异构硬件实现,且该异构硬件可作为服务器11的外接设备。其中,卸载卡12也称智能卡,该卸载卡12可视为小型服务器。
如图2所示,服务器11上运行有虚拟机管理器(virtual machine monitor,VMM)111和虚拟机模拟器112。该VMM用于通过虚拟化技术,将服务器11中的CPU和内存等硬件资源提供给虚拟机(如图2中VM1至VMn)使用。并且,该VMM还用于将卸载卡12提供的输入输出设备直通给虚拟机使用。通过将卸载卡12的输入输出设备直通给虚拟机使用,使得虚拟机能够绕过VMM直接访问卸载卡12的输入输出设备,从而使得虚拟机能够获得接近物理机的性能。该虚拟机模拟器112用于基于虚拟机管理器111提供的虚拟机的硬件功能虚拟出虚拟机。
可选地,如图2所示,卸载卡12可以与存储资源和/或网络资源连接,以便于卸载卡12能将服务器11中运行的虚拟机的I/O请求发送至存储资源和/或网络资源进行处理。
下面对本申请实施例提供的服务器系统1的实现方式进行说明。如图3所示,该服务器系统1包括:服务器11和卸载卡12,服务器11和卸载卡12建立有连接通道。
服务器11中设置有虚拟机VM(如图3中VM1,......,VMn),且虚拟机通过虚拟机模拟器112实现,虚拟机模拟器112包括虚拟机管理模块1121,虚拟机管理模块1121包括虚拟机管理代理子模块1121a和虚拟机管理子模块1121b。
服务器11上部署有虚拟机管理代理子模块1121a,卸载卡12上部署有虚拟机管理子模块1121b,其中,虚拟机管理代理子模块1121a通过连接通道与虚拟机管理子模块1121b进行通信,虚拟机管理子模块1121b用于实现虚拟机的管理功能。
在一种可实现方式中,虚拟机管理代理子模块1121a具体用于接收请求对虚拟机进行管理的管理请求,并通过连接通道将管理请求发送至虚拟机管理子模块1121b,虚拟机管理子模块1121b具体用于根据管理请求,执行对虚拟机进行管理的相关操作,实现对虚拟机的管理。
由于虚拟机管理子模块1121b用于实现虚拟机的管理功能,该虚拟机管理子模块1121b对物理资源的消耗较大,通过将虚拟机管理模块1121拆分为虚拟机管理代理子模块1121a和虚拟机管理子模块1121b,并将虚拟机管理子模块1121b部署在卸载卡12上,实现了将虚拟机模拟器112中对服务器资源消耗较大的功能部署在卸载卡12中,减少了虚拟机模拟器112本身的开销对服务器资源的占用,减小了虚拟机模拟器112本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。
在本申请实施例中,服务器11可以通过裸金属服务器11等物理服务器11实现。卸载卡12可以通过异构硬件实现,且该异构硬件可作为服务器11的外接设备。该卸载卡12与服务器11之间的连接通道可以通过连接总线实现。例如,卸载卡12和服务器11之间连接有PCIe总线、CXL总线、虚拟外围组件互联(peripheral component interconnect,PCI)总线或虚拟工业标准结构(industry standard architecture,ISA)总线。此时,服务器11在处理需要卸载至卸载卡12处理的输入/输出(input/output,I/O)业务时,可以通过卸载卡12和服务器11之间的总线将相关数据输给卸载卡12处理。并且,卸载卡12为适用于卸载卡12和服务器11之间连接总线的卸载卡12,例如,当卸载卡12和服务器11之间连接有PCIe总线时,卸载卡12为PCIe卡,本申请实施例对其型号不做具体限定。
下面以卸载卡12和服务器11之间通过PCIe总线连接为例,对该服务器系统1的实现方式进行说明。图4是本申请实施例提供的一种服务器系统1的结构示意图。如图4所示,该系统架构中服务器系统1包括服务器11和卸载卡12。服务器11包括CPU1、内存1和根复用器(root complex,RC)芯片。卸载卡12包括CPU2、内存2和端点(end point,EP)芯片,该EP芯片与RC芯片通过PCIe总线连接。其中,RC芯片用于为CPU1提供与外部设备发送和接收PCIe消息的硬件接口。EP芯片用于为外设接口提供与服务器11发送和接收PCIe消息的硬件接口。
本申请实施例对RC芯片和EP芯片的具体实现不做限定,只要遵循PCIe规范实现的任何RC芯片以及EP芯片均可使用。例如,EP芯片可以是专用集成电路(application-specificintegrated circuit,ASIC)芯片、智能网卡或者现场可编程门阵列(field-programmable gate array,FPGA)芯片等。并且,EP芯片可以直接或间接地连接到PCIe总线上,使得服务器11与EP可以通过PCIe总线进行连接。例如,EP可以通过交换机(switch)间接连接到PCIe总线上,该交换机能够提供更多的用于连接EP芯片的端口,以用于扩展链路。
可选地,虚拟机的管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。相应的,如图4所示,虚拟机管理子模块1121b包括:虚拟机生命周期管理单元b1、迁移单元b2、虚拟远程控制单元b3、异步信息处理单元b4和参数解析单元b5中的一者或任意组合。各个单元的作用如下:
虚拟机生命周期管理单元b1用于实现虚拟机生命周期管理功能,即对虚拟机的运行状态进行管理。例如,虚拟机生命周期管理单元b1用于控制虚拟机启动和停止。
迁移单元b2用于实现虚拟机迁移功能,即从虚拟内存1122b中获取虚拟机的待迁移数据,基于待迁移数据对虚拟机执行迁移操作。在一种可实现方式中,该迁移单元b2可以为热迁移单元b2,用于进行迁移逻辑的加速处理,包括采用DMA方式获取虚拟内存1122b中虚拟机的待迁移数据,再将待迁移数据发送至需将虚拟机迁移到的其他服务器11上。其中,热迁移模块可以通过服务器11间的连接通道向其他服务器11发送待迁移数据。例如,采用服务器11间的socket通道等通信通道向其他服务器11发送待迁移数据。
虚拟远程控制单元b3用于实现虚拟远程控制功能,即从虚拟机的虚拟内存1122b中获取显存数据,向远程控制客户端提供显存数据,以供远程控制客户端基于显存数据对虚拟机进行远程控制。在一种可实现方式中,该虚拟远程控制单元b3可用于实现虚拟网络控制台(virtual network console,VNC)的功能,包括做VNC的协议解析、根据键盘鼠标等操作获取显存数据的功能等。
异步信息处理单元b4用于实现异步信息处理功能,即从虚拟机中获取虚拟机管理子模块1121b执行异步操作所需的信息。在虚拟机的运行过程中,虚拟机管理子模块1121b实现一些异步操作需要根据从虚拟机中获取的数据实现。此时,异步信息处理单元b4用于在虚拟机的非忙碌状态下,从虚拟机中获取相关信息。例如,异步信息处理单元b4可以在虚拟机开机时获取虚拟机的一些配置信息,使得虚拟机管理子模块1121b能够根据该配置信息执行对应的异步操作。
参数解析单元b5用于实现参数解析功能,即对运行虚拟机使用到的通信协议和运行虚拟机所需的参数进行解析。例如,参数解析单元b5用于解析创建虚拟机所需的参数。
由上可知,虚拟机管理子模块1121b提供的功能可视为与虚拟机业务相关性不大和/或涉及异步操作的功能,此类功能对虚拟机内部性能本身无影响,但是对服务器资源的消耗却较大。因此,通过将虚拟机管理子模块1121b部署在卸载卡12,能够有效减小虚拟机模拟器112对服务器资源的占用,有效保证虚拟机的业务性能。
需要说明的是,以上对虚拟机管理模块1121的管理功能的内容仅为对虚拟机管理模块1121的管理功能的举例,不用于限定虚拟机管理模块1121的管理功能的种类,该虚拟机管理模块1121的管理功能的种类可以根据虚拟机的应用需求进行调整。
在一种可实现方式中,如图4所示,虚拟机模拟器112还包括虚拟机硬件模拟模块1122,虚拟机硬件模拟模块1122设置在服务器11中,虚拟机硬件模拟模块1122用于根据服务器11的硬件模拟虚拟机的硬件。该虚拟机硬件模拟模块1122用于实现与虚拟机功能强相关的功能,该功能基本不消耗服务器资源,因此,即使将该虚拟机硬件模拟模块1122部署在服务器11中,该虚拟机硬件模拟模块1122对虚拟机的业务性能造成影响的概率也很低,能够有效保证虚拟机的业务性能。
可选地,如图4所示,虚拟机的硬件包括以下一个或多个:虚拟处理器(virtualcentral processing unit)1122a、虚拟内存1122b、虚拟主板芯片1122c、虚拟输入输出设备1122d和虚拟总线1122e。
其中,虚拟机硬件模拟模块1122模拟虚拟机的硬件,是指虚拟机硬件模拟模块1122向虚拟机提供对应虚拟机的硬件的功能。例如,虚拟机硬件模拟模块1122模拟虚拟处理器1122a,是指虚拟机硬件模拟模块1122向虚拟机提供虚拟处理器1122a的计算能力。又例如,虚拟机硬件模拟模块1122模拟虚拟内存1122b,是指虚拟机硬件模拟模块1122向虚拟机提供虚拟内存1122b暂时存放虚拟处理器1122a中的运算数据,以及与硬盘等外部存储器交换的数据的功能。又例如,虚拟机硬件模拟模块1122模拟虚拟主板芯片1122c,是指虚拟机硬件模拟模块1122向虚拟机提供虚拟主板芯片1122c连接不同虚拟电路元件,在不同虚拟电路元件之间传递信息,以及接收外部信息并将该外部信息传递给对应虚拟电路元件处理等功能。又例如,虚拟机硬件模拟模块1122模拟虚拟输入输出设备1122d,是指虚拟机硬件模拟模块1122向虚拟机提供输入输出设备所具有的输入和输出功能。又例如,虚拟机硬件模拟模块1122模拟虚拟总线1122e,是指虚拟机硬件模拟模块1122向虚拟机提供在虚拟处理器1122a、虚拟内存1122b和虚拟输入输出设备1122d之间传递信息的功能。
可选地,虚拟内存1122b包括向虚拟处理器1122a分配的处理器内存,还包括虚拟显存。虚拟主板芯片1122c包括虚拟总线1122e主桥芯片、虚拟总线1122e南桥芯片和虚拟总线1122e北桥芯片等。虚拟输入输出设备1122d包括虚拟鼠标和虚拟键盘等。虚拟总线1122e的类型可以根据虚拟机的应用需求确定。例如,虚拟总线1122e可以为虚拟PCIe总线、CXL总线、PCI总线或ISA总线等。
需要说明的是,以上虚拟机的硬件的内容仅为对虚拟机硬件模拟模块1122模拟的虚拟机的硬件的举例,不用于限定虚拟机硬件模拟模块1122模拟的虚拟机的硬件的种类,该虚拟机硬件模拟模块1122模拟的虚拟机的硬件的种类可以根据虚拟机的应用需求进行调整。
在本申请实施例提供的虚拟机模拟器112中,由于虚拟机管理代理子模块1121a和虚拟机硬件模拟模块1122部署在服务器11上,虚拟机管理子模块1121b部署在卸载卡12上,而针对虚拟机的管理功能需要通过虚拟机VM、虚拟机管理代理子模块1121a和虚拟机管理子模块1121b协同合作才能实现。例如,在针对虚拟机的一些功能中,虚拟机管理子模块1121b需要从虚拟机VM的存储资源中获取数据,并根据获取的数据执行相应的操作。
服务器11和卸载卡12建立有连接通道,虚拟机管理代理子模块1121a能够通过该连接通道与虚拟机管理子模块1121b进行通信,以便于虚拟机管理代理子模块1121a将从虚拟机的存储资源中获取的数据传输给虚拟机管理子模块1121b。并且,为了减小获取数据的开销对服务器资源的占用,可以基于该连接通道建立至少两条通过软件实现的通信通道。
在一种可实现方式中,该至少两条通过软件实现的通信通道包括:地址获取通道和DMA通道。该地址获取通道用于供虚拟机管理代理子模块1121a向虚拟机管理子模块1121b发送数据在虚拟内存中的存储地址。该存储地址可以通过给数据的首地址和偏移量表示。可选地,虚拟机管理代理子模块1121a与虚拟机管理子模块1121b之间的地址获取通道可以为套接字(socket)连接通道(如vsock通道)。该DMA通道用于供虚拟机管理子模块1121b基于数据在虚拟内存中的存储地址,通过DMA方式从虚拟内存中获取所需的数据。
数据在虚拟内存中的存储地址属于控制面信息,由于控制面信息的数据量较小,通过地址获取通道传输控制面信息,能够有效减小传输控制面信息的开销对服务器资源的占用。并且,通过DMA方式从虚拟内存中获取数据,由于DMA方式能够允许外部设备和存储资源之间直接进行数据传送,使得数据传送过程中不需要CPU的参与,能够有效减小从存储资源中获取数据对服务器资源的占用。
例如,虚拟机管理子模块1121b与虚拟机管理代理子模块1121a之间设置有vsock通道。在实现VNC功能时,虚拟机管理子模块1121b与VNC客户端建立有连接。在需要获取显存数据时,虚拟机管理子模块1121b可以通过该vsock通道向虚拟机管理代理子模块1121a发送地址获取请求。虚拟机管理代理子模块1121a可以根据该地址获取请求获取显存数据在虚拟机的虚拟显存中的地址,然后通过该vsock通道向虚拟机管理子模块1121b发送该地址。然后,虚拟机管理子模块1121b根据该地址通过DMA方式从虚拟机的虚拟显存中获取显存数据,并将该显存数据发送至VNC客户端。其中,实现VNC功能是指VNC客户端从虚拟机的虚拟显存中获取显存数据,根据该显存数据在该VNC客户端上进行显示,然后根据显示的内容对虚拟机进行远程控制。
在一种可实现方式中,如图5所示,该VNC功能的具体实现过程可以包括以下步骤:
步骤S1、在虚拟机启动后,虚拟机管理代理子模块1121a和虚拟机管理子模块1121b开始运行,服务器11中拉起管理代理主线程,卸载卡12中拉起vsk_iothread线程和vnc_worker线程,并在vsk_iothread线程与管理代理主线程之间建立vsock通道。其中,虚拟机管理代理子模块1121a的功能通过服务器11中的管理代理主线程实现,虚拟机管理子模块1121b的功能通过vsk_iothread线程和vnc_worker线程实现,且虚拟内存1122b中分配有虚拟显存vga.vram。
步骤S2、vnc_worker线程监听VNC客户端发送的连接请求,该连接请求携带有VNC客户端的互联网协议地址(internet protocol,IP)地址和端口地址。
步骤S3、vnc_worker线程根据VNC客户端的IP地址和端口地址,建立与VNC客户端的通信连接,并启动虚拟机管理子模块1121b中的定时器。
步骤S4、vsk_iothread线程在定时器的触发下,通过vsock通道向管理代理主线程发送地址获取请求。
步骤S5、虚拟机管理代理子模块1121a中的管理代理主线程监听通过vsock通道发送的消息,接收到地址获取请求后对该地址获取请求进行解析,然后根据解析内容查询虚拟显存vga.vram,以得到显存数据在虚拟显存中的地址,并通过vsock通道向vsk_iothread线程发送查询到的显存地址。其中,虚拟机的操作系统用于根据虚拟机的运行状态更新虚拟显存中的显存数据。
其中,显存数据在虚拟显存中的地址可以通过虚拟显存的物理地址、脏页位图和图像脏位图等信息反映。并且,虚拟机管理代理子模块1121a中还模拟有VGA虚拟设备,在实现VNC功能时,显存数据可以存储在分配给VGA虚拟设备的显存内存中,相应的,在查询显存地址时,可以通过查询显存数据在分配给VGA虚拟设备的显存内存中的地址实现。另外,当虚拟机分别工作在图形模式和文本模式时,该地址的表示形式稍有不同。图形模式下,地址通过VGA显存物理地址,显存脏页位图以及图像脏页位图等信息表示。文本模式下,地址通过编码结果存储的物理地址和图像脏页位图等信息表示。同时,为便于VNC客户端能够根据显存数据进行正确的显示,在获取显存数据在虚拟显存中的地址外,还需要获取显存数据的基本组成信息,例如,在图形模式下,还需要获取图像的基本组成信息。脏页是指内存中已更新内容但该更新的内容还未刷新到磁盘中的页。
步骤S6、vsk_iothread线程将从vsock通道获取到的显存地址发送给vnc_worker线程。
步骤S7、vnc_worker线程根据接收到的显存地址,通过DMA方式从虚拟显存中获取显存数据。
另外,在vnc_worker线程根据显存地址获取显存数据之前,还需要根据显存数据的基本组成信息,做申请用于存储获取的显存数据的内存空间等准备工作。
骤S8、vnc_worker线程对获取到的显存数据进行编码,并向VNC客户端发送编码后的显存数据。
骤S9、VNC客户端根据接收到的显存数据进行显示,并根据显示的图像对虚拟机进行远程控制。
VNC功能的实现场景有多种,下面以在VNC客户端上通过鼠标和键盘进行输入,以实现对虚拟机的远程控制这种实现场景为例,对其实现过程进行说明,图6为本申请实施例提供的一种该实现场景的实现过程示意图。
如图6所示,为响应于VNC客户端上鼠标和键盘的输入操作,虚拟机硬件模拟模块1122模拟的虚拟输入输出设备包括虚拟鼠标和虚拟键盘,且虚拟机管理子模块1121b中配置有该鼠标和键盘的影子设备。当VNC客户端上的鼠标或键盘输入信息后,VNC客户端会将该输入事件传递至vnc_worker线程,vnc_worker线程再将该输入事件传递至卸载卡12中的控制台。该控制台根据该输入事件确定该输入事件由鼠标产生还是由键盘产生,然后向vnc_worker线程反馈产生该输入事件的标识。vnc_worker线程将该标识发送至影子设备,影子设备记录该标识,并向vsk_iothread线程发送该标识和输入的信息。vsk_iothread线程通过vsock通道将该标识和输入的信息发送至管理代理主线程。管理代理主线程根据该标识将输入的信息发送至对应的虚拟输入输出设备1122d,即当标识指示键盘时,将该输入信息发送至虚拟键盘,当该标识指示鼠标时,将该输入信息发送至虚拟鼠标。然后,对应的输入输出设备根据该输入信息执行相关的输入操作,并通过中断信号向虚拟机的操作系统发送该输入操作的结果,使得操作系统根据该输入操作的结果更新显存。然后,管理代理主线程获取更新的显存的地址,并通过vsock通道向vsk_iothread线程发送更新的显存的地址,以便于vnc_worker线程根据该地址获取更新的显存数据,并将该更新的显存数据发送至VNC客户端,以在VNC客户端上显示因输入操作产生的结果。其中,卸载卡12从接收到输入信息到向服务器11发送信息的过程,可视为卸载卡12对VNC客户端的输入信息进行封装并改造成远程调用事件,然后通过对应的影子设备注册的回调和vsock通道,将远程调用事件发送到服务器11的过程。服务器11从接收vsk_iothread线程通过vsock通道发送的信息到根据操作结果更新显存的过程,可视为服务器11将远程调用事件反向解析,并根据解析得到的内容中标识找到设备调用对应的事件处理函数进行处理的过程。
需要说明的是,虚拟机涉及的需要通过虚拟机、虚拟机管理代理子模块1121a和虚拟机管理子模块1121b协同合作实现的功能有多种,本申请实施例未对其进行一一列举。但应理解的是,在实现需要虚拟机、虚拟机管理代理子模块1121a和虚拟机管理子模块1121b协同合作实现的功能时,其实现过程可以相应参考前述VNC功能的实现过程,此处对其不再一一赘述。
可选地,如图4所示,卸载卡12可以通过网卡13与存储资源和/或网络资源连接,以便于卸载卡12能将服务器11中运行的虚拟机的I/O请求发送至存储资源和/或网络资源进行处理。例如,卸载卡12上配置有网卡13,卸载卡12能够通过该网卡13与云数据中心中的存储资源和网络资源连接。
在一种可实现方式中,如图4所示,卸载卡12中还部署有服务器管理模块113,该服务器管理模块113用于对服务器系统1的运行状态进行管理。例如,服务器管理模块113用于对虚拟化平台进行管理(如实现libvirt的功能),负责维护和管理虚拟机的计算资源(如实现Nova的功能),以及负责服务器11中系统安装、升级、部署和运维相关的功能。
另外,当服务器系统1部署在云数据中心中时,服务器管理模块113还用于接收云管理平台2发送的管理面操作请求,并根据该管理面操作请求执行相应的操作。该管理面操作请求可以为云管理平台2对虚拟机进行管理发送的请求,也可以为用户通过云管理平台2对虚拟机进行管理发送的请求。
通过服务器管理模块113接收管理面操作请求并执行相应的操作,使得无需由服务器11接收该管理面操作请求并执行相应的操作,减小了因接收管理面请求并执行相应操作对服务器资源的开销,能够进行一步保证虚拟机的业务性能。
综上所述,在本申请实施例提供的服务器系统中,通过将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,并将虚拟机管理子模块部署在卸载卡上,实现了将虚拟机模拟器中对服务器资源消耗较大的功能部署在卸载卡中,减少了虚拟机模拟器本身的开销对服务器资源的占用,减小了虚拟机模拟器本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。并且,将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,对虚拟机的业务性能(如对虚拟处理器的调度性能和虚拟机的I/O读写性能)也不会产生副作用,因此具有较好的应用前景。
本申请实施例还提供了一种虚拟机创建方法。该虚拟机创建方法应用于本申请实施例提供的服务器系统,该服务器系统包括服务器和插置于服务器的卸载卡,服务器和卸载卡建立有连接通道。可选地,卸载卡中还部署有服务器管理模块。并且,卸载卡通过网卡与存储资源和/或网络资源连接。进一步地,服务器与卸载卡可以通过总线连接,例如通过虚拟高速外围组件互联PCIe总线连接。
如图7所示,该虚拟机创建方法包括:
步骤701、服务器接收云平台发送的虚拟机创建请求。
在用户需要使用虚拟机实现业务时,用户可以在客户端上操作,该操作会触发向云管理平台发送用于请求创建虚拟机的虚拟机创建请求,且云管理平台会向服务器发送该虚拟机创建请求。
虚拟机创建请求中携带有虚拟机的配置需求。该虚拟机的配置需求用于指示请求创建的虚拟机的规格。并且,由于虚拟机需要基于虚拟机模拟器提供的虚拟机的硬件运行,因此配置需求指示的可以是虚拟机运行所需的虚拟机的硬件的规格。例如,配置需求指示的虚拟机的硬件的规格可以包括:虚拟处理器的总数、虚拟处理器的拓扑结构、虚拟处理器的类型、虚拟内存的数量、虚拟内存的使用策略、虚拟内存插槽的设置方式、虚拟输入输出设备的类型、虚拟输入输出设备的规格、虚拟机的操作系统的镜像文件的存放路径、虚拟机用于实现业务的应用程序的镜像文件的存放路径、虚拟机的操作系统的初始化参数的配置信息等规格参数。
其中,虚拟处理器的拓扑结构用于指示虚拟机需要使用的虚拟处理器的总数、每个虚拟处理器包括的虚拟内核的总数、及每个虚拟处理器包括的超线程的总数中的一个或多个。虚拟处理器的类型用于指示该虚拟处理器的字长和型号等。虚拟处理器的字长是虚拟处理器一次能并行处理的二进制位数。虚拟内存的使用策略用于指示虚拟机使用的多个虚拟处理器使用虚拟内存的方式。例如,该虚拟内存的使用策略用于指示虚拟机使用的多个虚拟CPU按照非统一内存访问(non uniform memory access,NUMA)方式使用虚拟内存。虚拟输入输出设备的规格用于指示虚拟输入输出设备的配置规格。例如,当虚拟输入输出设备为虚拟网卡时,该虚拟网卡的规格指示该虚拟网卡的队列的描述信息和媒体访问控制(media access control,MAC)地址等信息。当虚拟输入输出设备为虚拟磁盘时,该虚拟磁盘的规格指示该虚拟磁盘的容量等信息。虚拟机的操作系统的镜像文件用于记载操作系统与虚拟机的硬件之间进行交互的相关信息。虚拟机用于实现业务的应用程序的镜像文件用于记载在虚拟机的操作系统的基础上运行的用于实现业务的应用程序与该虚拟机的操作系统之间进行交互的相关信息。例如,当虚拟机的操作系统为LINUX系统时,虚拟机的操作系统的镜像文件可以为kernel镜像文件,虚拟机用于实现业务的应用程序的镜像文件可以为initrd镜像文件。
步骤702、服务器根据虚拟机创建请求在服务器中创建虚拟机,启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块。
服务器中的VMM接收到虚拟机创建请求后,会根据该虚拟机创建请求拉起虚拟机硬件模拟模块,并使用虚拟机硬件模拟模块按照虚拟机创建请求指示的虚拟机的配置需求,根据服务器的硬件模拟虚拟机的硬件。并且,VMM还会启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块,以便于通过虚拟机管理代理子模块和虚拟机管理子模块实现虚拟机的管理功能。
可选地,虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。例如,虚拟机硬件模拟模块可以根据配置需求指示的虚拟处理器的总数、虚拟处理器的拓扑结构、虚拟处理器的类型、虚拟内存的数量、虚拟内存的使用策略、虚拟内存插槽的设置方式、虚拟输入输出设备的类型和虚拟输入输出设备的规格等与虚拟机的硬件相关的规格参数,模拟虚拟机的硬件。
可选地,虚拟机管理子模块还用于通过连接通道以直接存储器访问DMA方式从服务器的内存中访问虚拟机的数据。
可选地,虚拟机的管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
可选地,服务器与卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
综上所述,在本申请实施例提供的虚拟机创建方法中,通过将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,并将虚拟机管理子模块部署在卸载卡上,实现了将虚拟机模拟器中对服务器资源消耗较大的功能部署在卸载卡中,减少了虚拟机模拟器本身的开销对服务器资源的占用,减小了虚拟机模拟器本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。并且,将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,对虚拟机的业务性能(如对虚拟处理器的调度性能和虚拟机的I/O读写性能)也不会产生副作用,因此具有较好的应用前景。
需要说明的是,本申请实施例提供的虚拟机创建方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
并且,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的虚拟机创建方法的实现过程及其相关内容,可以参考前述服务器系统实施例中的对应内容,在此不再赘述。
本申请提供了一种虚拟机创建装置,该虚拟机创建装置应用于服务器,服务器上插置有卸载卡,服务器和卸载卡建立有连接通道,如图8所示,该虚拟机创建装置80包括:
接收模块801,用于接收云管理平台发送的虚拟机创建请求。
处理模块802,用于根据虚拟机创建请求在服务器中创建虚拟机,启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块。
其中,虚拟机通过虚拟机模拟器实现,虚拟机模拟器包括虚拟机管理模块,虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块,虚拟机管理代理子模块通过连接通道与虚拟机管理子模块进行通信,虚拟机管理子模块用于实现虚拟机的管理功能。
可选地,虚拟机模拟器还包括虚拟机硬件模拟模块,虚拟机硬件模拟模块设置在服务器中,虚拟机硬件模拟模块用于根据服务器的硬件模拟虚拟机的硬件。
可选地,虚拟机管理子模块还用于通过连接通道以直接存储器访问DMA方式从服务器的内存中访问虚拟机的数据。
可选地,虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
可选地,管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
可选地,服务器与卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
综上所述,在本申请实施例提供的虚拟机创建装置中,通过将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,并将虚拟机管理子模块部署在卸载卡上,实现了将虚拟机模拟器中对服务器资源消耗较大的功能部署在卸载卡中,减少了虚拟机模拟器本身的开销对服务器资源的占用,减小了虚拟机模拟器本身的开销与为用户提供服务的虚拟机因竞争资源对虚拟机业务性能的影响,有效地保证了虚拟机的业务性能。并且,将虚拟机管理模块拆分为虚拟机管理代理子模块和虚拟机管理子模块,对虚拟机的业务性能(如对虚拟处理器的调度性能和虚拟机的I/O读写性能)也不会产生副作用,因此具有较好的应用前景。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的虚拟机创建装置及模块的工作原理,可以参考前述服务器系统实施例中的对应内容,在此不再赘述。
本申请实施例提供了一种计算机设备。图9示例性的提供了计算机设备的一种可能的架构图。如图9所示,该计算机设备90可以包括处理器901、存储器902、通信接口903和总线904。在计算机设备中,处理器901的数量可以是一个或多个,图9仅示意了其中一个处理器901。可选的,处理器901可以是中央处理器(Central Processing Unit,CPU)。若计算机设备具有多个处理器901,多个处理器901的类型可以不同,或者可以相同。可选的,计算机设备的多个处理器还可以集成为多核处理器。
存储器902存储计算机指令和数据,存储器902可以存储实现本申请提供的虚拟机创建方法所需的计算机指令和数据。存储器902可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(Read-Only Memory,ROM)、固态硬盘(Solid StateDisk,SSD)、硬盘(Hard Disk Drive,HDD)、光盘等、易失性存储器。
通信接口903可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。通信接口903用于计算机设备与其他节点或者其他计算机设备进行数据通信。
图9还示例性地绘制出总线904。总线904可以将处理器901与存储器902、通信接口903连接。这样,通过总线904,处理器901可以访问存储器902,还可以利用通信接口903与其他节点或者其他计算机设备进行数据交互。
在本申请中,计算机设备执行存储器902中的计算机指令,可以实现本申请实施例提供的虚拟机创建方法。例如,接收云管理平台发送的虚拟机创建请求;根据虚拟机创建请求在服务器中创建虚拟机,启动设置在服务器中的虚拟机管理代理子模块,并通过连接通道启动设置在卸载卡中的虚拟机管理子模块。并且,计算机设备通过执行存储器902中的计算机指令,执行计算机设备的步骤的实现过程可以相应参考上述方法实施例中对应的描述。
本申请实施例还提供了一种存储介质,该存储介质为非易失性计算机可读存储介质,当存储介质中的指令被处理器执行时,实现如本申请实施例提供的虚拟机创建方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的虚拟机创建方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (20)

1.一种服务器系统,其特征在于,服务器系统包括服务器和插置于所述服务器的卸载卡,所述服务器和所述卸载卡建立有连接通道;
所述服务器中设置有虚拟机,且所述虚拟机通过虚拟机模拟器实现,所述虚拟机模拟器包括虚拟机管理模块,所述虚拟机管理模块包括虚拟机管理代理子模块和虚拟机管理子模块;
所述服务器上部署有所述虚拟机管理代理子模块,所述卸载卡上部署有虚拟机管理子模块,其中,所述虚拟机管理代理子模块通过所述连接通道与所述虚拟机管理子模块进行通信,所述虚拟机管理子模块用于实现所述虚拟机的管理功能。
2.根据权利要求1所述的系统,其特征在于,所述虚拟机模拟器还包括虚拟机硬件模拟模块,所述虚拟机硬件模拟模块设置在所述服务器中,所述虚拟机硬件模拟模块用于根据所述服务器的硬件模拟所述虚拟机的硬件。
3.根据权利要求1或2所述的系统,其特征在于,所述虚拟机管理子模块还用于通过所述连接通道以直接存储器访问DMA方式从所述服务器的内存中访问所述虚拟机的数据。
4.根据权利要求2至3任一项所述的系统,其特征在于,所述虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
5.根据权利要求1至4任一项所述的系统,其特征在于,所述管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
6.根据权利要求1至5任一所述的系统,其特征在于,所述服务器与所述卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
7.一种虚拟机创建方法,其特征在于,所述方法应用于服务器系统,服务器系统包括服务器和插置于所述服务器的卸载卡,所述服务器和所述卸载卡建立有连接通道,所述方法包括:
所述服务器接收云管理平台发送的虚拟机创建请求;
所述服务器根据所述虚拟机创建请求在所述服务器中创建虚拟机,启动设置在所述服务器中的虚拟机管理代理子模块,并通过所述连接通道启动设置在所述卸载卡中的虚拟机管理子模块;
其中,所述虚拟机通过虚拟机模拟器实现,所述虚拟机模拟器包括虚拟机管理模块,所述虚拟机管理模块包括所述虚拟机管理代理子模块和所述虚拟机管理子模块,所述虚拟机管理代理子模块通过所述连接通道与所述虚拟机管理子模块进行通信,所述虚拟机管理子模块用于实现所述虚拟机的管理功能。
8.根据权利要求7所述的方法,其特征在于,所述虚拟机模拟器还包括虚拟机硬件模拟模块,所述虚拟机硬件模拟模块设置在所述服务器中,所述虚拟机硬件模拟模块用于根据所述服务器的硬件模拟所述虚拟机的硬件。
9.根据权利要求7或8所述的方法,其特征在于,所述虚拟机管理子模块还用于通过所述连接通道以直接存储器访问DMA方式从所述服务器的内存中访问所述虚拟机的数据。
10.根据权利要求8至9任一项所述的方法,其特征在于,所述虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
11.根据权利要求7至10任一项所述的方法,其特征在于,所述管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
12.根据权利要求7至11任一所述的方法,其特征在于,所述服务器与所述卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
13.一种虚拟机创建装置,其特征在于,所述装置应用于服务器,所述服务器上插置有卸载卡,所述服务器和所述卸载卡建立有连接通道,所述装置包括:
接收模块,用于接收云管理平台发送的虚拟机创建请求;
处理模块,用于根据所述虚拟机创建请求在所述服务器中创建虚拟机,启动设置在所述服务器中的虚拟机管理代理子模块,并通过所述连接通道启动设置在所述卸载卡中的虚拟机管理子模块;
其中,所述虚拟机通过虚拟机模拟器实现,所述虚拟机模拟器包括虚拟机管理模块,所述虚拟机管理模块包括所述虚拟机管理代理子模块和所述虚拟机管理子模块,所述虚拟机管理代理子模块通过所述连接通道与所述虚拟机管理子模块进行通信,所述虚拟机管理子模块用于实现所述虚拟机的管理功能。
14.根据权利要求13所述的装置,其特征在于,所述虚拟机模拟器还包括虚拟机硬件模拟模块,所述虚拟机硬件模拟模块设置在所述服务器中,所述虚拟机硬件模拟模块用于根据所述服务器的硬件模拟所述虚拟机的硬件。
15.根据权利要求13或14所述的装置,其特征在于,所述虚拟机管理子模块还用于通过所述连接通道以直接存储器访问DMA方式从所述服务器的内存中访问所述虚拟机的数据。
16.根据权利要求14至15任一项所述的装置,其特征在于,所述虚拟机的硬件包括以下一个或多个:虚拟处理器、虚拟内存、虚拟主板芯片、虚拟输入输出设备和虚拟总线。
17.根据权利要求13至16任一项所述的装置,其特征在于,所述管理功能包括:虚拟机生命周期管理功能、虚拟机迁移功能、虚拟远程控制功能、异步信息处理功能和参数解析功能中的一者或任意组合。
18.根据权利要求13至17任一所述的装置,其特征在于,所述服务器与所述卸载卡通过虚拟高速外围组件互联PCIe总线或计算快速链接CXL总线连接。
19.一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有计算机程序;所述处理器执行计算机程序时,所述计算机设备实现权利要求7至12任一所述的方法。
20.一种存储介质,其特征在于,当所述存储介质中的指令被处理器执行时,实现权利要求7至12任一所述的方法。
CN202110351008.2A 2020-12-29 2021-03-31 服务器系统、虚拟机创建方法及装置 Pending CN114691286A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2021/142282 WO2022143714A1 (zh) 2020-12-29 2021-12-29 服务器系统、虚拟机创建方法及装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011603679 2020-12-29
CN2020116036795 2020-12-29

Publications (1)

Publication Number Publication Date
CN114691286A true CN114691286A (zh) 2022-07-01

Family

ID=82135613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110351008.2A Pending CN114691286A (zh) 2020-12-29 2021-03-31 服务器系统、虚拟机创建方法及装置

Country Status (2)

Country Link
CN (1) CN114691286A (zh)
WO (1) WO2022143714A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858102A (zh) * 2023-02-24 2023-03-28 珠海星云智联科技有限公司 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN116991544A (zh) * 2023-09-26 2023-11-03 苏州元脑智能科技有限公司 Cxl设备的模拟方法、装置、电子设备和客户机
CN117170877A (zh) * 2023-10-26 2023-12-05 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146471B1 (en) * 2016-06-27 2018-12-04 Emc Corporation Offloaded data protection based on virtual machine snapshots
US10318737B2 (en) * 2016-06-30 2019-06-11 Amazon Technologies, Inc. Secure booting of virtualization managers
CN111198663B (zh) * 2020-01-03 2022-09-20 苏州浪潮智能科技有限公司 控制数据存取操作的方法、系统、装置以及存储介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115858102A (zh) * 2023-02-24 2023-03-28 珠海星云智联科技有限公司 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN116991544A (zh) * 2023-09-26 2023-11-03 苏州元脑智能科技有限公司 Cxl设备的模拟方法、装置、电子设备和客户机
CN116991544B (zh) * 2023-09-26 2024-01-26 苏州元脑智能科技有限公司 Cxl设备的模拟方法、装置、电子设备和客户机
CN117170877A (zh) * 2023-10-26 2023-12-05 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法
CN117170877B (zh) * 2023-10-26 2024-02-23 西安羚控电子科技有限公司 无人机虚拟化任务管理装置与方法

Also Published As

Publication number Publication date
WO2022143714A1 (zh) 2022-07-07

Similar Documents

Publication Publication Date Title
US20180321879A1 (en) Method and Apparatus for Processing Read/Write Request in Physical Machine
JP5689526B2 (ja) マルチキュー・ネットワーク・アダプタの動的再構成によるリソース・アフィニティ
EP3086228B1 (en) Resource processing method, operating system, and device
CN102609298B (zh) 基于硬件队列扩展的网卡虚拟化系统及其方法
CN113312143B (zh) 云计算系统、命令处理方法及虚拟化仿真装置
WO2021000717A1 (zh) 一种io处理的方法和装置
US20110032944A1 (en) Method and System for Switching in a Virtualized Platform
US9697024B2 (en) Interrupt management method, and computer implementing the interrupt management method
WO2022143714A1 (zh) 服务器系统、虚拟机创建方法及装置
WO2022179423A1 (zh) 虚拟化处理系统、方法、装置及设备
US10922153B2 (en) Communication method and device for virtual base stations
EP3242440A1 (en) Fault tolerant method, apparatus and system for virtual machine
CN103034524A (zh) 半虚拟化的虚拟gpu
JP7310924B2 (ja) サーバ内遅延制御装置、サーバ、サーバ内遅延制御方法およびプログラム
WO2023050819A1 (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
WO2022001808A1 (zh) 一种系统以及中断处理方法
US20220050795A1 (en) Data processing method, apparatus, and device
CN112799840A (zh) 用于传输数据的方法、装置、设备以及存储介质
CN103092676A (zh) 虚拟机集群的模拟输入输出方法、装置及系统
CN118467093A (zh) 资源处理方法、装置、设备、可读存储介质及程序产品
US20240129255A1 (en) Server delay control device, server delay control method, and program
Zhang et al. NVMe-over-RPMsg: A Virtual Storage Device Model Applied to Heterogeneous Multi-Core SoCs
CN114281442A (zh) 一种云桌面客户端及其方法
CN109002347B (zh) 一种虚拟机内存分配方法、装置及系统
CN114115703A (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