WO2022068753A1 - 服务器系统、容器设置方法及装置 - Google Patents
服务器系统、容器设置方法及装置 Download PDFInfo
- Publication number
- WO2022068753A1 WO2022068753A1 PCT/CN2021/120826 CN2021120826W WO2022068753A1 WO 2022068753 A1 WO2022068753 A1 WO 2022068753A1 CN 2021120826 W CN2021120826 W CN 2021120826W WO 2022068753 A1 WO2022068753 A1 WO 2022068753A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- virtual
- isa
- hardware
- pcie
- host bridge
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
Definitions
- the matching of virtual hardware and security container means that the virtual hardware provides the security container with the hardware capabilities required for the security container to run, and the virtual hardware in the virtual machine is used by the security container when the security container is running. to the virtual hardware. That is, the virtual hardware in the virtual machine does not include virtual hardware that is not used when the secure container runs, that is, does not include redundant devices set up to improve compatibility. Also, the virtual machine includes virtual hardware required for the secure container to run, and the virtual machine is also referred to as a virtual hardware system.
- the virtual hardware includes: one or more virtual bus master bridges, and virtual bus devices arranged on each virtual bus master bridge.
- Virtual PCIe devices may include virtual devices for implementing network transmission, storage, and computing.
- virtual PCIe devices may include: virtual input/output PCIe devices.
- the virtual PCIe device may further include: a PCIe pass-through device of the server system.
- the virtual PCIe device may further include: virtual function input/output PCIe device. When a PCIe pass-through device is inserted into a virtual PCIe slot, the PCIe pass-through device has the characteristics of low latency and high bandwidth, which can effectively ensure the performance of the server system.
- the virtual PCIe device may further include: an access device for the virtual PCIe bus, and the access device for the virtual PCIe bus is used to connect with the virtual PCIe device that needs to be added, so that To expand the scope of application of the safety container.
- the virtual hardware further includes: a virtual ISA host bridge and a virtual ISA device set on the virtual ISA host bridge, and the virtual ISA host bridge and the virtual PCIe host bridge are parallel.
- the virtual hardware includes: a virtual PCI host bridge and a virtual PCI device set on the virtual PCI host bridge.
- FIG. 3 is a schematic structural diagram of a virtual machine that provides virtual hardware to a secure container according to an embodiment of the present application
- FIG. 7 is a schematic structural diagram of a container setting device provided by an embodiment of the present application.
- the cloud management platform 2 is configured to receive the security container creation request input by the tenant, and send the security container creation request to the server system 1 .
- the server system 1 is configured to create a secure container according to the secure container creation request.
- the virtual machine manager 12 runs on the hardware 13 of the server system 1 , and the hardware 13 of the server system 1 also runs a host operating system.
- the virtual machine manager 12 is used for hardware provided by the hardware 13 of the server system 1 , and provides virtual hardware 121 for the virtual machine 11 by adopting a virtualization technology.
- the operating system of the virtual machine is used to identify the virtual hardware in the virtual machine 11 and run based on the virtual hardware in the virtual machine 11 .
- the virtual hardware 121 may also include: a virtual industry standard architecture (ISA) master bridge 1213 and the virtual ISA device set in the virtual ISA host bridge 1213. That is, a virtual bus master bridge using other bus standards can be a virtual ISA master bridge, and a virtual bus device set on the virtual bus master bridge using other bus standards can be a virtual ISA device.
- the virtual ISA host bridge 1213 is parallel to the virtual PCI host bridge 1211 , that is, the virtual ISA host bridge 1213 and the virtual PCI host bridge 1211 work independently.
- the virtual PCI device may further include: an access device using a virtual bus of another bus standard, where the access device is used to connect with a virtual bus device using another bus standard, so that the security container 111 can use the other bus standard transfer data. That is, the access device can be used as a virtual PCI device of the virtual PCI host bridge 1211, and the access device can be connected to a virtual bus device of a virtual bus using other bus standards, so that the secure container 111 can use other bus standards for transmission. data.
- the virtual PCI device may further include: an access device 1215 of the virtual ISA bus, and the access device 1215 of the virtual ISA bus is used to connect with the virtual ISA device.
- the virtual ISA devices may be virtual programmable interval timers 1214a and virtual ISA serial interface devices 1214b.
- the implementation manner of setting the virtual ISA device on the virtual ISA host bridge 1213 includes: a virtual ISA bus is drawn from the virtual ISA host bridge 1213, and the virtual ISA device is connected to the virtual ISA bus. Moreover, one or more virtual ISA slots may be set on the virtual ISA bus, and each virtual ISA slot is connected with a virtual ISA device. Alternatively, the virtual ISA devices may be virtual programmable interval timers and virtual ISA serial interface devices.
- Step 601 Obtain a secure container creation request.
- the topology of the virtual processors is used to indicate one of the total number of virtual processors that the security container needs to use, the total number of virtual cores included in each virtual processor, and the total number of hyperthreads included in each virtual processor. multiple.
- the type of virtual processor is used to indicate the word size and model of the virtual processor, etc.
- the word size of a virtual processor is the number of bits that the virtual processor can process in parallel at a time.
- the virtual memory usage policy is used to dictate how virtual memory is used by multiple virtual processors used by the secure container. For example, the virtual memory usage policy is used to instruct multiple virtual CPUs used by the secure container to use the virtual memory in a non-uniform memory access (NUMA) manner.
- NUMA non-uniform memory access
- Step 6021 Create a virtual processor and virtual memory according to the configuration requirements of the security container carried in the security container creation request.
- the virtual bus master bridge may be configured with a standard hot plug controller interface (standard hot plug controller, SHPC) interface, so as to support hot plugging of virtual bus devices on the virtual bus corresponding to the virtual bus master bridge.
- a standard hot plug controller interface standard hot plug controller, SHPC
- the virtual machine manager can create and initialize the virtual bus device according to the relevant specification parameters of the virtual bus device indicated by the configuration requirement, and then connect the virtual bus device to the virtual bus master bridge, so that the virtual bus master bridge can read the virtual bus device.
- the virtual bus device may also include a virtual bus pass-through device of the server system.
- the virtual bus host bridge is a virtual PCI host bridge
- the virtual PCI devices may include: a virtual input/output PCI device and a virtual function input/output PCI device, wherein the virtual function input/output PCI device is a PCI pass-through device.
- the virtual hardware includes: a virtual PCIe host bridge and a virtual PCIe device set on the virtual PCIe host bridge.
- the virtual PCIe device includes: a PCIe pass-through device.
- the embodiments of the present application also provide a computer program product containing instructions, when the computer program product runs on the computer, the computer program product enables the computer to execute the container setting method provided by the embodiments of the present application.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种服务器系统、容器设置方法及装置,属于云服务技术领域。该服务器系统包括:虚拟机、虚拟机管理器、以及安全容器,安全容器设置于虚拟机内,其中,虚拟机管理器,用于为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配;安全容器,用于使用虚拟机内的虚拟硬件。本申请实现了该虚拟机的轻量化配置,提高了虚拟硬件的安全性。
Description
本申请涉及云服务技术领域,特别涉及一种服务器系统、容器设置方法及装置。
随着云计算技术的不断发展并趋于成熟,云计算产品不断得到企业广泛的认同和使用。同时,由于基于容器的云计算产品具有轻便、灵活、高性能和快速部署等特性,该基于容器的云计算产品也得到长足发展,并被广泛应用。
目前,在虚拟机中实现容器的方案(也称虚拟机容器方案)主要包括:使用基于内核的虚拟机(kernel-based virtual machine,KVM)和虚拟操作系统模拟器(Qemu)的虚拟机容器方案。该方案为了兼容不同类型和版本的操作系统(如Linux操作系统和Windows操作系统等),均需要虚拟机管理器向虚拟机提供大量的虚拟硬件。
但是,这种方案的安全性较低。
发明内容
本申请提供了一种服务器系统、容器设置方法及装置,可以解决在虚拟机中实现容器的方案的安全性较低的问题。
第一方面,本申请提供了一种服务器系统,包括:虚拟机、虚拟机管理器、以及安全容器,安全容器设置于虚拟机内,其中,虚拟机管理器,用于为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配;安全容器,用于使用虚拟机内的虚拟硬件。
其中,虚拟硬件与安全容器匹配是指:虚拟硬件向安全容器提供该安全容器运行所需的硬件能力,且该虚拟机内的虚拟硬件均为在该安全容器运行时,该安全容器均会使用到的虚拟硬件。也即是,该虚拟机内的虚拟硬件不包括该安全容器运行时不会使用到的虚拟硬件,即不包括为提高兼容性而设置的冗余设备。并且,该虚拟机包括安全容器运行所需的虚拟硬件,该虚拟机也称为虚拟硬件系统。
在该服务器系统中,由于虚拟机内的虚拟硬件与安全容器匹配,不包括冗余设备,因此实现了该虚拟机的轻量化配置,减小了虚拟机管理器模拟虚拟硬件的复杂度。并且,相较于相关技术中包括虚拟硬件的虚拟机,减少了虚拟机内包括的虚拟硬件的总数,减小了暴露的虚拟硬件的接口的数量,进而减少了对安全容器进行攻击的攻击面,提高了虚拟硬件的安全性,且减小了模拟虚拟硬件的资源开销。
虚拟硬件包括:一个或多个虚拟总线主桥,及设置在各个虚拟总线主桥的虚拟总线设备。
在一种可实现方式中,虚拟硬件包括:虚拟高速外围组件互联PCIe主桥和设置在虚拟PCIe主桥的虚拟PCIe设备。由于PCIe具有数据传输速率高、抗干扰能力强、传 输距离远和功耗低等优点,当虚拟总线主桥为虚拟PCIe主桥,虚拟总线设备为虚拟PCIe设备时,能够进一步保证该虚拟PCIe主桥和该虚拟PCIe设备的传输速度,提高安全容器的性能。
虚拟PCIe设备可以包括用于实现网络传输、存储和计算的虚拟设备。例如,虚拟PCIe设备可以包括:虚拟输入/输出PCIe设备。并且,虚拟PCIe设备还可以包括:服务器系统的PCIe直通设备。例如,虚拟PCIe设备还可以包括:虚拟功能输入/输出PCIe设备。当虚拟PCIe插槽插入PCIe直通设备时,由于PCIe直通设备具有低延时和高带宽的特点,能够有效保证服务器系统的性能。
并且,当虚拟硬件包括的一个虚拟总线主桥为虚拟PCIe主桥时,该虚拟硬件还可以包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,以便于虚拟机能够为安全容器提供不同传输速率的硬件功能。
可选地,虚拟PCIe设备还包括:虚拟工业标准结构ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
或者,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCIe主桥并行。
另外,若安全容器有对虚拟硬件的增加需求时,该虚拟PCIe设备还可以包括:虚拟PCIe总线的接入设备,该虚拟PCIe总线的接入设备用于与需要增加的虚拟PCIe设备连接,以便于扩大该安全容器的应用范围。
在另一种可实现方式中,虚拟硬件包括:虚拟外围组件互联PCI主桥和设置在虚拟PCI主桥的虚拟PCI设备。由于该虚拟PCI主桥和该虚拟PCI设备均使用PCI标准传输数据,因此能够有效保证该虚拟PCI主桥和该虚拟PCI设备的传输速度。
可选地,虚拟PCI设备可以包括用于实现网络传输、存储和计算的虚拟设备。例如,虚拟PCI设备可以包括:虚拟输入/输出PCI设备。并且,虚拟PCI设备还可以包括:服务器系统的PCI直通设备。例如,虚拟PCI设备还可以包括:虚拟功能输入/输出PCI设备。当虚拟PCI插槽插入PCI直通设备时,由于PCI直通设备具有低延时和高带宽的特点,能够有效保证服务器系统的性能。
并且,当虚拟硬件包括的一个虚拟总线主桥为虚拟PCI主桥时,该虚拟硬件还可以包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,以便于虚拟机能够为安全容器提供不同传输速率的硬件功能。
可选地,虚拟PCI设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
或者,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCI主桥并行。
在本申请中,该安全容器的一种应用场景为:该虚拟机的操作系统为LINUX操作系统。因此,本申请中虚拟机提供的虚拟硬件均为使用LINUX操作系统的安全容器运行所需的虚拟硬件。
第二方面,本申请提供了一种容器设置方法,包括:获取安全容器创建请求;根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配;在虚拟机内创建安全容器,其中,安全容器使用虚拟机内的虚拟硬件。
可选地,虚拟硬件包括:虚拟PCIe主桥和设置在虚拟PCIe主桥的虚拟PCIe设备。
可选地,虚拟PCIe设备包括:PCIe直通设备。
可选地,虚拟PCIe设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCIe主桥并行。
可选地,虚拟硬件包括:虚拟PCI主桥和设置在虚拟PCI主桥的虚拟PCI设备。
可选地,虚拟PCI设备包括:PCI直通设备。
可选地,虚拟PCI设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCI主桥并行。
可选地,虚拟机的操作系统为LINUX操作系统。
第三方面,本申请提供了一种容器设置装置,该容器设置装置包括:获取模块,用于获取安全容器创建请求;处理模块,用于根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配;处理模块,用于在虚拟机内创建安全容器,其中,安全容器使用虚拟机内的虚拟硬件。
可选地,虚拟硬件包括:虚拟PCIe主桥和设置在虚拟PCIe主桥的虚拟PCIe设备。
可选地,虚拟PCIe设备包括:PCIe直通设备。
可选地,虚拟PCIe设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCIe主桥并行。
可选地,虚拟硬件包括:虚拟PCI主桥和设置在虚拟PCI主桥的虚拟PCI设备。
可选地,虚拟PCI设备包括:PCI直通设备。
可选地,虚拟PCI设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCI主桥并行。
可选地,虚拟机的操作系统为LINUX操作系统。
第四方面,提供了一种计算机设备,计算机设备包括:处理器和存储器,存储器中存储有计算机程序;处理器执行计算机程序时,计算机设备实现第二方面提供的方法。
第五方面,提供了一种存储介质,当存储介质中的指令被处理器执行时,实现第二方面提供的方法。
图1是本申请实施例提供的一种服务器系统涉及的实施场景的示意图;
图2是本申请实施例提供的一种服务器系统的结构示意图;
图3是本申请实施例提供的一种向安全容器提供虚拟硬件的虚拟机的结构示意图;
图4是本申请实施例提供的另一种向安全容器提供虚拟硬件的虚拟机的结构示意图;
图5是本申请实施例提供的又一种向安全容器提供虚拟硬件的虚拟机的结构示意图;
图6是本申请实施例提供的一种容器设置方法的流程图;
图7是本申请实施例提供的一种容器设置装置的结构示意图;
图8是本申请实施例提供的一种计算机设备的结构示意图。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供了一种服务器系统、容器设置方法及装置。该服务器系统包括:虚拟机、虚拟机管理器、以及安全容器。该安全容器设置于虚拟机内。并且,虚拟机管理器用于为虚拟机提供虚拟硬件,该虚拟硬件与安全容器匹配。安全容器,用于使用虚拟机内的虚拟硬件。
其中,虚拟硬件与安全容器匹配是指:虚拟硬件向安全容器提供该安全容器运行所需的硬件能力,且该虚拟机内的虚拟硬件均为在该安全容器运行时,该安全容器均会使用到的虚拟硬件。也即是,该虚拟机内的虚拟硬件不包括该安全容器运行时不会使用到的虚拟硬件,例如不包括为提高兼容性而设置的冗余设备。并且,该虚拟机包括安全容器运行所需的虚拟硬件,该虚拟机也称为虚拟硬件系统。
在本申请实施例提供的服务器系统、容器设置方法及装置中,由于虚拟机内的虚拟硬件与安全容器匹配,不包括冗余设备,因此实现了该虚拟机的轻量化配置,减小了虚拟机管理器模拟虚拟硬件的复杂度。并且,相较于相关技术中包括虚拟硬件的虚拟机,减少了虚拟机内包括的虚拟硬件的总数,减小了暴露的虚拟硬件的接口的数量,进而减少了对安全容器进行攻击的攻击面,提高了虚拟硬件的安全性,且减小了模拟虚拟硬件的资源开销。
图1是本申请实施例提供的一种服务器系统涉及的实施场景的示意图。如图1所示,该实施场景包括:部署在云平台P中的服务器系统1和云管理平台2。云平台P中部署有云服务提供商拥有的大量基础资源,云平台P可以利用该基础资源向租户提供云服务。该基础资源可以包括计算资源、存储资源和网络资源等,且该计算资源可以是大量的计算设备(例如服务器)。
云管理平台2用于实现接收租户输入的安全容器创建请求,并将该安全容器创建请求发送至服务器系统1。服务器系统1用于根据该安全容器创建请求创建安全容器。
云管理平台2和服务器系统1可以根据该云平台P中的基础资源实现。在一种可实现方式中,可选的,云管理平台2可以通过在基础资源上通过虚拟机或容器等软件实现,或者,云管理平台2可以通过裸金属服务器等物理服务器(也称主机)实现。服务器系统1可以通过裸金属服务器等物理服务器(也称主机)实现。服务器系统1 可以包括:硬件、依赖硬件部署的虚拟机、虚拟机管理器、以及安全容器等。其中,安全容器设置于虚拟机内。安全容器用于实现租户的业务,为租户提供云服务。其中,租户的业务包括云平台P根据用户的业务需求创建的软件应用业务,例如:语言识别服务、视频审核服务或图像渲染服务等。
下面对本申请实施例提供的服务器系统的实现方式进行说明。如图2所示,该服务器系统1包括:虚拟机(virtual machine,VM)11、虚拟机管理器(virtual machine monitor,VMM)12、以及安全容器(pod)111。该安全容器111设置于虚拟机11内。该虚拟机管理器12用于为虚拟机11提供虚拟硬件121,且虚拟硬件121与安全容器111匹配。该安全容器111用于使用虚拟机11内的虚拟硬件。
安全容器111用于实现租户的业务。如图2所示,安全容器111设置于虚拟机11内,通过虚拟机11能够实现安全容器111之间的隔离,保证了不同租户之间的数据的安全性。其中,该图2为一个虚拟机11包括两个安全容器111的示意图。
如图2所示,虚拟机管理器12运行在服务器系统1的硬件13上,且该服务器系统1的硬件13上还运行有主机操作系统。该虚拟机管理器12用于基于服务器系统1的硬件13提供的硬件,采用虚拟化技术为虚拟机11提供虚拟硬件121。虚拟机的操作系统用于识别虚拟机11内的虚拟硬件,并基于虚拟机11内的虚拟硬件运行。
其中,虚拟机11可以根据虚拟机管理器12为该虚拟机11提供的虚拟硬件121,为安全容器111在虚拟出虚拟硬件,该虚拟机11为安全容器111虚拟出的虚拟硬件即为虚拟机11内的虚拟硬件(图2中未示出虚拟机11内的虚拟硬件)。例如,当虚拟机11内设置有两个安全容器111时,虚拟机管理器12可以为该虚拟机11提供的虚拟网卡,虚拟机11可以根据该虚拟网卡分别为该两个安全容器111虚拟出各自能够使用的虚拟网卡,该由虚拟机11虚拟出的虚拟网卡即为虚拟机内的虚拟硬件,安全容器111用于基于该虚拟机内的虚拟硬件运行。
可选地,为保证虚拟硬件121能够提供安全容器111运行所需的硬件能力,虚拟硬件121可以包括虚拟的磁盘、网卡和计算卡等虚拟设备,这些虚拟设备为安全容器111内安全容器111提供存储、网络和计算等服务。
其中,为保证安全容器111运行,如图3所示,虚拟机管理器12向虚拟机11提供的虚拟硬件121至少包括:虚拟处理器1216(如虚拟中央处理器(central processing unit,CPU))、虚拟内存1217(如虚拟动态随机存取内存(dynamic random access memory,DRAM))、虚拟中断控制器1218(如虚拟高级可编程中断控制器(advanced programmable interrupt controller,APIC))、虚拟时钟1219(clock,如KVM时钟)。
并且,该虚拟硬件121还包括:一个或多个虚拟总线主桥,及设置在各个虚拟总线主桥的虚拟总线设备。其中,虚拟总线主桥及设置在虚拟总线主桥的虚拟总线设备传输数据使用的总线标准,可以根据安全容器111的需求确定,本申请实施例以以下两种可实现方式进行说明。
在一种可实现方式中,如图3所示,该虚拟总线主桥可以包括虚拟外围组件互联(peripheral component interconnect,PCI)主桥1211。当该虚拟总线主桥为虚拟PCI主桥1211时,设置在该虚拟总线主桥上的虚拟总线设备为虚拟PCI设备。由于该虚拟 PCI主桥1211和该虚拟PCI设备均使用PCI标准传输数据,因此能够有效保证该虚拟PCI主桥1211和该虚拟PCI设备的传输速度。
其中,虚拟PCI设备设置在虚拟PCI主桥1211上的实现方式包括:虚拟PCI主桥1211上引出有虚拟PCI总线,虚拟PCI设备与该虚拟PCI总线连接。并且,该虚拟PCI总线上可以设置有一个或多个虚拟PCI插槽,每个虚拟PCI插槽与一个虚拟PCI设备连接。
虚拟机的操作系统能够通过虚拟PCI主桥1211读取虚拟PCI设备的配置空间,并对虚拟PCI设备进行枚举和使能,以便于安全容器111能够使用虚拟PCI设备。并且,根据PCI规范的规定,即虚拟PCI设备的配置空间包括:地址范围为0x00~0x3F的前64个字节的必选配置空间和地址范围为0x40~0xFF的可选配置空间。而在本申请实施例中,由于虚拟机11向安全容器111提供的虚拟硬件121与安全容器111匹配,实现了该虚拟机11的轻量化配置,因此,本申请实施例提供的虚拟PCI设备的配置空间为地址范围为0x00~0x3F的前64个字节的必选配置空间。
可选地,虚拟PCI设备可以包括用于实现网络传输、存储和计算的虚拟设备。例如,如图3所示,虚拟PCI设备可以包括:虚拟输入/输出(virtio input/output,virtio I/O)PCI设备1212a。并且,虚拟PCI设备还可以包括:服务器系统的PCI直通设备。例如,如图3所示虚拟PCI设备还可以包括:虚拟功能输入/输出(virtual function input/output,VFIO)PCI设备1212b。当虚拟PCI插槽插入PCI直通设备时,由于PCI直通设备具有低延时和高带宽的特点,能够有效保证服务器系统的性能。
并且,当虚拟硬件121包括的一个虚拟总线主桥为虚拟PCI主桥1211时,该虚拟硬件121还可以包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,以便于虚拟机11能够为安全容器111提供不同传输速率的硬件功能。
可选地,如图4所示,当虚拟硬件121包括的一个虚拟总线主桥为虚拟PCI主桥1211时,该虚拟硬件121还可以包括:虚拟工业标准结构(industry standard architecture,ISA)主桥1213和设置在虚拟ISA主桥1213的虚拟ISA设备。即使用其他总线标准的虚拟总线主桥可以为虚拟ISA主桥,设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备可以为虚拟ISA设备。该虚拟ISA主桥1213与虚拟PCI主桥1211并行,即该虚拟ISA主桥1213与虚拟PCI主桥1211独立工作。
其中,虚拟ISA设备设置在虚拟ISA主桥1213上的实现方式包括:虚拟ISA主桥1213上引出有虚拟ISA总线,虚拟ISA设备与该虚拟ISA总线连接。并且,该虚拟ISA总线上可以设置有一个或多个虚拟ISA插槽,每个虚拟ISA插槽与一个虚拟ISA设备连接。可选地,如图4所示,虚拟ISA设备可以为虚拟可编程间隔定时器(programmable interval timer,PTI)1214a和虚拟ISA串行接口(serial port,又称“串口”)设备1214b。
需要说明的是,虚拟机11为安全容器111提供不同传输速率的硬件功能的实现方式,不限于该虚拟硬件121还包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,还可以通过其他实现方式实现。
示例地,虚拟PCI设备还可以包括:使用其他总线标准的虚拟总线的接入设备, 该接入设备用于与使用其他总线标准的虚拟总线设备连接,以便于安全容器111能够使用该其他总线标准传输数据。也即是,该接入设备可以作为虚拟PCI主桥1211的虚拟PCI设备,且该接入设备可以与使用其他总线标准的虚拟总线的虚拟总线设备连接,以便于安全容器111使用其他总线标准传输数据。例如,如图5所示,虚拟PCI设备还可以包括:虚拟ISA总线的接入设备1215,该虚拟ISA总线的接入设备1215用于与虚拟ISA设备连接。可选地,如图5所示,虚拟ISA设备可以为虚拟可编程间隔定时器1214a和虚拟ISA串行接口设备1214b。
另外,若安全容器111有对虚拟硬件121的增加需求时,该虚拟PCI设备还可以包括:虚拟PCI总线的接入设备,该虚拟PCI总线的接入设备用于与需要增加的虚拟PCI设备连接,以便于扩大该安全容器111的应用范围。
在另一种可实现方式中,该虚拟总线主桥可以包括虚拟高速外围组件互联(peripheral component interconnect express,PCIe)主桥。当该虚拟总线主桥为虚拟PCIe主桥时,设置在该虚拟总线主桥上的虚拟总线设置为虚拟PCIe设备。该虚拟PCIe主桥和该虚拟PCIe设备均使用PCIe标准传输数据,由于PCIe具有数据传输速率高、抗干扰能力强、传输距离远和功耗低等优点,当虚拟总线主桥为虚拟PCIe主桥,虚拟总线设备为虚拟PCIe设备时,能够进一步保证该虚拟PCIe主桥和该虚拟PCIe设备的传输速度,提高安全容器111的性能。
其中,虚拟PCIe设备设置在虚拟PCIe主桥上的实现方式包括:虚拟PCIe主桥上引出有虚拟PCIe总线,虚拟PCIe设备与该虚拟PCIe总线连接。并且,该虚拟PCIe总线上可以设置有一个或多个虚拟PCIe插槽,每个虚拟PCIe插槽与一个虚拟PCIe设备连接。
虚拟机的操作系统能够通过虚拟PCIe主桥读取虚拟PCIe设备的配置空间,并对虚拟PCIe设备进行枚举和使能,以便于安全容器111能够使用虚拟PCIe设备。并且,虚拟PCIe设备的配置在虚拟PCI设备的配置空间的基础上,新增了内存映射输入/输出(memory mapped input/output,MMIO)功能,以提高虚拟机的操作系统对虚拟PCIe设备读写性能。MMIO功能是指将虚拟PCIe设备的配置空间映射到内存地址空间中,虚拟机的操作系统可以通过对内存地址空间进行访问,实现对配置空间与该内存地址空间存在映射关系的虚拟PCIe设备的访问。
可选地,虚拟PCIe设备可以包括用于实现网络传输、存储和计算的虚拟设备。例如,虚拟PCIe设备可以包括:虚拟输入/输出PCIe设备。并且,虚拟PCIe设备还可以包括:服务器系统的PCIe直通设备。例如,虚拟PCIe设备还可以包括:虚拟功能输入/输出PCIe设备。当虚拟PCIe插槽插入PCIe直通设备时,由于PCIe直通设备具有低延时和高带宽的特点,能够有效保证服务器系统的性能。
并且,当虚拟硬件121包括的一个虚拟总线主桥为虚拟PCIe主桥时,该虚拟硬件121还可以包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,以便于虚拟机11能够为安全容器111提供不同传输速率的硬件功能。
可选地,当虚拟硬件121包括的一个虚拟总线主桥为虚拟PCIe主桥时,该虚拟硬件121还可以包括:虚拟ISA主桥1213和设置在虚拟ISA主桥1213的虚拟ISA设备。 即使用其他总线标准的虚拟总线主桥可以为ISA主桥,设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备可以为虚拟ISA设备。该虚拟ISA主桥1213与虚拟PCIe主桥并行,即该虚拟ISA主桥1213与虚拟PCIe主桥独立工作。
其中,虚拟ISA设备设置在虚拟ISA主桥1213上的实现方式包括:虚拟ISA主桥1213上引出有虚拟ISA总线,虚拟ISA设备与该虚拟ISA总线连接。并且,该虚拟ISA总线上可以设置有一个或多个虚拟ISA插槽,每个虚拟ISA插槽与一个虚拟ISA设备连接。可选地,虚拟ISA设备可以为虚拟可编程间隔定时器和虚拟ISA串行接口设备。
需要说明的是,虚拟机11为安全容器111提供不同传输速率的硬件功能的实现方式,不限于该虚拟硬件121还包括使用其他总线标准的虚拟总线主桥和设置在该使用其他总线标准的虚拟总线主桥的虚拟总线设备,还可以通过其他实现方式实现。
示例地,虚拟PCIe设备还可以包括:使用其他总线标准的虚拟总线的接入设备,该接入设备用于与使用其他总线标准的虚拟总线设备连接,以便于安全容器111能够使用该其他总线标准传输数据。例如,虚拟PCIe设备还可以包括:虚拟ISA总线的接入设备1215,该虚拟ISA总线的接入设备1215用于与虚拟ISA设备连接。
另外,若安全容器111有对虚拟硬件121的增加需求时,该虚拟PCIe设备还可以包括:虚拟PCIe总线的接入设备,该虚拟PCIe总线的接入设备用于与需要增加的虚拟PCIe设备连接,以便于扩大该安全容器111的应用范围。
在本申请实施例中,该安全容器111的一种应用场景为:该虚拟机的操作系统为LINUX操作系统。因此,本申请实施例中虚拟机11提供的虚拟硬件121均为使用LINUX操作系统的安全容器111运行所需的虚拟硬件121。
例如,当虚拟总线主桥为虚拟PCI主桥1211时,本申请实施例中虚拟机11提供的虚拟硬件121可以包括:虚拟中央处理器、虚拟动态随机存取内存、虚拟高级可编程中断控制器、虚拟KVM时钟、virtio I/O PCI设备、VFIO PCI设备和虚拟间隔定时器。
又例如,虚拟总线主桥分别为虚拟PCI主桥和虚拟ISA主桥时,本申请实施例中虚拟机提供的虚拟硬件可以包括:虚拟中央处理器、虚拟动态随机存取内存、虚拟高级可编程中断控制器、虚拟KVM时钟、设置在虚拟PCI主桥上的virtio I/O PCI设备和VFIO PCI设备、及设置在虚拟ISA主桥上的虚拟可编程间隔定时器。甚至,本申请实施例中虚拟机提供的虚拟硬件还可以包括:设置在虚拟ISA主桥上的虚拟ISA串行接口设备。
而在相关技术中,虚拟机容器方案通常包括大量的虚拟硬件。以基于KVM和Qemu的虚拟机容器方案为例,该基于KVM和Qemu的虚拟机容器方案包括:虚拟高级配置与电源接口(advanced configuration and power interface、ACPI)、虚拟通用串行总线(universal serial bus,USB)控制器、虚拟电源模块(power module,PM)、虚拟集成驱动电子设备(integrated drive electronics,IDE)、通过集成驱动电子设备连接的虚拟磁盘(disk)、通过集成驱动电子设备连接的虚拟光盘(compact disk,CD)、虚拟可编程中断控制器(programmable interrupt controller,PIC)、虚拟ISA软盘驱动器控制装置(floppy disk controller,FDC)和虚拟鼠标(mouse)等大量的虚拟硬件。
由此可以看出,在本申请实施例提供的服务器系统中,由于虚拟机内的虚拟硬件与安全容器匹配,不包括虚拟高级配置与电源接口、虚拟USB控制器、虚拟电源模块、虚拟集成驱动电子设备、通过集成驱动电子设备连接的虚拟磁盘、通过集成驱动电子设备连接的虚拟光盘、虚拟可编程中断控制器、虚拟ISA软盘驱动器控制装置和虚拟鼠标等冗余设备,因此相较于相关技术,实现了该虚拟机的轻量化配置,减小了虚拟机管理器模拟虚拟硬件的复杂度。并且,相较于相关技术,由于减少虚拟机内包括的虚拟硬件的总数,减小了暴露的虚拟硬件的接口的数量,减少了对安全容器进行攻击的攻击面,提高了虚拟硬件的安全性,且减小了模拟虚拟硬件的资源开销,如减小了主机内存的开销。
下面对本申请实施例提供的容器设置方法的实现过程进行说明。该容器设置方法可以由本申请实施例提供的服务器系统执行。在一种可实现方式中,该容器设置方法可以有该服务器系统中的虚拟机管理器执行。如图6所示,该容器设置方法的实现过程可以包括以下步骤:
步骤601、获取安全容器创建请求。
在租户需要使用安全容器实现业务时,租户可以在终端上操作,该操作会触发用于请求创建安全容器的安全容器创建请求,租户使用的终端可以向云管理平台发送该安全容器创建请求,云管理平台可以向服务器系统发送该安全容器创建请求。
可选地,安全容器创建请求中可以携带有安全容器的配置需求。该安全容器的配置需求用于指示请求创建的安全容器的规格。并且,由于安全容器需要基于虚拟机提供的虚拟硬件运行,因此配置需求指示的可以是安全容器运行所需的虚拟硬件的规格。例如,配置需求指示的虚拟硬件的规格可以包括:虚拟处理器的总数、虚拟处理器的拓扑结构、虚拟处理器的类型、虚拟内存的数量、虚拟内存的使用策略、虚拟内存插槽的设置方式、虚拟总线设备的总数、虚拟总线设备的规格、虚拟机的操作系统的镜像文件的存放路径、安全容器用于实现业务的应用程序的镜像文件的存放路径、虚拟机的操作系统的初始化参数的配置信息等规格参数。
其中,虚拟处理器的拓扑结构用于指示安全容器需要使用的虚拟处理器的总数、每个虚拟处理器包括的虚拟内核的总数、及每个虚拟处理器包括的超线程的总数中的一个或多个。虚拟处理器的类型用于指示该虚拟处理的字长和型号等。虚拟处理器的字长是虚拟处理器一次能并行处理的二进制位数。虚拟内存的使用策略用于指示安全容器使用的多个虚拟处理器使用虚拟内存的方式。例如,该虚拟内存的使用策略用于指示安全容器使用的多个虚拟CPU按照非统一内存访问(non uniform memory access,NUMA)方式使用虚拟内存。虚拟总线设备的规格用于指示虚拟总线设备的配置规格。例如,当虚拟总线设备为虚拟网卡时,该虚拟网卡的规格指示该虚拟网卡的队列的描述信息和媒体访问控制(media access control,MAC)地址等信息。当虚拟总线设备为虚拟磁盘时,该虚拟磁盘的规格指示该虚拟磁盘的容量等信息。虚拟机的操作系统的镜像文件用于记载操作系统与虚拟硬件之间进行交互的相关信息。安全容器用于实现业务的应用程序的镜像文件用于记载在虚拟机的操作系统的基础上运行的用于实现业务的应用程序与该虚拟机的操作系统之间进行交互的相关信息。例如,当虚拟机的 操作系统为LINUX系统时,虚拟机的操作系统的镜像文件可以为kernel镜像文件,安全容器用于实现业务的应用程序的镜像文件可以为initrd镜像文件。
并且,由于创建安全容器和向安全容器提供虚拟硬件的虚拟的操作由虚拟机管理器执行,服务器系统接收安全容器创建请求实际可以为虚拟机管理器接收安全容器创建请求。可选地,向虚拟机管理器传递该安全容器创建请求的实现方式可以根据应用需求确定。例如,可以通过命令行、配置文件或通信通道向虚拟机管理器传递该安全容器的配置需求。
步骤602、根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配。
虚拟机管理器获取安全容器创建请求后,可以根据该安全容器创建请求创建虚拟机,并为该虚拟机提供虚拟硬件,以便于在该虚拟机内创建安全容器,并使安全容器使用虚拟机内的虚拟硬件。可选地,虚拟机管理器根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件的实现过程,可以包括以下几个步骤:
步骤6021、根据安全容器创建请求携带的安全容器的配置需求,创建虚拟处理器和虚拟内存。
虚拟机管理器可以根据配置需求指示的虚拟处理器的总数、虚拟处理器的拓扑结构、虚拟处理器的类型、虚拟内存的数量、虚拟内存的使用策略和虚拟内存插槽的设置方式等与虚拟处理器和虚拟内存相关的规格参数,创建虚拟处理器和虚拟内存。
步骤6022、根据安全容器创建请求携带的安全容器的配置需求,创建并初始化虚拟总线主桥。
虚拟机管理器可以根据配置需求指示的虚拟总线设备相关的规格参数,创建虚拟总线主桥,并对虚拟总线主桥进行初始化。例如,当该配置需求指示虚拟总线设备包括虚拟PCI设备时,说明虚拟机需要向安全容器提供虚拟PCI主桥,则虚拟机管理器可以创建虚拟PCI主桥。或者,当该配置需求指示虚拟总线设备包括虚拟PCIe设备时,说明虚拟机需要向安全容器提供虚拟PCIe主桥,则虚拟机管理器可以创建虚拟PCIe主桥。
并且,当该配置需求指示虚拟总线设备还包括使用其他总线标准的虚拟总线设备时,说明虚拟机还需要向安全容器提供使用其他总线标准的总线的硬件能力。可选地,该虚拟机提供使用其他总线标准的总线的硬件能力的实现方式至少可以包括以下两种:
在第一种可实现方式中,虚拟总线设备还可以包括:使用其他总线标准的虚拟总线的接入设备,该接入设备用于与该使用其他总线标准的虚拟总线设备连接。例如,当配置需求指示虚拟总线设备还包括虚拟ISA设备时,说明虚拟机还需要向安全容器提供ISA总线的硬件能力。此时,虚拟机管理系统可以创建虚拟ISA总线的接入设备,该虚拟ISA总线的接入设备用于与虚拟ISA设备连接,以便于安全容器使用ISA总线标准传输数据。
在第二种可实现方式中,虚拟硬件还包括:使用其他总线标准的虚拟总线主桥。例如,当配置需求指示虚拟总线设备还包括虚拟ISA设备时,说明虚拟机还需要向安全容器提供ISA总线的硬件能力。此时,虚拟机管理器还可以创建虚拟ISA主桥,且为避免该虚拟ISA主桥与虚拟机管理器创建的其他虚拟总线主桥之间互相影响,该虚 拟ISA主桥与虚拟机管理器创建的其他虚拟总线主桥以并行方式设置。
其中,该虚拟机管理器创建的虚拟总线主桥的实现方式,请相应参考前述服务器系统实施例中的相应描述,此处不再赘述。
另外,虚拟总线主桥上可以配置有标准热插拔控制器接口(standard hot plug controller,SHPC)接口,以便支持在虚拟总线主桥对应的虚拟总线上热插拔虚拟总线设备。
步骤6023、创建并初始化虚拟系统硬件。
虚拟系统硬件为所有安全容器运行均需要的虚拟硬件,即是虚拟机中默认集成的设备。虚拟机管理器需要创建并初始化该虚拟系统硬件,并按照各个虚拟系统硬件的规范模拟对应的寄存器和接口,以供安全容器使用。可选地,虚拟系统硬件可以包括:虚拟中断控制器、虚拟时钟和虚拟间隔定时器。例如,虚拟中断控制器可以为虚拟高级可编程中断控制器,虚拟时钟可以为KVM时钟,虚拟间隔定时器可以为虚拟可编程间隔定时器。
步骤6024、根据安全容器创建请求携带的安全容器的配置需求,创建并初始化虚拟总线设备,并将虚拟总线设备与虚拟总线主桥连接。
虚拟机管理器可以根据配置需求指示的虚拟总线设备相关的规格参数,创建并初始化虚拟总线设备,然后将虚拟总线设备与虚拟总线主桥连接,以便于虚拟总线主桥能够读取虚拟总线设备。并且,该虚拟总线设备还可以包括服务器系统的虚拟总线直通设备。示例地,当虚拟总线主桥为虚拟PCI主桥时,虚拟PCI设备可以包括:虚拟输入/输出PCI设备和虚拟功能输入/输出PCI设备,其中,虚拟功能输入/输出PCI设备为PCI直通设备。当虚拟总线主桥为虚拟PCIe主桥时,虚拟PCIe设备可以包括:虚拟输入/输出PCIe设备和虚拟功能输入/输出PCIe设备,其中,虚拟功能输入/输出PCIe设备为PCIe直通设备。当虚拟机向安全容器提供了ISA总线标准的虚拟硬件能力时,虚拟ISA设备可以为虚拟可编程间隔定时器和ISA串行接口设备。当虚拟总线设备包括虚拟总线直通设备时,由于虚拟总线直通设备具有低延时和高带宽的特点,能够有效保证服务器系统的性能。
并且,当安全容器有对虚拟硬件的增加需求时,该虚拟总线设备还可以包括:虚拟总线的接入设备,该虚拟总线的接入设备用于与需要增加的虚拟总线设备连接,以便于扩大该安全容器的应用范围。例如,若安全容器有对虚拟硬件的增加需求时,虚拟PCI设备还可以包括:虚拟PCI总线的接入设备,该虚拟PCI总线的接入设备用于与需要增加的虚拟PCI设备连接,以便于扩大该安全容器的应用范围。
步骤603、在虚拟机内创建安全容器,其中安全容器使用虚拟机内的虚拟硬件。
虚拟机管理器完成虚拟机的创建后,可以在该虚拟机内创建安全容器,该安全容器使用该虚拟机内的虚拟硬件。可选地,该步骤603的实现过程包括:虚拟机根据安全容器创建请求携带的安全容器的配置需求,读取虚拟机的操作系统的镜像文件,将该虚拟机的操作系统的镜像文件加载到虚拟内存的地址空间中。且若虚拟机管理器还存储了安全容器用于实现业务的应用程序的镜像文件,则将该安全容器用于实现业务的应用程序的镜像文件也加载到虚拟内存的地址空间中。在加载过程中,虚拟机需要获取加载的镜像文件中用于实现镜像文件的功能的函数的主函数的入口,并将加载的 镜像文件的启动参数也写入至虚拟内存的地址空间中。并且,虚拟机需要配置虚拟机的操作系统启动时的初始化上下文环境,然后将虚拟机的虚拟处理器和虚拟内存的配置信息传递至用于运行虚拟机的操作系统的内核中,使得该内核根据该配置信息对虚拟机的操作系统进行配置。然后运行虚拟机中的虚拟处理器,使虚拟处理器根据镜像文件的启动参数执行镜像文件中的主函数,以对虚拟机的操作系统进行初始化。其中,若需要被加载的镜像文件是压缩文件,则需要对被压缩的镜像文件解压后再加载,若需要被加载的镜像文件不是压缩文件,则直接加载。可选地,可以将虚拟机的虚拟处理器和虚拟内存的配置信息写入MPTable和XEN PVH启动参数等数据结构中,以将虚拟机的虚拟处理器和虚拟内存的配置信息传递至用于运行虚拟机的操作系统的内核中。其中,虚拟机的操作系统可以为LINUX操作系统。
在对虚拟机的操作系统进行初始化后,即完成了该安全容器的创建过程。在创建安全容器后,就可将安全容器投入使用。在安全容器的运行过程中,虚拟机可以监视虚拟机的操作系统的PIO事件、MMIO事件和异常退出事件等事件,并对这些事件进行处理,以实现租户的服务。
综上所述,在本申请实施例提供的容器设置方法中,由于设置的虚拟机内的虚拟硬件与设置的安全容器匹配,不包括高级配置与电源接口、USB控制器、电源模块、集成驱动电子设备、通过集成驱动电子设备连接的磁盘、通过集成驱动电子设备连接的光盘、可编程中断控制器、ISA软盘驱动器控制装置和鼠标等冗余设备,因此相较于相关技术,实现了该虚拟机的轻量化配置,减小了虚拟机管理器模拟虚拟硬件的复杂度。并且,相较于相关技术,由于减少虚拟机内包括的虚拟硬件的总数,减小了暴露的虚拟硬件的接口的数量,减少了对安全容器进行攻击的攻击面,提高了虚拟硬件的安全性,且减小了模拟虚拟硬件的资源开销,如减小了主机内存的开销。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的容器设置方法中涉及的服务器系统中的组件的实现方式和具体工作过程,可以参考前述服务器系统实施例中的对应内容,在此不再赘述。
需要说明的是,本申请实施例提供的容器设置方法的步骤先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
本申请实施例还提供了一种容器设置装置。如图7所示,该容器设置装置70包括:
获取模块701,用于获取安全容器创建请求。
处理模块702,用于根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配。
处理模块702,用于在虚拟机内创建安全容器,其中,安全容器使用虚拟机内的虚拟硬件。
可选地,虚拟硬件包括:虚拟PCIe主桥和设置在虚拟PCIe主桥的虚拟PCIe设备。
可选地,虚拟PCIe设备包括:PCIe直通设备。
可选地,虚拟PCIe设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接 入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCIe主桥并行。
可选地,虚拟硬件包括:虚拟PCI主桥和设置在虚拟PCI主桥的虚拟PCI设备。
可选地,虚拟PCI设备包括:PCI直通设备。
可选地,虚拟PCI设备还包括:虚拟ISA总线的接入设备,虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
可选地,虚拟硬件还包括:虚拟ISA主桥和设置在虚拟ISA主桥的虚拟ISA设备,虚拟ISA主桥与虚拟PCI主桥并行。
可选地,虚拟机的操作系统为LINUX操作系统。
综上所述,在本申请实施例提供的容器设置装置中,由于设置的虚拟机内的虚拟硬件与设置的安全容器匹配,不包括高级配置与电源接口、USB控制器、电源模块、集成驱动电子设备、通过集成驱动电子设备连接的磁盘、通过集成驱动电子设备连接的光盘、可编程中断控制器、ISA软盘驱动器控制装置和鼠标等冗余设备,因此相较于相关技术,实现了该虚拟机的轻量化配置,减小了虚拟机管理器模拟虚拟硬件的复杂度。并且,相较于相关技术,由于减少虚拟机内包括的虚拟硬件的总数,减小了暴露的虚拟硬件的接口的数量,减少了对安全容器进行攻击的攻击面,提高了虚拟硬件的安全性,且减小了模拟虚拟硬件的资源开销,如减小了主机内存的开销。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述实施例中的对应内容,在此不再赘述。
本申请实施例提供了一种计算机设备。图8示例性的提供了计算机设备的一种可能的架构图。如图8所示,该计算机设备80可以包括处理器801、存储器802、通信接口803和总线804。在计算机设备中,处理器801的数量可以是一个或多个,图8仅示意了其中一个处理器801。可选的,处理器801可以是中央处理器(Central Processing Unit,CPU)。若计算机设备具有多个处理器801,多个处理器801的类型可以不同,或者可以相同。可选的,计算机设备的多个处理器还可以集成为多核处理器。
存储器802存储计算机指令和数据,存储器802可以存储实现本申请提供的容器设置方法所需的计算机指令和数据。存储器802可以是以下存储介质的任一种或任一种组合:非易失性存储器(如只读存储器(Read-Only Memory,ROM)、固态硬盘(Solid State Disk,SSD)、硬盘(Hard Disk Drive,HDD)、光盘等、易失性存储器。
通信接口803可以是以下器件的任一种或任一种组合:网络接口(如以太网接口)、无线网卡等具有网络接入功能的器件。通信接口803用于计算机设备与其他节点或者其他计算机设备进行数据通信。
图8还示例性地绘制出总线804。总线804可以将处理器801与存储器802、通信接口803连接。这样,通过总线804,处理器801可以访问存储器802,还可以利用通信接口803与其他节点或者其他计算机设备进行数据交互。
在本申请中,计算机设备执行存储器802中的计算机指令,可以实现本申请实施 例提供的容器设置方法。例如,获取安全容器创建请求;根据安全容器创建请求创建虚拟机,并为虚拟机提供虚拟硬件,其中,虚拟硬件与安全容器匹配;在虚拟机内创建安全容器,其中,安全容器使用虚拟机内的虚拟硬件。并且,计算机设备通过执行存储器802中的计算机指令,执行计算机设备的步骤的实现过程可以相应参考上述方法实施例中对应的描述。
本申请实施例还提供了一种存储介质,该存储介质为非易失性计算机可读存储介质,当存储介质中的指令被处理器执行时,实现如本申请实施例提供的容器设置方法。
本申请实施例还提供了一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行本申请实施例提供的容器设置方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本申请实施例中,术语“第一”、“第二”和“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。术语“至少一个”是指一个或多个,术语“多个”指两个或两个以上,除非另有明确的限定。
本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的构思和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (22)
- 一种服务器系统,其特征在于,包括:虚拟机、虚拟机管理器、以及安全容器,所述安全容器设置于所述虚拟机内,其中,所述虚拟机管理器,用于为所述虚拟机提供虚拟硬件,其中,所述虚拟硬件与所述安全容器匹配;所述安全容器,用于使用所述虚拟机内的虚拟硬件。
- 根据权利要求1所述的系统,其特征在于,所述虚拟硬件包括:虚拟高速外围组件互联PCIe主桥和设置在所述虚拟PCIe主桥的虚拟PCIe设备。
- 根据权利要求2所述的系统,其特征在于,所述虚拟PCIe设备包括:所述服务器系统的PCIe直通设备。
- 根据权利要求3所述的系统,其特征在于,所述虚拟PCIe设备还包括:虚拟工业标准结构ISA总线的接入设备,所述虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
- 根据权利要求2或3所述的系统,其特征在于,所述虚拟硬件还包括:虚拟ISA主桥和设置在所述虚拟ISA主桥的虚拟ISA设备,所述虚拟ISA主桥与所述虚拟PCIe主桥并行。
- 根据权利要求1所述的系统,其特征在于,所述虚拟硬件包括:虚拟外围组件互联PCI主桥和设置在所述虚拟PCI主桥的虚拟PCI设备。
- 根据权利要求6所述的系统,其特征在于,所述虚拟PCI设备包括:所述服务器系统的PCI直通设备。
- 根据权利要求7所述的系统,其特征在于,所述虚拟PCI设备还包括:虚拟ISA总线的接入设备,所述虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
- 根据权利要求6或7所述的系统,其特征在于,所述虚拟硬件还包括:虚拟ISA主桥和设置在所述虚拟ISA主桥的虚拟ISA设备,所述虚拟ISA主桥与所述虚拟PCI主桥并行。
- 根据权利要求1至9任一所述的系统,其特征在于,所述虚拟机的操作系统为LINUX操作系统。
- 一种容器设置方法,其特征在于,包括:获取安全容器创建请求;根据所述安全容器创建请求创建虚拟机,并为所述虚拟机提供虚拟硬件,其中,所述虚拟硬件与所述安全容器匹配;在所述虚拟机内创建所述安全容器,其中,所述安全容器使用所述虚拟机内的虚拟硬件。
- 根据权利要求11所述的方法,其特征在于,所述虚拟硬件包括:虚拟PCIe主桥和设置在所述虚拟PCIe主桥的虚拟PCIe设备。
- 根据权利要求12所述的方法,其特征在于,所述虚拟PCIe设备包括:PCIe直通设备。
- 根据权利要求13所述的方法,其特征在于,所述虚拟PCIe设备还包括:虚拟ISA总线的接入设备,所述虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
- 根据权利要求12或13所述的方法,其特征在于,所述虚拟硬件还包括:虚拟ISA主桥和设置在所述虚拟ISA主桥的虚拟ISA设备,所述虚拟ISA主桥与所述虚拟PCIe主桥并行。
- 一种容器设置装置,其特征在于,包括:获取模块,用于获取安全容器创建请求;处理模块,用于根据所述安全容器创建请求创建虚拟机,并为所述虚拟机提供虚拟硬件,其中,所述虚拟硬件与所述安全容器匹配;所述处理模块,用于在所述虚拟机内创建所述安全容器,其中,所述安全容器使用所述虚拟机内的虚拟硬件。
- 根据权利要求16所述的装置,其特征在于,所述虚拟硬件包括:虚拟PCIe主桥和设置在所述虚拟PCIe主桥的虚拟PCIe设备。
- 根据权利要求17所述的装置,其特征在于,所述虚拟PCIe设备包括:PCIe直通设备。
- 根据权利要求18所述的装置,其特征在于,所述虚拟PCIe设备还包括:虚拟ISA总线的接入设备,所述虚拟ISA总线的接入设备用于与虚拟ISA设备连接。
- 根据权利要求17或18所述的装置,其特征在于,所述虚拟硬件还包括:虚拟ISA主桥和设置在所述虚拟ISA主桥的虚拟ISA设备,所述虚拟ISA主桥与所述虚拟PCIe主桥并行。
- 一种计算机设备,其特征在于,所述计算机设备包括:处理器和存储器,所述存储器中存储有计算机程序;所述处理器执行计算机程序时,所述计算机设备实现权利要求11至15任一所述的方法。
- 一种存储介质,其特征在于,当所述存储介质中的指令被处理器执行时,实现权利要求11至15任一所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011063093.4A CN114327741A (zh) | 2020-09-30 | 2020-09-30 | 服务器系统、容器设置方法及装置 |
CN202011063093.4 | 2020-09-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2022068753A1 true WO2022068753A1 (zh) | 2022-04-07 |
Family
ID=80949686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2021/120826 WO2022068753A1 (zh) | 2020-09-30 | 2021-09-27 | 服务器系统、容器设置方法及装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114327741A (zh) |
WO (1) | WO2022068753A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205461A (zh) * | 2016-12-19 | 2018-06-26 | 华耀(中国)科技有限公司 | 一种混合部署的虚拟化平台及部署方法 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
US20200073692A1 (en) * | 2018-08-30 | 2020-03-05 | Juniper Networks, Inc. | Multiple virtual network interface support for virtual execution elements |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 |
-
2020
- 2020-09-30 CN CN202011063093.4A patent/CN114327741A/zh active Pending
-
2021
- 2021-09-27 WO PCT/CN2021/120826 patent/WO2022068753A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108205461A (zh) * | 2016-12-19 | 2018-06-26 | 华耀(中国)科技有限公司 | 一种混合部署的虚拟化平台及部署方法 |
CN109213702A (zh) * | 2017-06-30 | 2019-01-15 | 伊姆西Ip控股有限责任公司 | 虚拟机环境中的虚拟双控制模块之间的通信 |
US20200073692A1 (en) * | 2018-08-30 | 2020-03-05 | Juniper Networks, Inc. | Multiple virtual network interface support for virtual execution elements |
CN111381936A (zh) * | 2020-03-23 | 2020-07-07 | 中山大学 | 一种分布式云系统-云簇架构下的服务容器资源的分配方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114327741A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8830228B2 (en) | Techniques for enabling remote management of servers configured with graphics processors | |
US7971203B2 (en) | Method, apparatus and system for dynamically reassigning a physical device from one virtual machine to another | |
US8612633B2 (en) | Virtual machine fast emulation assist | |
EP4053706A1 (en) | Cross address-space bridging | |
US20120054740A1 (en) | Techniques For Selectively Enabling Or Disabling Virtual Devices In Virtual Environments | |
CN107430570B (zh) | 具有SR-IOV和xHCI-IOV的附加安全执行环境 | |
US20110302577A1 (en) | Virtual machine migration techniques | |
US9792136B2 (en) | Hardware assisted inter hypervisor partition data transfers | |
US9495172B2 (en) | Method of controlling computer system and computer system | |
WO2021018267A1 (zh) | 虚拟机热迁移方法和通信设备 | |
US11467776B1 (en) | System supporting virtualization of SR-IOV capable devices | |
US10296369B2 (en) | Systems and methods for protocol termination in a host system driver in a virtualized software defined storage architecture | |
US20180335956A1 (en) | Systems and methods for reducing data copies associated with input/output communications in a virtualized storage environment | |
US10235195B2 (en) | Systems and methods for discovering private devices coupled to a hardware accelerator | |
WO2022143714A1 (zh) | 服务器系统、虚拟机创建方法及装置 | |
US20230051825A1 (en) | System supporting virtualization of sr-iov capable devices | |
TW202240415A (zh) | PCIe裝置及其操作方法 | |
CN113312140A (zh) | 虚拟可信平台模块 | |
CN113312141A (zh) | 用于虚拟机的虚拟串行端口 | |
TWI616759B (zh) | 設備分配控制器以及設備分配方法 | |
US10776145B2 (en) | Systems and methods for traffic monitoring in a virtualized software defined storage architecture | |
US12093706B2 (en) | Multiple port emulation | |
CN116069584B (zh) | 将监控服务扩展到可信云运营商域中 | |
WO2022222977A1 (zh) | 用于运行云业务实例的物理服务器的内存管理方法和装置 | |
WO2022068753A1 (zh) | 服务器系统、容器设置方法及装置 |
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: 21874413 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 21874413 Country of ref document: EP Kind code of ref document: A1 |