CN113254160A - 一种io资源请求方法和装置 - Google Patents
一种io资源请求方法和装置 Download PDFInfo
- Publication number
- CN113254160A CN113254160A CN202110716255.8A CN202110716255A CN113254160A CN 113254160 A CN113254160 A CN 113254160A CN 202110716255 A CN202110716255 A CN 202110716255A CN 113254160 A CN113254160 A CN 113254160A
- Authority
- CN
- China
- Prior art keywords
- resource
- request
- resource request
- target
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45579—I/O management, e.g. providing access to device drivers or storage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种IO资源请求方法和装置,所述方法包括:接收第一IO资源请求;若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。本发明实施例提供的IO资源请求方法和装置,实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
Description
技术领域
本发明涉及云计算领域,特别涉及一种IO资源请求方法和装置。
背景技术
在目前的数据中心应用场景中,弹性裸金属服务器逐步占据更多的比重,用户会以类似云服务的弹性方式租用物理服务器。与传统的服务器租赁模式不同,弹性裸金属服务器在提供完整的IO资源的同时,还具备云服务的灵活性和可配置性。用户对网络设备、存储设备、计算加速设备等IO资源的动态配置,都会及时生效体现在租用的弹性裸金属服务器上。
然而,在现有的解决方案中,服务器上IO设备的变更,或者需要运维人员现场插拔实体的设备,或者需要运维人员登陆服务器进行设备的变更配置,难以实现以服务的方式自动变更设备以及数据中心IO资源的灵活调度。
发明内容
有鉴于此,本发明实施例的目的在于提供一种IO资源请求方法、装置、虚拟PCIe资源映射卡和物理机,具体包括:
第一方面,本发明实施例提供了一种IO资源请求方法,应用于第一物理机上部署的虚拟PCIe资源映射卡,所述方法包括:
接收第一IO资源请求;
若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;
若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
可选地,所述IO资源池包括本地IO资源池和异地IO资源池;
对应地,所述将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源,具体包括:
根据所述IO资源请求与第一目标IO资源的映射关系,确定所述第一目标IO资源为本地IO资源访问或异地IO资源访问;
若所述第一目标IO资源为本地IO资源访问,由PCIe交换机将所述第一IO资源请求通过PCIe接口转发至所述本地IO资源池以请求调用对应的第一目标IO资源;
若所述第一目标IO资源为异地IO资源访问,由以太网交换机将所述第一IO资源请求通过以太网接口转发至所述异地IO资源池以请求调用对应的第一目标IO资源。
可选地,在所述接收第一IO资源请求的步骤之前,还包括:
将IO资源配置信息发送给IO资源管理服务器;
IO资源管理服务器根据所述IO资源配置信息,确定第一目标IO资源的物理位置;
与所述第一物理机上的IO资源映射管理器和异地服务器分别协商后,在所述第一物理机上的IO资源映射管理器和异地服务器上配置好所述第一目标IO资源和所述的物理位置的映射关系;
将映射好的所述第一目标IO资源分配给预先申请的虚拟机,并启动所述虚拟机。
可选地,所述IO资源配置信息包括硬盘块数、每块硬盘的容量、网卡块数和/或网卡速度
可选地,所述接收第一IO资源请求,具体包括:
通过PCIe接口接收本地IO资源请求,或通过以太网接口接收异地IO资源请求。
可选地,所述IO资源池为异地IO资源池,所述第一目标IO资源为所述异地IO资源池中的第二物理机上部署的虚拟PCIe资源映射卡;
相应地,所述方法还包括:
由以太网交换机将所述第一IO资源请求通过以太网接口转发至所述第二物理机上部署的虚拟PCIe资源映射卡;
将所述第一IO资源请求修改为适配于所述第二物理机虚拟化规则的第二IO资源请求;
根据所述第二IO资源请求,请求所述第二物理机的第二目标IO资源。
可选地,在所述接收第一IO资源请求的步骤之前,还包括:
将所述第二目标IO资源分配给所述第二物理机预先申请的第二虚拟机,并启动所述第二虚拟机;
所述第一物理机的IO资源管理服务器确定第二物理机的物理位置;
与IO资源映射管理器和第二物理机协商后,在所述第一物理机上的IO资源映射管理器上配置好所述第二物理机及其物理位置的映射关系;
将映射好的所述第二物理机分配给所述第一物理机预先申请的第一虚拟机,并启动所述第一虚拟机。
第二方面,本发明实施例提供了一种IO资源请求装置,所述装置包括:
请求接收模块,用于接收第一IO资源请求;
本地资源请求模块,用于若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;
异地资源请求模块,用于若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
第三方面,本发明实施例提供了一种虚拟PCIe资源映射卡,部署于第一物理机,所述虚拟PCIe资源映射卡包括:PCIe虚拟化管理器、IO资源映射管理器、PCIe接口、以太网接口;
所述PCIe接口用于接收所述第一IO资源请求中的本地IO资源请求;
所述以太网接口用于接收所述第一IO资源请求中的异地IO资源请求;
所述PCIe虚拟化管理器用于将所述本地IO资源请求转化为统一的IO资源请求格式;
所述IO资源映射管理器用于根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;其中,所述第一IO资源请求包括本地IO资源请求和异地IO资源请求。
第四方面,本发明实施例提供了一种物理机,通过PCIE交换机请求本地IO资源,或通过以太网交换机请求异地IO资源,部署有如第三方面所述的虚拟PCIe资源映射卡。
本发明实施例提供的IO资源请求方法、装置、虚拟PCIe资源映射卡和物理机,,通过接收本地或异地的IO资源请求,并将IO资源请求转发至IO资源池中以请求调用对应的目标IO资源,实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳务的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了根据本发明实施例提供的IO资源请求方法的流程示意图。
图2示出了根据本发明实施例提供的虚拟机IO资源初始化方法的流程示意图。
图3示出了根据本发明实施例提供的嵌套虚拟化IO资源请求方法的流程示意图。
图4示出了根据本发明实施例提供的嵌套虚拟化实例的流程示意图。
图5示出了根据本发明实施例提供的嵌套虚拟化IO资源初始化方法的流程示意图。
图6示出了根据本发明实施例提供的IO资源请求装置的结构示意图。
图7示出了根据本发明实施例提供的虚拟PCIe资源映射卡的结构示意图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。这里使用的词语“一”、“一个(种)”和“该”等也应包括“多个”、“多种”的意思,除非上下文另外明确指出。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在目前的数据中心应用场景中,弹性裸金属服务器逐步占据更多的比重,用户会以类似云服务的弹性方式租用物理服务器。与传统的服务器租赁模式不同,弹性裸金属服务器在提供完整的IO资源的同时,还具备云服务的灵活性和可配置性。用户对网络设备、存储设备、计算加速设备等IO资源的动态配置,都会及时生效体现在租用的弹性裸金属服务器上。
然而,在现有的解决方案中,服务器上IO设备的变更,或者需要运维人员现场插拔实体的设备,或者需要运维人员登陆服务器进行设备的变更配置,难以实现以服务的方式自动变更设备。
有鉴于此,本公开实施例的目的在于提供一种IO资源请求方法和装置,以下结合附图详细描述本发明实施例公开的内容。
附图1示出了本发明实施例提供的IO资源请求方法的流程示意图,应用于第一物理机上部署的虚拟PCIe资源映射卡,具体内容如下。
S110,接收第一IO资源请求。
本发明实施例中的IO资源请求方法适用于弹性裸金属服务的场景,与传统的虚拟化技术相比不但保留了传统云服务器的弹性性能,而且保留了物理机本身的特性。本发明实施例中实现IO资源请求的核心部件是部署在物理机上的虚拟PCIe资源映射卡,它是弹性裸金属服务场景中实现虚拟化服务的硬件设备,可以部署在物理机上。相应地,本发明实施例中的物理机可以是弹性裸金属服务器。通过虚拟PCIe资源映射卡可以使得虚拟机不仅可以访问物理机本地的计算和IO资源,也可以请求调用外部的IO资源。本发明实施例中的IO资源可以是网络、存储、计算加速等资源。
本步骤中的接收第一IO资源请求,可以是所创建的虚拟机发出的,由虚拟PCIe资源映射卡接收。部署了虚拟PCIe资源映射卡后,IO请求的操作可以放在虚拟PCIe资源映射卡上,不占用物理机的IO访问资源。在弹性裸金属服务的场景中,第一IO资源请求可以请求本地或异地的IO资源,实现IO资源的灵活调配,提高了数据中心IO资源的利用率。
S120,若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
S130,若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
步骤S120和S130是本发明实施例在接收到第一IO资源请求后,针对本地IO资源请求和异地IO资源请求的两种处理方式。本地IO资源请求可以是指来自于当前物理机上运行的虚拟机所发出的IO资源请求,异地IO资源请求可以是指来自于外部运行的虚拟机所发出的IO资源请求。
对于本地IO资源请求而言,本地IO请求可以从虚拟PCIe资源映射卡中的PCIe接口进入。然后经虚拟PCIe资源映射卡中的PCIe虚拟化管理器所虚拟出的虚拟PCIe设备,虚拟为统一的IO资源请求格式,得到了统一格式的IO资源请求报文。
统一格式后本地IO资源请求报文,或异地IO资源请求报文,会发送至虚拟PCIe资源映射卡上的IO资源映射管理器。IO资源映射管理器中有预先建立的IO资源请求与第一目标IO资源的映射关系。根据该映射关系,可以将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
IO资源池是所创建的虚拟机可以调度的所有IO资源的集合。具体而言,IO资源池包括本地IO资源池和异地IO资源池。本地IO资源池是指本地连接的IO资源的集合,例如包括物理机上装载对的SSD硬盘。
异地IO资源池是指网络上的异地IO资源的集合,例如包括提供数据中心集中式的存储资源的存储服务器。第一物理机对应的异地IO资源池还例如可以包括第二物理机上的虚拟PCIe资源映射卡,第二物理机上的虚拟PCIe资源映射卡可以提供第二物理机上的SSD硬盘作为IO资源供第一物理机请求调用,实现数据中心分布式的存储。此外,第二物理机上的虚拟PCIe资源映射卡可以提供其异地IO资源供第一物理机请求调用,实现嵌套虚拟化,后续实施例会对此做详细介绍。
将第一IO资源请求所请求的IO资源区分为本地资源和异地资源,具体可以通过与数据中心IO资源管理服务器协商后获得的映射表来判断。本地IO资源的请求通过物理机上的PCIe接口,经PCIe交换机转发,发送到本地连接的IO资源上;异地IO资源的请求通过物理机上的以太网接口,经以太网交换机转发,发送到网络上的异地IO资源。
如上所述,本发明实施例提供的IO资源请求方法不仅可以接收本地IO资源请求和异地IO资源请求,还可以请求本地IO资源和异地IO资源,将IO资源池化,有效地实现了数据中心的IO负载均衡。
本发明实施例提供的IO资源请求方法,通过接收本地或异地的IO资源请求,并将IO资源请求转发至IO资源池中以请求调用对应的目标IO资源,实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
根据上述实施例,附图2示出了本发明实施例提供的虚拟机IO资源初始化方法的流程示意图,具体内容如下。
S210,将IO资源配置信息发送给IO资源管理服务器;
本发明实施例提供的IO资源初始化方法,是指在虚拟机启动前,需要对所申请的虚拟机分配IO资源,可以是本地IO资源,也可以是异地IO资源,统一从本地和异地资源池中获取。此处虚拟机IO资源初始化方法可以是指非嵌套虚拟化的情况,也可以是指嵌套虚拟化情况下的宿主机IO资源初始化。嵌套虚拟化的客户虚拟机IO资源初始化方法在后续实施例中进行介绍。
本步骤首先在虚拟机申请好后,用户可以通过web或GUI界面进行操作,将具体的IO资源配置信息发送给数据中心的IO资源管理服务器。IO资源配置信息是虚拟机向数据中心所申请的IO资源,可以是硬盘块数、每块硬盘的容量、网卡块数、网卡速度等内容。
S220,IO资源管理服务器根据所述IO资源配置信息,确定第一目标IO资源的物理位置;
IO资源管理服务器作为数据中心IO资源整体协调的中心机构,会根据IO资源配置信息,确定第一目标IO资源的物理位置。本步骤中的第一目标IO资源可以是本地IO资源,也可以是异地IO资源。相应地,第一目标IO资源的物理位置可以其该IO资源在物理机本机上的物理位置,也可以是该IO资源在异地的物理位置。可以理解的是,虚拟机如果通过IO资源配置信息申请了多个IO资源,那么本步骤中的第一目标IO资源实际上是指IO资源配置信息对应的多个IO资源,即本步骤需要确定多个IO资源的物理地址。
S230,与所述第一物理机上的IO资源映射管理器和异地服务器分别协商后,在所述第一物理机上的IO资源映射管理器和异地服务器上配置好所述第一目标IO资源和所述的物理位置的映射关系;
由于第一目标IO资源可以是本地IO资源,也可以是异地IO资源。因此,本地IO资源需要与本机虚拟PCIe资源映射卡上的IO资源映射管理器进行协商,异地IO资源需要与异地存储服务器协商进行协商,建立必要的通信链路。在协商完成后,需要相应地配置好第一目标IO资源和所述的物理位置的映射关系。该映射关系可以以映射表的数据结构在IO映射管理器上进行保存。基于该映射关系,IO请求可以通过所请求的第一目标IO资源在IO映射管理器上找到对应的IO资源的物理地址。
S240,将映射好的所述第一目标IO资源分配给预先申请的虚拟机,并启动所述虚拟机。
在本地IO资源和存储服务器上配置好IO资源和具体物理地址的映射关系后,所申请的虚拟机就得到了本地/异地统一的IO资源池,具体可以表现为一块或多块不同容量的硬盘或一块或多块不同速度的网卡;然后虚拟机就可以在映射后的资源池上启动。
本发明实施例提供的虚拟机IO资源初始化方法,通过协商的方式建立IO资源与物理地址的映射关系,为虚拟机配置本地或异地的IO资源提供给虚拟机使用,实现了虚拟机IO资源配置过程,为后续的IO资源请求过程进行了初始化工作。
根据上述任一实施例,附图3示出了本发明和实施例提供的嵌套虚拟化IO资源请求方法的流程示意图,具体内容如下。
S310,由以太网交换机将所述第一IO资源请求通过以太网接口转发至所述第二物理机上部署的虚拟PCIe资源映射卡;
本发明实施例对嵌套虚拟化的情形进行说明。具体情形为,第一物理机的IO资源池为异地IO资源池,且第一目标IO资源为所述异地IO资源池中的第二物理机上部署的虚拟PCIe资源映射卡。
首先,由于第一物理机上虚拟机的IO资源池为异地IO资源池,因此,需要由以太网交换机将所述第一IO资源请求通过以太网接口进行转发。其次,由于该异地IO资源为第二物理机上部署的虚拟PCIe资源映射卡,因此,该请求会转发至第二物理机上部署的虚拟PCIe资源映射卡。
可以理解的是,第二物理机上部署的虚拟PCIe资源映射卡也可以作为第一物理机上虚拟机的IO资源池的异地IO资源,从而可以实现第二物理机上部署的虚拟机可以调度的IO资源,也可以供第一物理机上的虚拟机进行调度。
S320,将所述第一IO资源请求修改为适配于所述第二物理机虚拟化规则的第二IO资源请求;
由于不同物理机上IO资源请求报文的格式不同,因此在实现嵌套虚拟化的IO资源请求时,需要将第一物理机对应的第一IO资源请求修改为适配于所述第二物理机虚拟化规则的第二IO资源请求。
S330,根据所述第二IO资源请求,请求所述第二物理机的第二目标IO资源。
在第一IO资源请求已经修改为第二IO资源请求后,对于第二物理机而言,步骤S330请求第二目标IO资源的过程相当于前述实施例中IO资源请求方法所描述的过程,此处不再赘述。
以下结合附图4提供的嵌套虚拟化实例的流程示意图进行具体说明。附图4中包含主机1和主机2两个物理机,其分别包含PCIE RC,还可以包含PCIe Switch芯片。主机1和主机2还分别部署有虚拟PCIe资源映射卡:本卡1和本卡2。本卡1和本卡2分别具有PCIe虚拟化管理器、IO资源映射管理器、PCIe接口、以太网接口等模块。其中本卡2是主机1上虚拟机的异地IO资源,存储服务器是主机2上虚拟机的异地IO资源。主机1为内层虚拟化客户机,主机2为内层虚拟化宿主机;主机2为外层虚拟化客户机,存储服务器为外层虚拟化宿主机。
附图4中的数据流显示了嵌套虚拟化的基本过程,即主机1上的虚拟机如何请求存储服务器的IO资源。首先主机1通过以太网交换机将所述第一IO资源请求通过以太网接口转发至所述本卡2的IO资源映射管理器,本卡2的IO资源映射管理器再通过以太网交换机将所述第一IO资源请求通过以太网接口转发至存储服务器。
具体而言,主机1的IO请求会依次通过:本卡1 PCIe接口、本卡1 PCIe虚拟化管理器、本卡1 IO资源管理器、本卡1以太网接口,IO请求在前述多个接口和模块中数据格式和表现形式不同,经过多个接口和模块的映射后,以自定义的以太网报文的形式发送到以太网交换机,经过交换后转发到本卡2;主机2通过本卡2的以太网接口连接到以太网交换机,进一步连接到存储服务器,通过本卡2的IO虚拟化服务获得存储服务器上的存储IO资源;当主机1的IO请求到达主机2后,根据主机2的虚拟化规则,修改请求内容后,发送给存储服务器。
可以理解的是,本发明实施例中的嵌套虚拟化方案不仅限于附图4示出的这种两层虚拟化嵌套方案,也不局限于存储服务器为外层虚拟化宿主机的情形。本发明实施例不对嵌套虚拟化的层数和目标IO资源的类型做具体限定,本领域技术人员合理理解范围之内的嵌套虚拟化方案都是本发明实施例保护的范围。
本发明实施例提供的另一IO资源请求方法,通过嵌套虚拟化方案,可以使得客户虚拟机得到宿主虚拟机的IO映射管理资源,进一步实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
基于上述任一实施例,附图5示出了本发明实施例提供的嵌套虚拟化IO资源初始化方法的流程示意图,具体内容如下。
S510,将所述第二目标IO资源分配给所述第二物理机预先申请的第二虚拟机,并启动所述第二虚拟机;
本步骤中的第二物理机上运行的虚拟机可以理解为宿主虚拟机。当宿主虚拟机通过前述实施例介绍的初始化流程获得绑定的IO资源或计算资源后,宿主虚拟机就可以启动。因此,前述实施例已经介绍过的初始化流程,此处不做赘述。
S520,IO资源管理服务器确定第二物理机的物理位置;
IO资源管理服务器作为数据中心IO资源整体协调的中心机构,会根据IO资源配置信息,确定目标IO资源的物理位置。具体在本步骤对应的场景中,目标IO资源是异地IO资源的第二物理机,相应地,IO资源管理服务器确定第二物理机的物理位置。
S530,与第二物理机协商后,在所述第一物理机上的IO资源映射管理器上配置好所述第二物理机及其物理位置的映射关系;
第二物理机作为第一物理机上虚拟机的异地IO资源,在初始化时需要与第二物理机进行协商,建立必要的通信链路。在协商完成后,需要在所述第一物理机上的IO资源映射管理器上配置好所述第二物理机及其物理位置的映射关系。该映射关系可以以映射表的数据结构在IO映射管理器上进行保存。基于该映射关系,IO请求可以通过所请求的第二物理机在IO映射管理器上找到第二物理机对应的IO资物理地址。
S540,将映射好的所述第二物理机分配给所述第一物理机预先申请的第一虚拟机,并启动所述第一虚拟机。
在配置好第二物理机和具体物理地址的映射关系后,第一虚拟机就得到第二物理机作为异地IO资源放入IO资源池中,然后第一虚拟机就可以在IO资源池上启动。第二虚拟机和第一虚拟机均配置好了IO资源并启动,实现了嵌套虚拟化IO资源初始化方法。
本发明实施例提供的嵌套虚拟化IO资源初始化方法,具体而言,当宿主虚拟机通过前述初始化流程获得绑定的计算和IO资源后,宿主虚拟机就可以启动了。宿主虚拟机启动后,第三方用户可以通过Web或GUI界面申请客户虚拟机对应的计算和IO资源。宿主虚拟机无需与更高一级的IO资源管理服务器协商,只需要与本卡上的IO资源映射管理服务器协商,获取并分配客户虚拟机的IO资源池,该资源池可以是本地的IO资源,也可以是存储服务器上的IO资源,或二者的组合。协商完毕后,客户虚拟机获得IO资源池;计算资源可以从宿主虚拟机申请获得逻辑计算资源,也可以从更高一级的计算资源管理服务器获得物理计算资源。当客户虚拟机获得物理计算资源和经过本地IO资源映射管理服务器映射的IO资源池后,客户虚拟机可以无损耗地使用物理计算资源,并访问经过管理的IO资源池。嵌套虚拟化获得的客户虚拟机可以获得与宿主虚拟机近似的计算性能和使用体验,并得到宿主虚拟机的IO映射管理。
本发明实施例提供的嵌套虚拟化IO资源初始化方法,通过协商的方式建立第二物理机作为IO资源与其物理地址的映射关系,作为IO资源提供给第一虚拟机使用,实现了嵌套虚拟化场景下的资源配置过程,为后续的IO资源嵌套请求过程进行了初始化工作。
基于上述任一实施例,附图6示出了本发明实施例提供的IO资源请求装置的结构示意图,具体内容如下。
请求接收模块601,用于接收第一IO资源请求;
本地资源请求模块602,用于若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;
异地资源请求模块603,用于若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
本发明实施例提供的IO资源请求装置,通过接收本地或异地的IO资源请求,并将IO资源请求转发至IO资源池中以请求调用对应的目标IO资源,实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
基于上述任一实施例,附图7示出了本发明实施例提供的虚拟PCIe资源映射卡的结构示意图,部署于第一物理机,具体内容如下。
所述虚拟PCIe资源映射卡包括:PCIe虚拟化管理器701、IO资源映射管理器702、PCIe接口703、以太网接口704;
所述PCIe接口703用于接收所述第一IO资源请求中的本地IO资源请求;
所述以太网接口704用于接收所述第一IO资源请求中的异地IO资源请求;
所述PCIe虚拟化管理器701用于将所述本地IO资源请求转化为统一的IO资源请求格式;
所述IO资源映射管理器702用于根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;其中,所述第一IO资源请求包括本地IO资源请求和异地IO资源请求。
相应地,本发明实施例还提供了一种物理机,通过PCIE交换机请求本地IO资源,或通过以太网交换机请求异地IO资源,此外还部署有如前述内容所述的虚拟PCIe资源映射卡。
本发明实施例提供的虚拟PCIe资源映射卡或物理机,通过接收本地或异地的IO资源请求,并将IO资源请求转发至IO资源池中以请求调用对应的目标IO资源,实现了数据中心物理机上的IO资源的灵活调配和变更,提高了IO资源的利用率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种IO资源请求方法,应用于第一物理机上部署的虚拟PCIe资源映射卡,其特征在于,所述方法包括:
接收第一IO资源请求;
若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;
若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
2.根据权利要求1所述的IO资源请求方法,其特征在于,所述IO资源池包括本地IO资源池和异地IO资源池;
对应地,所述将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源,具体包括:
根据所述IO资源请求与第一目标IO资源的映射关系,确定所述第一目标IO资源为本地IO资源访问或异地IO资源访问;
若所述第一目标IO资源为本地IO资源访问,由PCIe交换机将所述第一IO资源请求通过PCIe接口转发至所述本地IO资源池以请求调用对应的第一目标IO资源;
若所述第一目标IO资源为异地IO资源访问,由以太网交换机将所述第一IO资源请求通过以太网接口转发至所述异地IO资源池以请求调用对应的第一目标IO资源。
3.根据权利要求1所述的IO资源请求方法,其特征在于,在所述接收第一IO资源请求的步骤之前,还包括:
将IO资源配置信息发送给IO资源管理服务器;
IO资源管理服务器根据所述IO资源配置信息,确定第一目标IO资源的物理位置;
与所述第一物理机上的IO资源映射管理器和异地服务器分别协商后,在所述第一物理机上的IO资源映射管理器和异地服务器上配置好所述第一目标IO资源和所述的物理位置的映射关系;
将映射好的所述第一目标IO资源分配给预先申请的虚拟机,并启动所述虚拟机。
4.根据权利要求3所述的IO资源请求方法,其特征在于,所述IO资源配置信息包括硬盘块数、每块硬盘的容量、网卡块数和/或网卡速度。
5.根据权利要求1所述的IO资源请求方法,其特征在于,所述接收第一IO资源请求,具体包括:
通过PCIe接口接收本地IO资源请求,或通过以太网接口接收异地IO资源请求。
6.根据权利要求2所述的IO资源请求方法,其特征在于,所述IO资源池为异地IO资源池,所述第一目标IO资源为所述异地IO资源池中的第二物理机上部署的虚拟PCIe资源映射卡;
相应地,所述方法还包括:
由以太网交换机将所述第一IO资源请求通过以太网接口转发至所述第二物理机上部署的虚拟PCIe资源映射卡;
将所述第一IO资源请求修改为适配于所述第二物理机虚拟化规则的第二IO资源请求;
根据所述第二IO资源请求,请求所述第二物理机的第二目标IO资源。
7.根据权利要求6所述的IO资源请求方法,其特征在于,在所述接收第一IO资源请求的步骤之前,还包括:
将所述第二目标IO资源分配给所述第二物理机预先申请的第二虚拟机,并启动所述第二虚拟机;
所述第一物理机的IO资源管理服务器确定第二物理机的物理位置;
与IO资源映射管理器和第二物理机协商后,在所述第一物理机上的IO资源映射管理器上配置好所述第二物理机及其物理位置的映射关系;
将映射好的所述第二物理机分配给所述第一物理机预先申请的第一虚拟机,并启动所述第一虚拟机。
8.一种IO资源请求装置,应用于第一物理机上部署的虚拟PCIe资源映射卡,其特征在于,所述装置包括:
请求接收模块,用于接收第一IO资源请求;
本地资源请求模块,用于若所述第一IO资源请求为本地IO资源请求,将所述本地IO资源请求转化为统一的IO资源请求格式,并根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;
异地资源请求模块,用于若所述第一IO资源请求为异地IO资源请求,将根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源。
9.一种虚拟PCIe资源映射卡,部署于第一物理机,其特征在于,所述虚拟PCIe资源映射卡包括:PCIe虚拟化管理器、IO资源映射管理器、PCIe接口、以太网接口;
所述PCIe接口用于接收第一IO资源请求中的本地IO资源请求;
所述以太网接口用于接收第一IO资源请求中的异地IO资源请求;
所述PCIe虚拟化管理器用于将所述本地IO资源请求转化为统一的IO资源请求格式;
所述IO资源映射管理器用于根据预先建立的IO资源请求与第一目标IO资源的映射关系,将所述第一IO资源请求转发至IO资源池中以请求调用对应的第一目标IO资源;其中,所述第一IO资源请求包括本地IO资源请求和异地IO资源请求。
10.一种物理机,通过PCIE交换机请求本地IO资源,或通过以太网交换机请求异地IO资源,其特征在于,部署有如权利要求9所述的虚拟PCIe资源映射卡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716255.8A CN113254160B (zh) | 2021-06-28 | 2021-06-28 | 一种io资源请求方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110716255.8A CN113254160B (zh) | 2021-06-28 | 2021-06-28 | 一种io资源请求方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113254160A true CN113254160A (zh) | 2021-08-13 |
CN113254160B CN113254160B (zh) | 2022-04-08 |
Family
ID=77189787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110716255.8A Active CN113254160B (zh) | 2021-06-28 | 2021-06-28 | 一种io资源请求方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113254160B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865803A (zh) * | 2023-03-03 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种io请求处理方法、装置、设备及可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101271401A (zh) * | 2008-04-23 | 2008-09-24 | 北京航空航天大学 | 一种具备单一系统映像的服务器机群系统 |
CN101452424A (zh) * | 2007-12-03 | 2009-06-10 | 国际商业机器公司 | 用于管理输入/输出虚拟化的方法和数据处理系统 |
WO2018041075A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种应用于计算机的资源访问方法和计算机 |
CN112527091A (zh) * | 2020-12-18 | 2021-03-19 | 北京百度网讯科技有限公司 | 电源管理方法、固件更新方法、装置、设备、介质和产品 |
-
2021
- 2021-06-28 CN CN202110716255.8A patent/CN113254160B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101452424A (zh) * | 2007-12-03 | 2009-06-10 | 国际商业机器公司 | 用于管理输入/输出虚拟化的方法和数据处理系统 |
CN101271401A (zh) * | 2008-04-23 | 2008-09-24 | 北京航空航天大学 | 一种具备单一系统映像的服务器机群系统 |
WO2018041075A1 (zh) * | 2016-08-31 | 2018-03-08 | 华为技术有限公司 | 一种应用于计算机的资源访问方法和计算机 |
CN112527091A (zh) * | 2020-12-18 | 2021-03-19 | 北京百度网讯科技有限公司 | 电源管理方法、固件更新方法、装置、设备、介质和产品 |
Non-Patent Citations (1)
Title |
---|
王展 等: "基于单根I/O虚拟化的多根I/O资源池化方法", 《计算机研究与发展》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115865803A (zh) * | 2023-03-03 | 2023-03-28 | 浪潮电子信息产业股份有限公司 | 一种io请求处理方法、装置、设备及可读存储介质 |
CN115865803B (zh) * | 2023-03-03 | 2023-08-22 | 浪潮电子信息产业股份有限公司 | 一种io请求处理方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113254160B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10698717B2 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US9667749B2 (en) | Client-initiated leader election in distributed client-server systems | |
CN107231815B (zh) | 用于图形渲染的系统和方法 | |
JP5808424B2 (ja) | ネットワーク対応アプリケーションのためのハードウェア・アクセラレーテッド・グラフィックス | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
US10042676B1 (en) | Capacity pool health index | |
US10593009B1 (en) | Session coordination for auto-scaled virtualized graphics processing | |
US11907766B2 (en) | Shared enterprise cloud | |
CN107920117B (zh) | 一种资源管理方法、控制设备和资源管理系统 | |
WO2016095524A1 (zh) | 资源分配方法及装置 | |
US8458702B1 (en) | Method for implementing user space up-calls on java virtual machine before/after garbage collection | |
CN107608806A (zh) | 一种虚拟机间快速访问传输数据的系统及方法 | |
US11360824B2 (en) | Customized partitioning of compute instances | |
US20150348177A1 (en) | Managing lease transactions in distributed systems | |
CN113535319A (zh) | 一种实现多rdma网卡虚拟化的方法、设备及存储介质 | |
CN113254160B (zh) | 一种io资源请求方法和装置 | |
CN115576654A (zh) | 一种请求处理方法、装置、设备及存储介质 | |
CN114296953A (zh) | 一种多云异构系统及任务处理方法 | |
CN107967165B (zh) | 基于lvm的虚拟机离线迁移方法 | |
CN114253704A (zh) | 一种分配资源的方法及装置 | |
CN114726657A (zh) | 中断管理和数据收发管理的方法、装置及智能网卡 | |
CN113691465B (zh) | 一种数据的传输方法、智能网卡、计算设备及存储介质 | |
CN113535370A (zh) | 一种实现负载均衡的多rdma网卡虚拟化的方法、设备 | |
CN112015515B (zh) | 一种虚拟网络功能的实例化方法及装置 | |
CN112889247B (zh) | Vnf服务实例化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |