WO2022179423A1 - 虚拟化处理系统、方法、装置及设备 - Google Patents

虚拟化处理系统、方法、装置及设备 Download PDF

Info

Publication number
WO2022179423A1
WO2022179423A1 PCT/CN2022/076558 CN2022076558W WO2022179423A1 WO 2022179423 A1 WO2022179423 A1 WO 2022179423A1 CN 2022076558 W CN2022076558 W CN 2022076558W WO 2022179423 A1 WO2022179423 A1 WO 2022179423A1
Authority
WO
WIPO (PCT)
Prior art keywords
control
management
virtual machine
resources
host
Prior art date
Application number
PCT/CN2022/076558
Other languages
English (en)
French (fr)
Inventor
裘稀石
关乃轩
李宇
Original Assignee
阿里巴巴集团控股有限公司
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 阿里巴巴集团控股有限公司 filed Critical 阿里巴巴集团控股有限公司
Priority to US18/547,011 priority Critical patent/US20240054006A1/en
Publication of WO2022179423A1 publication Critical patent/WO2022179423A1/zh

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/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/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
    • G06F9/5033Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering data affinity
    • 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
    • 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/45579I/O management, e.g. providing access to device drivers or storage
    • 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/45587Isolation or security of virtual machine instances
    • 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/45591Monitoring or debugging support

Definitions

  • the present application relates to the field of cloud computing technologies, and in particular, to a virtualization processing system, a virtualization processing method and apparatus, and electronic equipment.
  • Cloud computing provides diversified cloud services to customers in different fields, that is, allocating IT resources to the tenants who need them on demand. When a user no longer uses the resources occupied by them, the resources are automatically released and can be used by other users. In this way, Resources are maximized and can be expanded as needed to meet usage needs in a timely manner.
  • Virtualization technology is one of the key technologies of cloud operating systems, which enables a hardware device to be virtualized into multiple virtual devices with independent functions to be used by multiple users at the same time. Virtualization is achieved through virtual machine monitor (Virtual Machine Monitor, VMM for short, also known as hypervisor or virtualization component). The virtual machine monitor is the core of virtualization technology. Server virtualization needs to evaluate, select and deploy hypervisors. Mainstream hypervisors include open source virtualization technology architectures such as Xen and KVM. With the development of virtualization technology, during the research and development of various virtualization technology architectures, several virtualization technology pain points have been overcome.
  • Virtualization pain points include: since virtualization components are deployed on the host machine and share resources with user virtual machines, it is easy to cause interference and fluctuations to user virtual machines, such as loss of central processing unit (CPU) computing characteristics and resource contention. , IO performance bottleneck, etc.
  • CPU central processing unit
  • IO performance bottleneck etc.
  • the above problems are overcome mainly by sinking the virtual machine monitor to the virtual machine control board (such as the MOC card developed by Facebook), so that the host resources can be effectively utilized by the user's virtual machine.
  • the management and control related to service ECS (such as quality of service QoS current limiting control, log control, status monitoring, etc.) are also sinking, which at least has the following problems when the hardware resources of the virtual machine control board are certain: when the ECS application load is high (such as the sudden hot search scenario of a social network platform sharing brief real-time information), the board resources consumed by the management and control tasks are greatly increased due to the impact of the application load, and the virtual machine control board cannot effectively achieve dynamic expansion and contraction of control resources, resulting in The virtualization speed is slow, and problems such as IO delay and network delay occur.
  • ECS quality of service QoS current limiting control
  • log control log control
  • status monitoring etc.
  • the present application provides a virtualization processing system to solve the problem in the prior art that the virtual machine control board cannot ensure dynamic scaling of management and control resources when the ECS application load access volume is too large, thereby affecting the virtualization speed.
  • the present application further provides a virtualization processing method and apparatus, and an electronic device.
  • the present application provides a virtualization processing system, including:
  • Virtualization infrastructure deployed on the side of the virtual machine control board, is used to build a virtualized system to manage user virtual machines
  • the management and control virtual machine is deployed on the host side to control the use of host resources by the user virtual machine.
  • the management and control virtual machine processing device is deployed on the side of the virtual machine management and control board, and is used to construct the management and control virtual machine and determine the resource usage data of the management and control board; if the resource usage data of the board does not meet the board management and control conditions , the management and control virtual machine is deployed on the host side to use host resources for management and control.
  • the processing device is further configured to deploy the management and control virtual machine on the side of the management and control board to use the board resources for management and control if the board resource usage data satisfies the board management and control conditions.
  • the application-level management and control includes multiple management and control tasks, and different management and control tasks correspond to different management and control virtual machines;
  • the processing device is further configured to deploy part of the management and control virtual machines on the host side and part of the management and control virtual machines on the management and control board side through the management and control virtual machine deployment strategy.
  • the processing device is further configured to switch and deploy the management and control virtual machine from the management and control board card side to the board card if the application load of the user virtual machine causes the board card resource usage status data not to meet the board card management and control conditions. host side.
  • the host side includes: a user virtual machine whose application load does not cause the board card resource usage status data not to meet the board card management and control conditions.
  • the board card control conditions include: board card resource usage status data is less than or equal to a data threshold.
  • the board resources include: custom hardware resources, processor resources, memory resources, and network resources;
  • the data thresholds include: custom hardware resource thresholds, processor resource thresholds, memory resource thresholds, and network resource thresholds.
  • the management and control virtual machine deployed on the host side communicates with the user virtual machine through the front-end and back-end driving vHost mode;
  • the management and control virtual machine deployed on the host side communicates with the first virtual machine monitor deployed on the virtual machine management and control board side in a direct vifo manner.
  • the management and control virtual machine deployed on the host side communicates with the user virtual machine through the front-end and back-end driving vHost mode, including:
  • the management and control virtual machines deployed on the host side and the host resources used by the user virtual machines are isolated.
  • the virtualization infrastructure includes: an elastic computing service ECS management and control device, a first virtual machine monitor, a storage client, a network client, and customized hardware resources;
  • the ECS management and control device is configured to receive the ECS service request and call the first virtual machine monitor;
  • the first virtual machine monitor is used to perform device simulation processing, communicate with the host through customized hardware resources, and communicate with the remote end through the storage client and the network client;
  • the first virtual machine monitor communicates with the storage main control terminal deployed in the cloud storage device through the storage client, so as to perform cloud storage virtualization processing;
  • the first virtual machine monitor communicates with the opposite party through the network client;
  • the control virtual machine communicates with the first virtual machine monitor through the customized hardware resource.
  • the second virtual machine monitor is deployed on the host side, and is used to control the virtualization simulation of the virtual machine and the user virtual machine.
  • the management and control of the use of host resources by the user virtual machine includes:
  • QoS quality of service
  • the management and control board card includes a management and control board card based on a field programmable logic gate array FPGA chip.
  • the present application also provides a virtualization processing device, including:
  • a management and control virtual machine construction unit which is used to construct a management and control virtual machine, and the management and control virtual machine is used to manage and control the use of host machine resources by the user virtual machine;
  • the unit for determining the resource usage status of the board card is used to determine the resource usage status data of the virtual machine management and control board card;
  • the management and control virtual machine deployment unit is configured to deploy the management and control virtual machine on the host machine to use the host machine resources for management and control if the board resource usage data does not meet the board card control conditions.
  • the present application also provides a virtualization processing method, including:
  • the virtual machine for management and control is used to control the use of host resources by the user virtual machine;
  • the virtual machine for management and control is deployed on the host machine to use the host machine resources for management and control.
  • the management and control virtual machine is deployed on the management and control board to use the management and control board resources for management and control.
  • the management and control virtual machine deployed on the host side communicates with the user virtual machine through the front-end and back-end driving vHost mode;
  • the management and control virtual machine deployed on the host side communicates with the virtual machine monitor deployed on the management and control board side in a direct vifo manner.
  • the host resources used by the control virtual machine and the user virtual machine are isolated.
  • the application also provides an electronic device, comprising:
  • a memory for storing a program for implementing the method according to the above, the device being powered on and the program for running the method through the processor.
  • the present application also provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, which, when executed on a computer, cause the computer to execute the above-mentioned various methods.
  • the present application also provides a computer program product comprising instructions which, when executed on a computer, cause the computer to perform the various methods described above.
  • the virtualization processing system includes a virtualization infrastructure and a management and control virtual machine.
  • the virtualized infrastructure is deployed on the virtual machine control board side to build a virtualized system to manage user virtual machines; the management and control virtual machines are deployed on the host side to manage and control the use of host machine resources by user virtual machines.
  • the system adopts the management and control method based on virtual nodes, which can at least achieve the following beneficial effects:
  • the management and control components are not directly run on the host machine, so as to avoid the sharing of resources between the management and control components and the user virtual machine, so that the management and control components are isolated from the user virtual machine. , to control the interference of the host machine's management and control to the user virtual machine, so that the management and control virtual machine and the user virtual machine can achieve higher granularity of resource isolation and higher security.
  • the virtual machine management and control board only needs to meet the basic architecture requirements of the virtual machine, so that the hardware resource configuration of the board can be minimized and the cost of the MOC card can be effectively reduced.
  • FIG. 1 is a schematic structural diagram of an embodiment of a virtualization processing system provided by the present application.
  • FIG. 2 is a schematic diagram of an application scenario of an embodiment of the virtualization processing system provided by the present application.
  • FIG. 3 is a schematic diagram of a specific structure of an embodiment of a virtualization processing system provided by the present application.
  • FIG. 4 is a schematic structural diagram of a management and control virtual machine deployed on a host side in an embodiment of the virtualization processing system provided by the present application;
  • FIG. 5 is a schematic structural diagram of an embodiment of a virtualization processing apparatus provided by the present application.
  • FIG. 6 is a schematic flowchart of an embodiment of a virtualization processing method provided by the present application.
  • FIG. 1 is a schematic structural diagram of an embodiment of a virtualization processing system of the present application.
  • the system includes: a virtual machine infrastructure 1 , and a virtual machine 2 for management and control.
  • the virtual machine infrastructure 1 is deployed on the side of the virtual machine management and control board, and is used to construct a virtualized system to manage user virtual machines.
  • the management and control virtual machine 2 is deployed on the host side, and is used to manage and control the use of host resources by the user virtual machine.
  • the host refers to the host of a cloud computing node (CN for short). Multiple user virtual machines can run on the host machine, and the user virtual machines can use the host machine resources flexibly.
  • the host resources may include computing resources, storage resources, network resources, and the like.
  • the virtual machine management and control board can be a board including a system-level chip SOC.
  • an operating system OS can be installed, and the user virtual machine VM storage and network forwarding can be performed on it, and the back end can be connected to a cloud disk (such as a Pangu cluster), and various management and control tasks can also be run.
  • an intelligent SOC board based on a PCI-E interface is used as a virtual machine control board, such as a field programmable logic gate array FPGA chip-based control board, such as a MOC card. Due to the high cost of FPGA chips, there is a greater need for dynamic scaling of control resources in this case.
  • a management and control board based on a field programmable logic gate array FPGA chip is used, the hardware cost of the management and control board can be effectively reduced after the system provided by the embodiment of the present application is applied.
  • the virtual machine infrastructure 1 belongs to the category of the prior art, which constructs a virtualization system and can manage user virtual machines, such as initializing user virtual machines.
  • the user virtual machine may also be called a virtual host; the host resources include: computing resources, storage resources, and network resources.
  • the virtualized infrastructure configures a user virtual machine for the user, and the user can deploy an application system on the virtual machine, such as a social network platform for sharing brief real-time information, and a database management system (virtual database) management systems), content distribution networks (virtual content distribution networks) may also be deployed, and so on.
  • the system provided by the embodiments of the present application can be used in a bare metal scenario, and a bare metal cloud is also called a bare metal cloud, and can have both physical machine-level performance and cloud elasticity.
  • the bare metal architecture is to install virtualization software directly on the hardware, then install the operating system and applications on it, and rely on the virtualization layer kernel and server console for management.
  • the existing technology transfers all management and control tasks to the virtual machine control board, not only network virtualization and storage virtualization, but also management and control tasks related to various elastic computing services ECS are also subsided. . Since the device resources consumed by performing ECS-related management and control tasks are greatly affected by the application load, this method of sinking all management and control tasks to the virtual machine control board is bound to cause a heavy burden on the virtual machine control board. For example, when the ECS application load is high (such as the sudden hot search scenario of a social network platform that shares brief real-time information), the virtual machine control board cannot effectively achieve dynamic scaling of control resources.
  • the cloud computing platform includes a plurality of computing nodes (servers, CN for short) CN 1 to CN n , and each computing node includes a host machine and a virtual machine management and control board.
  • servers servers, CN for short
  • each computing node includes a host machine and a virtual machine management and control board.
  • Retain the virtualized infrastructure on the virtual machine control board encapsulate the related storage, network and other management and control that account for the bulk of the resources in the control virtual machine, leaving only a small amount of the remaining control components on the original virtual machine control board. , which largely realizes the decoupling from the management and control of the existing virtual machine control board.
  • Multiple user virtual machines can be run on the host machine, and one or more control virtual machines can also be run to manage and control the use of host machine resources by the user virtual machines.
  • the management and control components are not directly run on the host machine, which can avoid the sharing of resources between the management and control components and the user virtual machine, and isolate the management and control components from the user virtual machine.
  • to control the interference of the host machine's management and control to the user's virtual machine so that the virtual machine monitor and the user's virtual machine can achieve higher granularity of resource isolation and higher security, and also facilitate the dynamic expansion of each control component, such as hot migration. , hot upgrade, hot swap and other advanced features.
  • the virtualization infrastructure may include the following components related to virtualization: an elastic computing service ECS management and control device, a first virtual machine monitor, a storage client (storage client), a network client, and customized hardware resource.
  • the ECS management and control device can be used to receive ECS service requests, such as receiving ECS service commands issued by a user through a web page, can initialize the user virtual machine, and call the first virtual machine monitor, such as input/output multi-port forwarder IO Hub to add remote cloud disks.
  • the first virtual machine monitor is used to perform device simulation processing, and may include storage virtualization and network virtualization.
  • the first virtual machine monitor can communicate with the host through customized hardware resources, and communicate with the remote end through the storage client and the network client.
  • the first virtual machine monitor may communicate with a storage master (storage master) deployed on a cloud storage device (eg, a cloud disk) through the storage client, so as to perform cloud storage virtualization processing.
  • the first virtual machine monitor may also communicate with the opposite party through the network client.
  • the system provided by the embodiment of the present application may further include custom hardware resources on the control board side, and the control virtual machine deployed on the host side can communicate with the first virtual machine monitor through the custom hardware resources.
  • the customized hardware resource is an fpga chip (application-specific integrated circuit), which is used to interact with the host computer, and to manage and control the interaction between the virtual machine and the MOC, and the MOC is connected to the remote cloud disk.
  • the host side can also include: a second virtual machine monitor (such as KVM, qemu, etc.), the second virtual machine monitor is used to manage and control the virtual machine and user virtual machine virtualization simulation, such as device simulation, cpu simulation, memory emulation, etc. Since the second virtual machine monitor belongs to the prior art, it is not repeated here.
  • a second virtual machine monitor such as KVM, qemu, etc.
  • the system manages and controls the use of host resources by the user virtual machine by controlling the virtual machine, including but not limited to ECS-related management and control.
  • the device resources consumed by performing ECS-related management and control are usually greatly affected by the ECS application load, and such management and control tasks can be increased or decreased according to application requirements.
  • the system controls the use of host resources by the user virtual machine by controlling the virtual machine, which may include one or more of the following controls: performing quality of service (QoS) current limiting control on the user virtual machine; Log management; perform status monitoring of user virtual machines.
  • QoS quality of service
  • other control tasks can also be designed according to application requirements. Since the management and control tasks related to the ECS belong to the prior art, they will not be repeated here.
  • the management and control virtual machine deployed on the host side can communicate with the user virtual machine through the front-end and back-end driving vHost mode; the management and control virtual machine deployed on the host side can use customized hardware resources to communicate with the control board (such as the first virtual machine monitor) communication.
  • vHost is a back-end implementation of virtio
  • virtio is a para-virtualization implementation. Both the virtual machine and the host need to provide drivers to complete the communication.
  • the driver of the virtio host is qemu implemented in user space.
  • vhost is implemented in the kernel, which is a module vhost-net.ko of the kernel.
  • the management and control virtual machine deployed on the host side can also communicate with the user virtual machine in a virtio manner.
  • the management and control virtual machine deployed on the host side communicates with the user virtual machine through the front-end and back-end driving vHost mode.
  • the front-end driver may be implemented by a client (user virtual machine)
  • the back-end driver may be implemented by qemu, kernel (vhost), or user mode (vhost-user).
  • the processing flow is: 1.
  • the user vm accesses the vda device in the vhost mode, and the user vm has the front-end driver of the vda; 2.
  • the back-end driver finally falls into the vdb of the control vm, and the vdb is the vdc on the cn.
  • Direct vfio to control vm; io of control vm is driven by user mode, such as spdk to accept and deliver io; 3.
  • vdc comes from iohub and tdc on moc to virtualize Pangu cloud disk and present it to cn through customized hardware 4.
  • vda and vdb are in vhost mode
  • vdb and vdc are in vfio mode
  • vdc and cloud disk are in customized hardware mode; 5.
  • the host and virtual machine control boards are on one server.
  • FIG. 4 is a schematic structural diagram of a management and control virtual machine deployed on a host side according to an embodiment of the virtualization processing system of the present application.
  • the management and control virtual machine communicates with the user virtual machine and the second virtual machine monitor on the host machine through the vHost technology.
  • the management and control virtual machine may include: a user mode driver, a device virtualization interface, a data input interface, and a control interface.
  • a simple device simulation function (that is, the first virtual machine monitor) can be implemented on the control board side, such as connecting to a cloud disk (such as Pangu cloud disk) through an input and output hub (iohub), and using virtio on the host side through fpga.
  • a cloud disk such as Pangu cloud disk
  • iohub input and output hub
  • the control virtual machine passes the virtio device directly to the user virtual machine, that is, the pass-through dev in the figure.
  • the hard disk vda seen by the user virtual machine is accessed to the management and control virtual machine through kvm, vhost and other paths for management, and finally the driver (such as SPDK) sends the user's data to the cloud disk.
  • the initialization process is as follows.
  • the first virtual machine monitor can receive an instruction to start the user virtual machine sent by the host; the first virtual machine monitor sends the instruction to the management and control virtual machine; the management and control virtual machine is deployed on the The input and output hub on the control board card creates a cloud storage connected to the user virtual machine; the first virtual machine monitor sends the device virtualization interface corresponding to the user virtual machine to the host machine; the host machine virtualizes the device The interface is sent to the management and control virtual machine; the management and control virtual machine connects the device virtualization interface to the user mode driver; starts the user virtual machine, and sends the gpa to hpa information of the user virtual machine to the control through the virtual machine monitor interface; the control interface constructs a mapping relationship between gpa and hpa information; the management and control virtual machine accesses the memory of the user virtual machine through a shared memory mode; the vda interface is initialized through the control interface and the qemu corresponding to the user virtual machine.
  • the data input and output process is as follows.
  • the user virtual machine sends input/output data to a first virtual machine monitor, the first virtual machine monitor sends the input/output data to the data input interface, and the user mode driver passes the
  • the device virtualization interface sends the input/output data to the cloud storage connected to the user virtual machine.
  • the host resources used by the management virtual machine deployed on the host side and the user virtual machine are isolated.
  • the first virtual machine monitor isolates host resources used by the management virtual machine and the user virtual machine.
  • the host resources used by the control virtual machine and the user virtual machine may be isolated by means of a control group (eg, cgroup). In this way, the shared resources of the management and control virtual machine and the user virtual machine can be avoided, and the interference to the user virtual machine when the management and control is performed by the computing node can be controlled; therefore, the security can be effectively improved.
  • the system provided by the embodiment of the present application always deploys the management and control virtual machine on the host side, and always uses the resources of the host to perform management and control.
  • the virtual machine management and control board only needs to meet the resource requirements of the basic virtualization architecture, which can minimize the hardware resource configuration of the board and effectively reduce the cost of the MOC card.
  • the system provided by the embodiment of the present application further deploys a management and control virtual machine processing device on the side of the virtual machine management and control board.
  • the management and control virtual machine processing device is used to construct the management and control virtual machine and determine the resource usage status data of the management and control board;
  • the host is deployed on the host side to use host resources for management and control. In this way, it is possible to dynamically start the management and control virtual machine on the host side according to the resource usage of the board.
  • the management and control virtual machine as a virtual management and control node, can continue to perform management and control processing on the user virtual machine, so as to continuously ensure the dynamic expansion and contraction of the management and control resources. , such as applications of advanced features such as hot migration, hot upgrade, and hot swap.
  • the processing device may be included in the ECS management and control device, or the processing device may be used as a same-level device of the ECS management and control device.
  • the system provided by the present application does not limit the position of the processing device.
  • the board card management and control conditions include but are not limited to: the board card resource usage status data is less than or equal to the data threshold.
  • the board resources include: custom hardware resources, processor resources, memory resources, and network resources; correspondingly, the data thresholds include but are not limited to: custom hardware resource thresholds, processor resource thresholds, memory resource thresholds, and network resource thresholds .
  • the management and control virtual machine can also be deployed on the side of the virtual machine control board.
  • the dotted line indicates that the management and control virtual machine is not deployed on the device, and the implementation part indicates that the management and control virtual machine is deployed on the device.
  • the processing device may be further configured to deploy the virtual machine for management and control on the side of the management and control board to use the board resources for management and control if the board resource usage data satisfies the board management and control conditions. . In this way, if the board resource usage data satisfies the board management and control conditions, all virtual machines corresponding to application-level management and control are deployed to the management and control board side, which makes the management and control more pure and can effectively improve the controllability of management and control.
  • the application-level management and control includes multiple management and control tasks, and different management and control tasks correspond to different management and control virtual machines; the processing device is further configured to deploy part of the management and control virtual machines on the host side through the management and control virtual machine deployment strategy , and some management and control virtual machines are deployed on the side of the management and control board.
  • the resources of the management and control board can be fully used for management and control, and the dynamic scaling requirements of the management and control resources when the application load is too large can be met, so as to realize the dynamic scaling management of the fine-grained management and control resources.
  • the effects of these two aspects are affected on the user virtual machine.
  • the management and control virtual machine deployment strategy may be determined according to application requirements. For example, according to the device resource data consumed by different application-level management and control tasks, the management and control virtual machines corresponding to the management and control tasks with less resource consumption can be deployed on the virtual machine control board, and the management and control tasks corresponding to the more resource-consuming management and control tasks can be deployed. Deployed on the host side, etc.
  • the processing device is further configured to switch and deploy the management and control virtual machine from the management and control board card side to the control board card side if the application load of the user virtual machine causes the board card resource usage data not to meet the board card management and control conditions. host side. For example, when the application load on the user's virtual machine is high (such as a Weibo hot search scenario), the management and control virtual machine deployed on the control board will consume more device resources. If the resources of the control board are not enough, Then, the management and control virtual machine is dynamically switched and deployed from the management and control board side to the host side, which can ensure the stability of management and control.
  • the application load on the user's virtual machine is high (such as a Weibo hot search scenario)
  • the management and control virtual machine deployed on the control board will consume more device resources. If the resources of the control board are not enough, Then, the management and control virtual machine is dynamically switched and deployed from the management and control board side to the host side, which can ensure the stability of management and control.
  • the management and control virtual machine is switched and deployed from the management and control board card side to the host side, either in a redeployment manner or in a hot deployment manner.
  • the processing device is further configured to obtain application load data; according to the application load data, determine whether the application load will cause the board card resource usage data not to meet the board card management and control conditions; if the judgment result is no, then all The management and control virtual machine is switched and deployed from the management and control board side to the host side.
  • the host side may include: a user virtual machine where the application load does not cause the board card resource usage data not to meet the board card management and control conditions, such as scenarios such as edge computing.
  • the management and control virtual machines corresponding to all management and control tasks can be deployed on the control board side.
  • the virtualization processing system includes a virtualization infrastructure and a management and control virtual machine.
  • the virtualized infrastructure is deployed on the virtual machine control board side to build a virtualized system to manage user virtual machines; the management and control virtual machines are deployed on the host side to manage and control the use of host machine resources by user virtual machines.
  • the system adopts the management and control method based on virtual nodes, which can at least achieve the following beneficial effects:
  • the management and control components are not directly run on the host machine, so as to avoid the sharing of resources between the management and control components and the user virtual machine, so that the management and control components are isolated from the user virtual machine. , to control the interference of the host machine's management and control to the user virtual machine, so that the management and control virtual machine and the user virtual machine can achieve higher granularity of resource isolation and higher security.
  • the virtual machine management and control board only needs to meet the basic architecture requirements of the virtual machine, so that the hardware resource configuration of the board can be minimized and the cost of the MOC card can be effectively reduced.
  • FIG. 5 is a schematic structural diagram of an embodiment of the virtualization processing apparatus of the present application.
  • the virtualization processing apparatus provided in this embodiment may be deployed on a virtual machine control board, and may include: a control virtual machine construction unit 501 , a resource usage status determination unit 502 , and a control virtual machine deployment switching unit 503 .
  • the management and control virtual machine construction unit 501 is used to construct a management and control virtual machine, and the management and control virtual machine is used to control the use of host machine resources by the user virtual machine;
  • the resource usage status determination unit 502 is used to determine the resource usage of the virtual machine control board Status data;
  • the management and control virtual machine deployment switching unit 503 is configured to deploy the management and control virtual machine on the host machine to use the host machine resources for management and control if the board resource usage status data does not meet the device management and control conditions.
  • the virtualization processing apparatus constructs a management and control virtual machine, which is used to manage and control the use of host machine resources by the user virtual machine; and determine the resource usage of the virtual machine control board. Status data; if the board resource usage status data does not meet the board card management and control conditions, the management and control virtual machine is deployed on the host machine to use the host machine resources for management and control.
  • This virtual node-based management and control method enables the management and control to be encapsulated in the management and control virtual machine, which can be deployed on the server side or on the management and control board side.
  • the management and control board when the user's virtual machine access volume increases, the management and control board is When the resources are insufficient, a virtual control node can be dynamically started on the host side, and the node can share part of the tasks of the control board; therefore, the dynamic scaling of the control resources can be continuously ensured.
  • the management and control performed on the host side are all running in the management and control virtual machine, the management and control components are not directly run on the host machine, which can avoid the sharing of resources between the management and control components and the user virtual machine, and isolate the management and control components from the user virtual machine.
  • the control server performs management and control interference on the user virtual machine, so that higher granularity resource isolation and higher security between the virtual machine monitor and the user virtual machine can be achieved.
  • a virtualization processing system is provided, and correspondingly, the present application also provides a virtualization processing method.
  • the execution body of the method includes, but is not limited to, a virtual machine management and control board, and may also be any device capable of implementing the method.
  • the method corresponds to the embodiment of the system described above. Since the method embodiment is basically similar to the system embodiment, the description is relatively simple, and for related parts, please refer to the partial description of the system embodiment.
  • the method embodiments described below are merely illustrative.
  • FIG. 6 is a schematic flowchart of an embodiment of the virtualization processing apparatus of the present application.
  • the present application provides a virtualization processing method, including:
  • Step S601 constructing a management and control virtual machine, where the management and control virtual machine is used to manage and control the use of host resources by the user virtual machine.
  • Step S603 Determine resource usage data of the virtual machine control board.
  • Step S605 If the board resource usage status data does not meet the board card management and control conditions, deploy the management and control virtual machine on the host machine to use the host machine resources for management and control.
  • the board card management and control conditions include but are not limited to: the board card resource usage status data is less than or equal to the data threshold.
  • the board resources include: custom hardware resources, processor resources, memory resources, and network resources; correspondingly, the data thresholds include but are not limited to: custom hardware resource thresholds, processor resource thresholds, memory resource thresholds, and network resource thresholds .
  • the virtual machine control board can initialize and control the virtual machine through the running operating system, and start to manage and control the virtual machine on the host side.
  • the method may further include the following steps: if the board resource usage data satisfies the board card management and control conditions, deploying the virtual machine for management and control on the management and control board to use the management and control board resources to perform Control.
  • the management and control virtual machine deployed on the host side communicates with the user virtual machine through the front-end and back-end driving vHost; machine monitor communication.
  • a simple device simulation function can be implemented on the side of the virtual machine management and control board, that is, iohub is connected to the Pangu cloud disk, and displayed on the host side as a virtio device, and the management and control virtual machine directly connects the virtio device to the VM , that is, the pass-through dev in the figure.
  • the vda seen by the user's virtual machine is accessed to the management and control virtual machine through paths such as kvm and vhost for management, and finally the driver (such as SPDK) sends the user's data to the cloud disk.
  • the user virtual machine initialization process may adopt the following processing process.
  • the virtual machine control board receives the command from the user virtual machine, and sends the command to the control virtual machine; the control virtual machine can use iohub to create a Pangu cloud disk corresponding to the user virtual machine, and pass it directly to the control virtual machine for direct connection dev (the virtual machine control board is reported to the host by the virtio device, and the host is then presented by the virtio device directly to the control virtual machine), and is connected to the SPDK user mode driver (as the backend), and the SPDK input terminal comes from the data dev, The output is pass-through dev.
  • the management virtual machine can access the memory of the user virtual machine during subsequent io operations, that is, the gpa in the management virtual machine can correspond to the gpa in the user virtual machine.
  • the qemu corresponding to the dev and the user virtual machine to initialize the vda device (based on the virtio device), the user virtual machine has been started.
  • the IO process of the user virtual machine may adopt the following processing procedures.
  • the user virtual machine sends IO data.
  • the front end is based on virtio devices.
  • the connected back end is a customized vhost, but the vhost does not do actual processing.
  • the data dev performs real back-end processing; the data dev (dev based on vring) receives the information and processes it in the vhost-user mode, and connects to the SPDK driver (as the front end); the SPDK driver is delivered through the user mode driver, because it is a pass-through device , so it will not be processed on the CN side, but will be directly delivered to the cloud disk.
  • host resources used by the control virtual machine and the user virtual machine are isolated by means of a control group.
  • the management and control virtual machine is used to manage and control the use of host machine resources by the user virtual machine; the resource usage of the virtual machine control board is determined; Status data; if the board resource usage status data does not meet the board card management and control conditions, the management and control virtual machine is deployed on the host machine to use the host machine resources for management and control.
  • This virtual node-based management and control method enables the management and control to be encapsulated in the management and control virtual machine, which can be deployed on the server side or on the management and control board side.
  • the management and control board when the user's virtual machine access volume increases, the management and control board is When resources are insufficient, a virtual control node can be dynamically started on the host side, and this node can share part of the tasks of the control board; therefore, it can continuously ensure the dynamic scaling of control resources.
  • the management and control performed on the host side all run in the management and control virtual machine, the management and control components are not directly run on the host machine, which can avoid the sharing of resources between the management and control components and the user virtual machine, and isolate the management and control components from the user virtual machine.
  • the control server performs management and control interference on the user virtual machine, so that higher granularity resource isolation and higher security between the virtual machine monitor and the user virtual machine can be achieved.
  • a virtualization processing method is provided, and correspondingly, the present application also provides an electronic device.
  • the device corresponds to the embodiment of the method described above. Since the device embodiments are basically similar to the method embodiments, the description is relatively simple, and reference may be made to some descriptions of the method embodiments for related parts.
  • the device embodiments described below are merely illustrative.
  • An electronic device of this embodiment includes: a processor and a memory; the memory is used to store a program for implementing any of the above methods, the device is powered on and runs the program of the method through the processor.
  • a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
  • processors CPUs
  • input/output interfaces network interfaces
  • memory volatile and non-volatile memory
  • Memory may include forms of non-persistent memory, random access memory (RAM) and/or non-volatile memory in computer readable media, such as read only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
  • RAM random access memory
  • ROM read only memory
  • flash RAM flash memory
  • Computer readable media includes both persistent and non-permanent, removable and non-removable media.
  • Information storage can be implemented by any method or technology.
  • Information may be computer readable instructions, data structures, modules of programs, or other data.
  • Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), Flash Memory or other memory technology, Compact Disc Read Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission medium that can be used to store information that can be accessed by a computing device.
  • computer-readable media does not include non-transitory computer-readable media (transitory media), such as modulated data signals and carrier waves.
  • the embodiments of the present application may be provided as methods, systems or computer program products. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
  • computer-usable storage media including, but not limited to, disk storage, CD-ROM, optical storage, etc.

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

虚拟化处理系统、方法、装置及设备
相关申请
本申请要求于2021年02月26日递交的申请号为202110222538.7的中国发明专利申请的优先权,并引用该专利申请公开的内容作为本公开的一部分。
技术领域
本申请涉及云计算技术领域,具体涉及虚拟化处理系统,虚拟化处理方法及装置,以及电子设备。
背景技术
云计算向不同领域的客户提供多样化的云服务,也就是将IT资源按需分配给需要的租户,当一个用户对其占用的资源不再使用时资源自动释放,可供其他用户使用,这样资源得以最大化利用,并且可以按需扩展,及时满足使用需求。
虚拟化技术是云操作系统的关键技术之一,可使得一台硬件设备被虚拟成多个具备独立功能的虚拟设备,以便同时供多个用户使用。虚拟化是通过虚拟机监视器(Virtual Machine Monitor,简称VMM,又称为hypervisor或者虚拟化组件)实现的,虚拟机监视器是虚拟化技术的核心,服务器虚拟化需要评估、选择和部署hypervisor,主流的hypervisor包括开源的Xen和KVM等虚拟化技术架构。随着虚拟化技术的发展,在各种虚拟化技术架构的研发期间,都伴随着几个虚拟化技术痛点问题的克服。虚拟化痛点问题包括:由于虚拟化组件都部署在宿主机上,和用户虚拟机共用资源,这样容易对用户虚拟机造成干扰和波动,如导致中央处理器(CPU)计算特性损失、资源争抢、IO性能瓶颈等。目前,主要通过将虚拟机监视器下沉到虚拟机管控板卡(如阿里研发的MOC卡),克服上述问题,使得宿主机资源能够被用户虚拟机有效利用。
然而,在实现本发明过程中,发明人发现上述技术方案在所有管控都下沉之后,势必会造成虚拟机管控板卡负担沉重,不仅网络虚拟化、存储虚拟化下沉,且各种弹性计算服务ECS相关的管控(如服务质量Qos限流管控,日志管控,状态监控等)也都下沉,这在虚拟机管控板卡硬件资源一定的情况下至少存在如下问题:当ECS应用负载冲高时(如分享简短实时信息的社交网络平台的突发热搜场景),管控任务消耗的板卡资源受应用负载影响急剧增大,虚拟机管控板卡无法有效做到管控资源动态伸缩,从而导致虚拟化速度慢,发生IO延迟、网 络延迟等问题。
发明内容
本申请提供虚拟化处理系统,以解决现有技术存在的在ECS应用负载访问量过大时虚拟机管控板卡无法确保管控资源动态伸缩,从而影响虚拟化速度的问题。本申请另外提供虚拟化处理方法和装置,及电子设备。
本申请提供一种虚拟化处理系统,包括:
虚拟化基础架构,部署在虚拟机管控板卡侧,用于构建虚拟化系统,以管理用户虚拟机;
管控虚拟机,部署在宿主机侧,用于对用户虚拟机使用宿主机资源进行管控。
可选的,还包括:
管控虚拟机处理装置,部署在虚拟机管控板卡侧,用于构建所述管控虚拟机,并确定所述管控板卡的资源使用状况数据;若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机侧,以使用宿主机资源进行管控。
可选的,所述处理装置,还用于若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡侧,以使用板卡资源进行管控。
可选的,所述应用级管控包括多个管控任务,不同管控任务对应不同管控虚拟机;
所述处理装置,还用于通过管控虚拟机部署策略,将部分管控虚拟机部署在宿主机侧,部分管控虚拟机部署在所述管控板卡侧。
可选的,所述处理装置,还用于若用户虚拟机的应用负载导致板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧。
可选的,所述宿主机侧包括:应用负载不会导致板卡资源使用状况数据不满足板卡管控条件的用户虚拟机。
可选的,所述板卡管控条件包括:板卡资源使用状况数据小于或者等于数据阈值。
可选的,板卡资源包括:定制硬件资源,处理器资源,内存资源,网络资源;
所述数据阈值包括:定制硬件资源阈值,处理器资源阈值,内存资源阈值,网络资源阈值。
可选的,部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信;
部署在宿主机侧的管控虚拟机通过直通vifo方式与部署在虚拟机管控板卡侧的第一虚拟机监视器通信。
可选的,所述部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信,包括:
将前端驱动部署在用户虚拟机侧,将后端驱动部署在管控虚拟机侧。
可选的,通过控制组群的方式,对部署在宿主机侧的管控虚拟机和用户虚拟机使用的宿主机资源进行隔离。
可选的,还包括:
所述虚拟化基础架构包括:弹性计算服务ECS管控装置,第一虚拟机监视器,存储客户端,网络客户端,定制硬件资源;
所述ECS管控装置,用于接收ECS服务请求,调用第一虚拟机监视器;
所述第一虚拟机监视器,用于执行设备模拟处理,以及通过定制硬件资源与宿主机通信,通过存储客户端和网络客户端与远端通信;
所述第一虚拟机监视器通过所述存储客户端与部署在云存储设备的存储主控端通信,以便于执行云存储虚拟化处理;
所述第一虚拟机监视器通过所述网络客户端与对方通信;
所述管控虚拟机通过所述定制硬件资源与第一虚拟机监视器通信。
可选的,还包括:
第二虚拟机监视器,部署在宿主机侧,用于管控虚拟机与用户虚拟机的虚拟化模拟。
可选的,还包括:
所述对用户虚拟机使用宿主机资源进行管控,包括:
对用户虚拟机执行服务质量QoS限流管控;
对用户虚拟机执行日志管理;
对用户虚拟机执行状态监控。
可选的,所述管控板卡包括基于现场可编程逻辑门阵列FPGA芯片的管控板卡。
本申请还提供一种虚拟化处理装置,包括:
管控虚拟机构建单元,用于构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;
板卡资源使用状况确定单元,用于确定虚拟机管控板卡的资源使用状况数据;
管控虚拟机部署单元,用于若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。
本申请还提供一种虚拟化处理方法,包括:
构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;
确定虚拟机管控板卡的资源使用状况数据;
若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。
可选的,还包括:
若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡上,以使用管控板卡资源进行管控。
可选的,部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信;
部署在宿主机侧的管控虚拟机通过直通vifo方式与部署在所述管控板卡侧的虚拟机监视器通信。
可选的,通过控制组群的方式,对所述管控虚拟机和所述用户虚拟机使用的宿主机资源进行隔离。
本申请还提供一种电子设备,包括:
处理器和存储器;
存储器,用于存储实现根据上述方法的程序,该设备通电并通过所述处理器运行该方法的程序。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的虚拟化处理系统,包括虚拟化基础架构和管控虚拟机。其中,虚拟化基础架构部署在虚拟机管控板卡侧,用于构建虚拟化系统,以管理用户虚拟机;管控虚拟机部署在宿主机侧,用于对用户虚拟机使用宿主机资源进行管控。该系统采用基于虚拟节点的管控方式,至少可达到以下有益效果:
1)使得把管控封装在管控虚拟机里,既可部署在宿主机侧,也能部署在管控板卡侧,这样当用户虚拟机访问量冲高导致管控板卡资源不够时,能动态在宿主机侧启动一个或多个虚拟管控节点,该节点可分担管控板卡的一部分管控任务,利用宿主机资源进行虚拟机管控;因此,可以持续确保管控资源动态伸缩;
2)使得利用宿主机资源进行管控,可提升管控任务的可扩展性;
3)由于宿主机侧执行的管控都运行在管控虚拟机中,并没有将管控组件直接运行在宿主机上,这样可避免管控组件和用户虚拟机共用资源,做到管控组件与用户虚拟机隔离,控制 宿主机执行管控对用户虚拟机的干扰,使得管控虚拟机与用户虚拟机间实现更高粒度的资源隔离和更高的安全性。
4)使得虚拟机管控板卡只需满足虚拟机基本架构需求即可,这样可实现板卡硬件资源配置最小化,有效降低MOC卡成本。
附图说明
图1本申请提供的虚拟化处理系统的实施例的结构示意图;
图2本申请提供的虚拟化处理系统的实施例的应用场景示意图;
图3本申请提供的虚拟化处理系统的实施例的具体结构示意图;
图4本申请提供的虚拟化处理系统的实施例的管控虚拟机部署在宿主机侧的架构示意图;
图5本申请提供的虚拟化处理装置的实施例的结构示意图;
图6本申请提供的虚拟化处理方法的实施例的流程示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供虚拟化处理系统、方法和装置,及电子设备。在下面的实施例中逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请的虚拟化处理系统的实施例的结构示意图。在本实施例中,所述系统包括:虚拟机基础架构1,管控虚拟机2。
所述虚拟机基础架构1,部署在虚拟机管控板卡侧,用于构建虚拟化系统,以管理用户虚拟机。所述管控虚拟机2,部署在宿主机侧,用于对用户虚拟机使用宿主机资源进行管控。
所述宿主机,是指云计算节点(简称CN)的主机。在宿主机上可运行多个用户虚拟机,用户虚拟机可弹性使用宿主机资源。所述宿主机资源,可包括计算资源、存储资源、网络资源等。
所述虚拟机管控板卡,可采用包括系统级芯片SOC的板卡。在所述虚拟机管控板卡上,可安装操作系统OS,上面可进行用户虚拟机VM存储和网络的转发,后端可连接云盘(如盘 古集群),也可运行各种管控任务。在本实施例中,采用基于PCI-E接口的智能SOC板卡作为虚拟机管控板卡,如基于现场可编程逻辑门阵列FPGA芯片的管控板卡,如MOC卡。由于FPGA芯片成本较高,因此在这种情况下更加具有管控资源动态伸缩的需求。此外,如果采用基于现场可编程逻辑门阵列FPGA芯片的管控板卡,在应用本申请实施例提供的系统后,可有效降低管控板卡的硬件成本。
所述虚拟机基础架构1属于现有技术范畴,其构建了虚拟化系统,可管理用户虚拟机,如初始化用户虚拟机等。所述用户虚拟机,又可称为虚拟主机;所述宿主机资源包括:计算资源,存储资源,网络资源。用户购买云服务后,所述虚拟化基础架构为该用户配置用户虚拟机,用户可在其虚拟机上部署应用系统,如分享简短实时信息的社交网络平台,还可安装数据库管理系统(虚拟数据库管理系统),也可部署内容分发网络(虚拟内容分发网络),等等。
本申请实施例提供的系统可用在裸金属场景下,裸金属云也被称为裸机云,可同时拥有物理机级别的性能和云的弹性。裸金属架构就是直接在硬件上面安装虚拟化软件,再在其上安装操作系统和应用,依赖虚拟层内核和服务器控制台进行管理。
在裸金属场景下,现有技术将所有管控任务都下沉到虚拟机管控板卡上,不仅网络虚拟化、存储虚拟化下沉,且各种弹性计算服务ECS相关的管控任务也都下沉。由于执行ECS相关的管控任务所消耗的设备资源受应用负载影响较大,因此这种将所有管控任务都下沉到虚拟机管控板卡的方式势必会造成虚拟机管控板卡负担沉重。例如,当ECS应用负载冲高时(如分享简短实时信息的社交网络平台的突发热搜场景),虚拟机管控板卡无法有效做到管控资源动态伸缩。
请参考图2,其为本申请的虚拟化处理系统的实施例的应用场景图。在本实施例中,云计算平台包括多个计算节点(服务器,简称CN)CN 1至CN n,每个计算节点包括宿主机和虚拟机管控板卡。在虚拟机管控板卡上保留虚拟化基础架构,把相关的存储、网络等占资源大头的管控都封装在管控虚拟机里,只把剩余少量的管控组件留在原先的虚拟机管控板卡上,这样就很大程度上实现了与现有虚拟机管控板卡管控的解藕。在宿主机上可运行多个用户虚拟机,还可运行一个或多个管控虚拟机,以对用户虚拟机使用宿主机资源进行管控。
此外,由于宿主机侧执行的管控都运行在管控虚拟机中,并没有将管控组件直接运行在宿主机上,这样可避免管控组件和用户虚拟机共用资源,做到管控组件与用户虚拟机隔离,控制宿主机执行管控对用户虚拟机的干扰,使得虚拟机监视器与用户虚拟机间实现更高粒度的资源隔离和更高的安全性,同时也方便各管控组件的动态伸缩,如热迁移、热升级、热插拔等高级特性的应用。
请参考图3,其为本申请的虚拟化处理系统的实施例的具体结构示意图。在本实施例中,所述虚拟化基础架构可包括如下与虚拟化相关的组件:弹性计算服务ECS管控装置,第一虚拟机监视器,存储客户端(存储client),网络客户端,定制硬件资源。
其中,所述ECS管控装置可用于接收ECS服务请求,如接收用户通过网页下发的ECS服务命令,可初始化用户虚拟机,并调用第一虚拟机监视器,如输入/输出多端口转发器IO Hub,以将远端云盘加进来。所述第一虚拟机监视器,用于执行设备模拟处理,可包括存储虚拟化和网络虚拟化。所述第一虚拟机监视器,可通过定制硬件资源与宿主机通信,通过存储客户端和网络客户端与远端通信。所述第一虚拟机监视器,具体可通过所述存储客户端与部署在云存储设备(如云盘)的存储主控端(存储master)通信,以便于执行云存储虚拟化处理。所述第一虚拟机监视器,还可通过所述网络客户端与对方通信。上述虚拟化基础架构中的各种组件及其功能属于现有技术,因此此处不再赘述。
由图3可见,本申请实施例提供的系统在管控板卡侧还可包括:定制硬件资源,部署在宿主机侧的管控虚拟机可通过所述定制硬件资源与第一虚拟机监视器通信。在本实施例中,定制硬件资源为一个fpga芯片(专用集成电路),用于与宿主机交互,管控虚拟机与MOC交互,MOC与远端云盘连接。
此外,还可在宿主机侧包括:第二虚拟机监视器(如KVM、qemu等),第二虚拟机监视器用于管控虚拟机与用户虚拟机的虚拟化模拟,如设备模拟,cpu模拟、内存模拟等。由于第二虚拟机监视器属于现有技术,因此此处不再赘述。
所述系统通过管控虚拟机对用户虚拟机使用宿主机资源进行管控,包括但不限于ECS相关管控。执行ECS相关管控所消耗的设备资源通常受ECS应用负载的影响较大,且该类管控任务可根据应用需求增加或者减少。
具体实施时,所述系统通过管控虚拟机对用户虚拟机使用宿主机资源进行管控,可包括以下管控的一项或者多项:对用户虚拟机执行服务质量QoS限流管控;对用户虚拟机执行日志管理;对用户虚拟机执行状态监控。此外,也可以根据应用需求设计其它管控任务。由于ECS相关的管控任务属于现有技术,因此此处不再赘述。
由图3可见,部署在宿主机侧的管控虚拟机可通过前后端驱动vHost方式与用户虚拟机通信;部署在宿主机侧的管控虚拟机可使用定制硬件资源通过直通vifo方式与管控板卡(如第一虚拟机监视器)通信。vHost是virtio的一种后端实现方案,virtio是一种半虚拟化的实现方案,需要虚拟机端和宿主机端都提供驱动才能完成通信,通常virtio宿主机端的驱动是实现在用户空间的qemu中,而vhost是实现在内核中,是内核的一个模块vhost-net.ko。具体实施时,部署在宿主机侧的管控虚拟机也可通过virtio方式与用户虚拟机通信。
在本实施例中,所述部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信,可采用如下方式实现:将前端驱动部署在用户虚拟机侧,将后端驱动部署在管控虚拟机侧。具体实施时,前端驱动可由客户机(用户虚拟机)实现,后端驱动可由qemu、内核(vhost)、或用户态(vhost-user)实现。
针对图3,其处理流程为:1、用户vm以vhost方式访问vda设备,用户vm里有vda的前端驱动;2、后端驱动最终落到管控vm的vdb里,vdb是cn上的vdc以直通vfio方式给管控vm的;管控vm的io采用用户态驱动,如spdk的方式接受并下发io;3、vdc来自moc上的iohub和tdc把盘古云盘虚拟化后通过定制硬件呈现给cn;4、即vda与vdb为vhost方式,vdb与vdc为vfio方式,vdc与云盘为定制硬件方式;5、宿主机与虚拟机管控板卡处在一台服务器上。
请参考图4,其为本申请的虚拟化处理系统的实施例的管控虚拟机部署在宿主机侧的架构示意图。在本实施例中,管控虚拟机通过vHost技术,实现与宿主机上的用户虚拟机和第二虚拟机监视器通信。所述管控虚拟机可包括:用户态驱动,设备虚拟化接口,数据输入接口,控制接口。管控板卡侧可实现一个简单的设备模拟功能(即实现第一虚拟机监视器),如通过输入输出集线器(iohub)对接云盘(如盘古云盘),并通过fpga对宿主机侧以virtio设备展示,并通过存储客户端连接远端云盘。管控虚拟机把该virtio设备直通到用户虚拟机里,即图中的直通dev。用户虚拟机看到的硬盘vda经过kvm、vhost等路径接入管控虚拟机进行管理,并最终由驱动程序(如SPDK)把用户的数据发到云盘。
在本实施例中,初始化流程如下所述。所述第一虚拟机监视器可接收宿主机发送的启动用户虚拟机指令;所述第一虚拟机监视器将所述指令发送至所述管控虚拟机;所述管控虚拟机通过部署在所述管控板卡上的输入输出集线器,创建用户虚拟机对接的云存储器;所述第一虚拟机监视器将与用户虚拟机对应的设备虚拟化接口发送至宿主机;所述宿主机将设备虚拟化接口发送至所述管控虚拟机;所述管控虚拟机将设备虚拟化接口对接用户态驱动;启动用户虚拟机,通过所述虚拟机监视器将用户虚拟机的gpa到hpa信息发送至所述控制接口;所述控制接口构建gpa到hpa信息的映射关系;所述管控虚拟机通过共享内存方式访问用户虚拟机的内存;通过所述控制接口和与用户虚拟机对应的qemu初始化vda接口。
在本实施例中,数据输入输出流程如下所述。所述用户虚拟机将输入/输出数据发送至第一虚拟机监视器,所述第一虚拟机监视器将所述输入/输出数据发送至所述数据输入接口,所述用户态驱动通过所述设备虚拟化接口将所述输入/输出数据发送至用户虚拟机对接的云存储器。
在一个示例中,通过控制组群的方式,对部署在宿主机侧的管控虚拟机和用户虚拟机使 用的宿主机资源进行隔离。所述第一虚拟机监视器对所述管控虚拟机和所述用户虚拟机使用的宿主机资源进行隔离。具体实施时,可通过控制组群(如cgroup)等方式,对所述管控虚拟机和所述用户虚拟机使用的宿主机资源进行隔离。采用这样处理方式,可避免管控虚拟机和用户虚拟机共用资源,控制通过计算节点执行管控时对用户虚拟机的干扰;因此可以有效提升安全性。
在一个示例中,本申请实施例提供的系统始终将管控虚拟机部署在宿主机侧,始终使用宿主机资源执行管控。采用这种处理方式,使得虚拟机管控板卡只需满足虚拟化基本架构的资源需求即可,这样可实现板卡硬件资源配置最小化,有效降低MOC卡成本。
在另一个示例中,本申请实施例提供的系统在虚拟机管控板卡侧还部署管控虚拟机处理装置。所述管控虚拟机处理装置,用于构建所述管控虚拟机,并确定所述管控板卡的资源使用状况数据;若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机侧,以使用宿主机资源进行管控。采用这种方式使得能够根据板卡资源使用情况,动态在宿主机侧启动管控虚拟机,管控虚拟机作为虚拟管控节点,可继续对用户虚拟机执行管控处理,这样就可以持续确保管控资源动态伸缩,如热迁移、热升级、热插拔等高级特性的应用。
具体实施时,可在所述ECS管控装置内包括所述处理装置,也可将所述处理装置作为所述ECS管控装置的同层次装置。本申请提供的系统,不对所述处理装置的位置进行限定。
所述板卡管控条件包括但不限于:板卡资源使用状况数据小于或者等于数据阈值。所述板卡资源包括:定制硬件资源,处理器资源,内存资源,网络资源;相应的,所述数据阈值包括但不限于:定制硬件资源阈值,处理器资源阈值,内存资源阈值,网络资源阈值。
由图2可见,管控虚拟机也可部署在虚拟机管控板卡侧,虚线部分表示管控虚拟机未部署在该设备上,实现部分表示管控虚拟机部署在该设备上。在本实施例中,所述处理装置,还可用于若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡侧,以使用板卡资源进行管控。采用这种方式使得如果板卡资源使用状况数据满足板卡管控条件,则将所有应用级管控对应的管控虚拟机都部署至管控板卡侧,这样管控更加纯净,可有效提升管控可控性。
在一个示例中,所述应用级管控包括多个管控任务,不同管控任务对应不同管控虚拟机;所述处理装置,还用于通过管控虚拟机部署策略,将部分管控虚拟机部署在宿主机侧,部分管控虚拟机部署在所述管控板卡侧。这样,既能充分使用管控板卡的资源进行管控,又能满足应用负载过大时的管控资源动态伸缩需求,实现细粒度的管控资源动态伸缩管理;因此,可以有效兼顾管控稳定性、及降低对用户虚拟机影响这两个方面的效果。
所述管控虚拟机部署策略,可根据应用需求确定。例如,可根据不同应用级管控任务消耗的设备资源数据,将资源消耗较少的管控任务对应的管控虚拟机部署在虚拟机管控板卡侧,将资源消耗较多的管控任务对应的管控虚拟机部署在宿主机侧,等等。
在一个示例中,所述处理装置还用于若用户虚拟机的应用负载导致板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧。例如,当用户虚拟机上的应用负载冲高(如微博突发热搜场景)时,部署在管控板卡侧的管控虚拟机将消耗更多的设备资源,如果管控板卡资源不够用,则动态将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧,这样可确保管控稳定性。
具体实施时,将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧,可采用重新部署的方式,也可采用热部署的方式。
具体实施方式时,所述处理装置还用于获取应用负载数据;根据应用负载数据,判断应用负载是否会导致板卡资源使用状况数据不满足板卡管控条件;若判断结果为否,则将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧。
在一个示例中,所述宿主机侧可包括:应用负载不会导致板卡资源使用状况数据不满足板卡管控条件的用户虚拟机,如边缘计算等场景。在这种情况下,可将所有管控任务对应的管控虚拟机部署在管控板卡侧。
本申请实施例提供的虚拟化处理系统,包括虚拟化基础架构和管控虚拟机。其中,虚拟化基础架构部署在虚拟机管控板卡侧,用于构建虚拟化系统,以管理用户虚拟机;管控虚拟机部署在宿主机侧,用于对用户虚拟机使用宿主机资源进行管控。该系统采用基于虚拟节点的管控方式,至少可达到以下有益效果:
1)使得把管控封装在管控虚拟机里,既可部署在宿主机侧,也能部署在管控板卡侧,这样当用户虚拟机访问量冲高导致管控板卡资源不够时,能动态在宿主机侧启动一个或多个虚拟管控节点,该节点可分担管控板卡的一部分管控任务,利用宿主机资源进行虚拟机管控;因此,可以持续确保管控资源动态伸缩;
2)使得利用宿主机资源进行管控,可提升管控任务的可扩展性;
3)由于宿主机侧执行的管控都运行在管控虚拟机中,并没有将管控组件直接运行在宿主机上,这样可避免管控组件和用户虚拟机共用资源,做到管控组件与用户虚拟机隔离,控制宿主机执行管控对用户虚拟机的干扰,使得管控虚拟机与用户虚拟机间实现更高粒度的资源隔离和更高的安全性。
4)使得虚拟机管控板卡只需满足虚拟机基本架构需求即可,这样可实现板卡硬件资源配置最小化,有效降低MOC卡成本。
第二实施例
请参考图5,其为本申请的虚拟化处理装置的实施例的结构示意图。本实施例提供的虚拟化处理装置可部署在虚拟机管控板卡上,可包括:管控虚拟机构建单元501,资源使用状况确定单元502,以及管控虚拟机部署切换单元503。
其中,管控虚拟机构建单元501用于构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;资源使用状况确定单元502,用于确定虚拟机管控板的资源使用状况数据;管控虚拟机部署切换单元503,用于若板资源使用状况数据不满足设备管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。
从上述实施例可见,本申请实施例提供的虚拟化处理装置,通过构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;确定虚拟机管控板卡的资源使用状况数据;若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。采用这种基于虚拟节点的管控方式,使得把管控都封装在管控虚拟机里,既可部署在服务器侧,也能部署在管控板卡侧,这样当用户虚拟机访问量冲高导致管控板卡资源不够时,能动态在宿主机侧启动一个虚拟管控节点,该节点可分担管控板卡的一部分任务;因此,可以持续确保管控资源动态伸缩。同时,由于宿主机侧执行的管控都运行在管控虚拟机中,并没有将管控组件直接运行在宿主机上,这样可避免管控组件和用户虚拟机共用资源,做到管控组件与用户虚拟机隔离,控制服务器执行管控对用户虚拟机的干扰,使得虚拟机监视器与用户虚拟机间实现更高粒度的资源隔离和更高的安全性。
第三实施例
在上述的实施例中,提供了一种虚拟化处理系统,与之相对应的,本申请还提供一种虚拟化处理方法。所述方法的执行主体包括但不限于虚拟机管控板卡,也可以是能够实现所述方法的任意设备。该方法是与上述系统的实施例相对应。由于方法实施例基本相似于系统实施例,所以描述得比较简单,相关之处参见系统实施例的部分说明即可。下述描述的方法实施例仅仅是示意性的。
请参考图6,其为本申请的虚拟化处理装置的实施例的流程示意图。本申请提供一种虚拟化处理方法,包括:
步骤S601:构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控。
步骤S603:确定虚拟机管控板卡的资源使用状况数据。
步骤S605:若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在 宿主机上,以使用宿主机资源进行管控。
所述板卡管控条件包括但不限于:板卡资源使用状况数据小于或者等于数据阈值。所述板卡资源包括:定制硬件资源,处理器资源,内存资源,网络资源;相应的,所述数据阈值包括但不限于:定制硬件资源阈值,处理器资源阈值,内存资源阈值,网络资源阈值。
具体实施时,虚拟机管控板卡可通过运行的操作系统初始化管控虚拟机,并在宿主机侧起管控虚拟机。
在一个示例中,所述方法还可包括如下步骤:若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡上,以使用管控板卡资源进行管控。
在一个示例中,部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信;部署在宿主机侧的管控虚拟机通过直通vifo方式与部署在所述管控板卡侧的虚拟机监视器通信。
在本实施例中,虚拟机管控板卡侧可只实现一个简单的设备模拟功能,即iohub对接盘古云盘,并对宿主机侧以virtio设备展示,管控虚拟机把该virtio设备直通到VM里,即图中的直通dev。用户虚拟机看到的vda经过kvm、vhost等路径接入管控虚拟机进行管理,并最终由driver(如SPDK)把用户的数据发到云盘。
具体实施时,用户虚拟机初始化流程可采用如下所述的处理过程。虚拟机管控板卡侧收到起用户虚拟机命令,并将该命令下发给管控虚拟机;管控虚拟机可用iohub创建用户虚拟机对应的盘古云盘,并直通到管控虚拟机里,以直通dev(虚拟机管控板卡侧以virtio设上报给宿主机,宿主机再以virtio设备直通给管控虚拟机)方式呈现,并对接SPDK用户态驱动(作为后端),SPDK输入端来自数据dev,输出端为直通dev。起用户虚拟机,并可将用户虚拟机的user_vm_gpa到hpa信息通过第二虚拟机监视器(如kvm)给到管控虚拟机的控制dev,控制dev进行管控虚拟机的manager_vm_gpa到hpa的映射建立,通过共享内存的方式使得管控虚拟机后续在io操作时能访问到用户虚拟机的内存,即管控虚拟机里的gpa可以对应到用户虚拟机里的gpa。通过控制dev和用户虚拟机对应的qemu进行vda设备(基于virtio设备)相关的初始化,至此用户虚拟机启动完毕。
具体实施时,用户虚拟机的IO流程可采用如下所述的处理过程。用户虚拟机下发IO数据,前端为基于virtio设备,经过kvm后,对接的后端为定制化的vhost,但vhost并不做实际处理,只是将信息封装后再次交给kvm,由kvm转发给数据dev进行真正的后端处理;数据dev(基于vring的dev)收到信息后走vhost-user方式进行处理,对接SPDK驱动(作为前端);SPDK驱动通过用户态驱动下发,由于是直通设备,因此不会经过CN侧处理,而直接下发到云盘。
在一个示例中,通过控制组群的方式,对所述管控虚拟机和所述用户虚拟机使用的宿主机资源进行隔离。
从上述实施例可见,本申请实施例提供的虚拟化处理方法,通过构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;确定虚拟机管控板卡的资源使用状况数据;若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。采用这种基于虚拟节点的管控方式,使得把管控都封装在管控虚拟机里,既可部署在服务器侧,也能部署在管控板卡侧,这样当用户虚拟机访问量冲高导致管控板卡资源不够时,能动态在宿主机侧启动一个虚拟管控节点,该节点可分担管控板卡的一部分任务;因此,可以持续确保管控资源动态伸缩。同时,由于宿主机侧执行的管控都运行在管控虚拟机中,并没有将管控组件直接运行在宿主机上,这样可避免管控组件和用户虚拟机共用资源,做到管控组件与用户虚拟机隔离,控制服务器执行管控对用户虚拟机的干扰,使得虚拟机监视器与用户虚拟机间实现更高粒度的资源隔离和更高的安全性。
第四实施例
在上述的实施例中,提供了虚拟化处理方法,与之相对应的,本申请还提供一种电子设备。该装置是与上述方法的实施例相对应。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现根据上述任一项方法的程序,该设备通电并通过所述处理器运行该方法的程序。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电 可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (21)

  1. 一种虚拟化处理系统,其特征在于,包括:
    虚拟化基础架构,部署在虚拟机管控板卡侧,用于构建虚拟化系统,以管理用户虚拟机;
    管控虚拟机,部署在宿主机侧,用于对用户虚拟机使用宿主机资源进行管控。
  2. 根据权利要求1所述的系统,其特征在于,还包括:
    管控虚拟机处理装置,部署在虚拟机管控板卡侧,用于构建所述管控虚拟机,并确定所述管控板卡的资源使用状况数据;若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机侧,以使用宿主机资源进行管控。
  3. 根据权利要求2所述的系统,其特征在于,
    所述处理装置,还用于若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡侧,以使用板卡资源进行管控。
  4. 根据权利要求3所述的系统,其特征在于,
    所述应用级管控包括多个管控任务,不同管控任务对应不同管控虚拟机;
    所述处理装置,还用于通过管控虚拟机部署策略,将部分管控虚拟机部署在宿主机侧,部分管控虚拟机部署在所述管控板卡侧。
  5. 根据权利要求3所述的系统,其特征在于,
    所述处理装置,还用于若用户虚拟机的应用负载导致板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机从所述管控板卡侧切换部署至宿主机侧。
  6. 根据权利要求3所述的系统,其特征在于,
    所述宿主机侧包括:应用负载不会导致板卡资源使用状况数据不满足板卡管控条件的用户虚拟机。
  7. 根据权利要求2所述的系统,其特征在于,
    所述板卡管控条件包括:板卡资源使用状况数据小于或者等于数据阈值。
  8. 根据权利要求7所述的系统,其特征在于,
    板卡资源包括:定制硬件资源,处理器资源,内存资源,网络资源;
    所述数据阈值包括:定制硬件资源阈值,处理器资源阈值,内存资源阈值,网络资源阈值。
  9. 根据权利要求1所述的系统,其特征在于,
    部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信;
    部署在宿主机侧的管控虚拟机通过直通vifo方式与部署在虚拟机管控板卡侧的第一虚拟 机监视器通信。
  10. 根据权利要求9所述的系统,其特征在于,
    所述部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信,包括:
    将前端驱动部署在用户虚拟机侧,将后端驱动部署在管控虚拟机侧。
  11. 根据权利要求1所述的系统,其特征在于,
    通过控制组群的方式,对部署在宿主机侧的管控虚拟机和用户虚拟机使用的宿主机资源进行隔离。
  12. 根据权利要求1所述的系统,其特征在于,还包括:
    所述虚拟化基础架构包括:弹性计算服务ECS管控装置,第一虚拟机监视器,存储客户端,网络客户端,定制硬件资源;
    所述ECS管控装置,用于接收ECS服务请求,调用第一虚拟机监视器;
    所述第一虚拟机监视器,用于执行设备模拟处理,以及通过定制硬件资源与宿主机通信,通过存储客户端和网络客户端与远端通信;
    所述第一虚拟机监视器通过所述存储客户端与部署在云存储设备的存储主控端通信,以便于执行云存储虚拟化处理;
    所述第一虚拟机监视器通过所述网络客户端与对方通信;
    所述管控虚拟机通过所述定制硬件资源与第一虚拟机监视器通信。
  13. 根据权利要求1所述的系统,其特征在于,还包括:
    第二虚拟机监视器,部署在宿主机侧,用于管控虚拟机与用户虚拟机的虚拟化模拟。
  14. 根据权利要求1所述的系统,其特征在于,还包括:
    所述对用户虚拟机使用宿主机资源进行管控,包括:
    对用户虚拟机执行服务质量QoS限流管控;
    对用户虚拟机执行日志管理;
    对用户虚拟机执行状态监控。
  15. 根据权利要求1所述的系统,其特征在于,
    所述管控板卡包括基于现场可编程逻辑门阵列FPGA芯片的管控板卡。
  16. 一种虚拟化处理装置,其特征在于,包括:
    管控虚拟机构建单元,用于构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;
    板卡资源使用状况确定单元,用于确定虚拟机管控板卡的资源使用状况数据;
    管控虚拟机部署单元,用于若板卡资源使用状况数据不满足板卡管控条件,则将所述管 控虚拟机部署在宿主机上,以使用宿主机资源进行管控。
  17. 一种虚拟化处理方法,其特征在于,包括:
    构建管控虚拟机,所述管控虚拟机用于对用户虚拟机使用宿主机资源进行管控;
    确定虚拟机管控板卡的资源使用状况数据;
    若板卡资源使用状况数据不满足板卡管控条件,则将所述管控虚拟机部署在宿主机上,以使用宿主机资源进行管控。
  18. 根据权利要求17所述的方法,其特征在于,还包括:
    若板卡资源使用状况数据满足板卡管控条件,则将所述管控虚拟机部署在所述管控板卡上,以使用管控板卡资源进行管控。
  19. 根据权利要求17所述的方法,其特征在于,
    部署在宿主机侧的管控虚拟机通过前后端驱动vHost方式与用户虚拟机通信;
    部署在宿主机侧的管控虚拟机通过直通vifo方式与部署在所述管控板卡侧的虚拟机监视器通信。
  20. 根据权利要求17所述的方法,其特征在于,
    通过控制组群的方式,对所述管控虚拟机和所述用户虚拟机使用的宿主机资源进行隔离。
  21. 一种电子设备,其特征在于,包括:
    处理器和存储器;
    存储器,用于存储实现根据权利要求17至20任一项所述的方法的程序,该设备通电并通过所述处理器运行该方法的程序。
PCT/CN2022/076558 2021-02-26 2022-02-17 虚拟化处理系统、方法、装置及设备 WO2022179423A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/547,011 US20240054006A1 (en) 2021-02-26 2022-02-17 Virtualization processing system, method and apparatus, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110222538.7A CN113312142B (zh) 2021-02-26 2021-02-26 虚拟化处理系统、方法、装置及设备
CN202110222538.7 2021-02-26

Publications (1)

Publication Number Publication Date
WO2022179423A1 true WO2022179423A1 (zh) 2022-09-01

Family

ID=77370904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/076558 WO2022179423A1 (zh) 2021-02-26 2022-02-17 虚拟化处理系统、方法、装置及设备

Country Status (3)

Country Link
US (1) US20240054006A1 (zh)
CN (1) CN113312142B (zh)
WO (1) WO2022179423A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115904717A (zh) * 2022-11-30 2023-04-04 湖南长银五八消费金融股份有限公司 云平台中应用系统部署方法、装置和计算机设备
WO2024087810A1 (zh) * 2022-10-27 2024-05-02 深圳云豹智能有限公司 云数据中心管理系统及电子设备

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113312142B (zh) * 2021-02-26 2023-12-26 阿里巴巴集团控股有限公司 虚拟化处理系统、方法、装置及设备
CN115576656B (zh) * 2022-12-12 2023-03-31 山东三未信安信息科技有限公司 一种域间通讯的装置、方法及设备
CN116545799B (zh) * 2022-12-19 2024-01-30 南京群顶科技股份有限公司 支持可自定义规则的虚拟通讯点表的逻辑网关控制方法
CN115858102B (zh) * 2023-02-24 2023-05-16 珠海星云智联科技有限公司 一种用于部署支持虚拟化硬件加速的虚拟机的方法
CN116257276B (zh) * 2023-05-09 2023-07-25 珠海星云智联科技有限公司 支持虚拟化硬件加速的虚拟宿主机用户后端升级方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767741A (zh) * 2015-03-24 2015-07-08 杭州安恒信息技术有限公司 一种基于轻型虚拟机的计算服务分离与安全保护系统
US20160306644A1 (en) * 2015-04-14 2016-10-20 Dell Products L.P. Performance optimization of workloads in virtualized information handling systems
CN106681834A (zh) * 2016-12-28 2017-05-17 上海优刻得信息科技有限公司 分布式计算方法、管理装置及系统
CN108170507A (zh) * 2017-12-04 2018-06-15 上海市信息网络有限公司 虚拟应用管理方法/系统、计算机可读存储介质及服务端
CN111124595A (zh) * 2018-11-01 2020-05-08 阿里巴巴集团控股有限公司 一种提供云计算服务的方法及系统
CN113312142A (zh) * 2021-02-26 2021-08-27 阿里巴巴集团控股有限公司 虚拟化处理系统、方法、装置及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101398768B (zh) * 2008-10-28 2011-06-15 北京航空航天大学 一种分布式虚拟机监视器系统的构建方法
US8930542B2 (en) * 2012-01-23 2015-01-06 International Business Machines Corporation Dynamically building a set of compute nodes to host the user's workload
CN103645957B (zh) * 2013-12-25 2017-03-08 北京搜狐新媒体信息技术有限公司 一种虚拟机资源管控方法及装置
CN104836819A (zh) * 2014-02-10 2015-08-12 阿里巴巴集团控股有限公司 动态负载均衡的方法、系统及监控调度设备
CN104010028B (zh) * 2014-05-04 2017-11-07 华南理工大学 一种云平台下性能加权的虚拟资源动态管理策略方法
CN111399973B (zh) * 2019-01-03 2023-07-28 阿里巴巴集团控股有限公司 Fpga远程挂载结构、网络管控方法、装置及电子设备
CN111459684A (zh) * 2020-04-24 2020-07-28 中国人民解放军国防科技大学 面向多处理器架构的云计算资源融合调度管理方法、系统及介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104767741A (zh) * 2015-03-24 2015-07-08 杭州安恒信息技术有限公司 一种基于轻型虚拟机的计算服务分离与安全保护系统
US20160306644A1 (en) * 2015-04-14 2016-10-20 Dell Products L.P. Performance optimization of workloads in virtualized information handling systems
CN106681834A (zh) * 2016-12-28 2017-05-17 上海优刻得信息科技有限公司 分布式计算方法、管理装置及系统
CN108170507A (zh) * 2017-12-04 2018-06-15 上海市信息网络有限公司 虚拟应用管理方法/系统、计算机可读存储介质及服务端
CN111124595A (zh) * 2018-11-01 2020-05-08 阿里巴巴集团控股有限公司 一种提供云计算服务的方法及系统
CN113312142A (zh) * 2021-02-26 2021-08-27 阿里巴巴集团控股有限公司 虚拟化处理系统、方法、装置及设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ALIBABA CLOUD DATABASE: "[Dry goods PPT download included] DTCC 2020 | Alibaba Cloud Wang Tao: Alibaba E-commerce Database Cloud Practice", 6 January 2021 (2021-01-06), pages 1 - 17, XP055962253, Retrieved from the Internet <URL:https://developer.aliyun.com/article/781001?spm=a2c6h.14164896.0.0.199748d5AuIC6H> [retrieved on 20220406] *
CLOUD SERVER ECS: "From VMWare to Ali Dragon, 40 Years of Virtualization Technology Evolution", 10 July 2020 (2020-07-10), pages 1 - 18, XP055962251, Retrieved from the Internet <URL:https://developer.aliyun.com/article/767355?spm=a2c6h.14164896.0.0.199748d5AuIC6H> [retrieved on 20220406] *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024087810A1 (zh) * 2022-10-27 2024-05-02 深圳云豹智能有限公司 云数据中心管理系统及电子设备
CN115904717A (zh) * 2022-11-30 2023-04-04 湖南长银五八消费金融股份有限公司 云平台中应用系统部署方法、装置和计算机设备
CN115904717B (zh) * 2022-11-30 2023-11-17 湖南长银五八消费金融股份有限公司 云平台中应用系统部署方法、装置和计算机设备

Also Published As

Publication number Publication date
CN113312142A (zh) 2021-08-27
US20240054006A1 (en) 2024-02-15
CN113312142B (zh) 2023-12-26

Similar Documents

Publication Publication Date Title
WO2022179423A1 (zh) 虚拟化处理系统、方法、装置及设备
US10701139B2 (en) Life cycle management method and apparatus
US10282222B2 (en) Cloud virtual machine defragmentation for hybrid cloud infrastructure
US9984648B2 (en) Delivering GPU resources to a migrating virtual machine
US9225596B2 (en) Undifferentiated service domains
US8776090B2 (en) Method and system for network abstraction and virtualization for a single operating system (OS)
US8832688B2 (en) Kernel bus system with a hyberbus and method therefor
US8725875B2 (en) Native cloud computing via network segmentation
US10579132B2 (en) System and method for performing distributed power management without power cycling hosts
US20140358848A1 (en) Interconnect partition binding api, allocation and management of application-specific partitions
US7984438B2 (en) Virtual machine transitioning from emulating mode to enlightened mode
US20120054740A1 (en) Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments
KR20120068464A (ko) 통합 메모리 서비스를 위한 소프트웨어 구조 및 이 소프트웨어 구조를 이용한 통합 메모리 서비스 제공 방법
WO2023050819A1 (zh) 片上系统、虚拟机任务处理方法及设备、存储介质
WO2022143714A1 (zh) 服务器系统、虚拟机创建方法及装置
US20200244702A1 (en) Processes and systems that translate policies in a distributed computing system using a distributed indexing engine
CN115858103B (zh) 用于开放堆栈架构虚拟机热迁移的方法、设备及介质
CN105468429A (zh) 一种高效虚拟化集群管理方法和集群节点
US11513830B2 (en) Introspection into workloads running within virtual machines
CN106815067B (zh) 带i/o虚拟化的虚拟机在线迁移方法、装置
KR102001641B1 (ko) 가상화 환경에서의 gpu 자원 관리 방법 및 장치
US11360824B2 (en) Customized partitioning of compute instances
US20210157626A1 (en) Prioritizing booting of virtual execution environments
CN111522692B (zh) 一种基于虚拟机的多操作系统输入及输出设备冗余保障系统
US20240036925A1 (en) Lcs sdxi data plane configuration system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22758788

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 18547011

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22758788

Country of ref document: EP

Kind code of ref document: A1