虚拟化处理方法及相关装置和计算机系统制造方法及图纸

技术编号:7579659 阅读:152 留言:0更新日期:2012-07-19 04:35
本发明专利技术实施例公开了虚拟化处理方法及相关装置和计算机系统。本发明专利技术实施例的方案中计算节点包括:硬件层、运行在该硬件层之上的Host、以及运行在该Host之上的至少一个虚拟机VM,该硬件层包括I/O设备,该I/O设备虚拟出了对应的若干个虚拟功能VF设备,Host中具有若干个VF软件实例,每个VF软件实例分别对应不同的VF设备;Host中还具有与I/O设备类型相同的I/O虚拟设备的后端实例BE,VM中具有该I/O虚拟设备的FE;其中,该Host中的上述BE与空闲的上述VF软件实例绑定。本发明专利技术实施例的方案有利于优化虚拟化系统的性能和兼容性。

【技术实现步骤摘要】

本专利技术涉及计算机
,具体涉及虚拟化处理方法及相关装置和计算机系统
技术介绍
虚拟化技术是一种将底层硬件设备与上层操作系统、应用程序分离的去耦合技术,如图1所示,引入虚拟机监控器(VMM,Virtual Machine Monitor)层直接管理底层硬件资源,创建与底层硬件无关的虚拟机(VM,Virtual Machine)供上层操作系统和应用程序使用。虚拟化技术作为当前流行的云计算(Cloud Computing)平台的底层重要支撑技术之一,可以极大的提高物理设备的资源使用效率。与传统的物理服务器相比,虚拟机具有更好的隔离性和封装性,其可以将整个虚拟机的信息保存到虚拟磁盘镜像(VDI,VirtUalDisk Image)中,从而可以方便地对虚拟机进行快照、备份、克隆和分发等操作。随着x86处理器演进,中央处理器(CPU,Central Processing Unit)、内存的虚拟化技术越来越完善,且开销也变得越来越小。基于最新处理器,大多数应用的CPU、内存虚拟化开销已经小于10%。在输入输出(1/0,hput/Output)虚拟化领域,高性能、低延时的虚拟1/0方案仍是虚拟化领域的一个关键技术挑战。现有1/0虚拟化方案包括软件方案和硬件方案两类。然而现有软件方案和硬件方案都有其自身突出的优点和缺点。如现有软件方案的长处在于兼容性,而性能损失很大;硬件方案能够带来很好的性能,但存在特性兼容性及客户操作系统(Guest OS)兼容性等问题。
技术实现思路
本专利技术实施例提供虚拟化处理方法及相关装置和计算机系统,以优化虚拟化系统的性能和兼容性。为解决上述技术问题,本专利技术实施例提供以下技术方案—方面,本专利技术实施例提供一种虚拟化处理方法,应用于计算节点上,所述计算节点包括硬件层、运行在所述硬件层之上的宿主机Host、以及运行在所述Host之上的至少一个虚拟机VM,其中,所述硬件层包括输入/输出1/0设备,所述1/0设备虚拟出了对应的若干个虚拟功能VF设备,所述Host中具有若干个VF软件实例,每个所述VF软件实例分别对应不同的所述VF设备;所述Host中还具有与所述1/0设备类型相同的1/0虚拟设备的后端实例BE,所述VM中具有所述1/0虚拟设备的前端实例FE ;其中,所述Host中的所述BE与空闲的所述VF软件实例绑定;所述方法包括所述FE预分配用于直接内存存取DMA的缓存;与所述BE绑定的所述VF软件实例通过所述BE的导出程序接口获取所述用于DMA的缓存对应的地址,将获取到的所述用于DMA的缓存对应的地址写入所述VF软件实例对应的VF设备的第一存储单元中;所述VF设备在需要接收数据时从所述第一存储单元中选取用于DMA的缓存对应的地址,以选取的该用于DMA的缓存对应的地址作为目的地址发起DMA写请求;所述VF设备在所述DMA写请求执行后通知所述Host中与之对应的所述VF软件实例,以便所述VF软件实例触发所述FE接收写入所述地址所对应缓存中的数据。另一方面,本专利技术实施例还提供一种虚拟化处理方法,包括在输入/输出I/O设备的I/O虚拟功能启动后,宿主机Host中产生若干个VF软件实例;其中,启动I/O虚拟功能后的所述I/O设备虚拟出对应的若干个虚拟功能VF设备;所述Host中产生的每个所述VF软件实例分别对应不同的所述VF设备;所述Host创建与所述I/O设备类型相同的I/O虚拟设备,其中,所述I/O虚拟设备的后端实例BE创建于所述Host中,所述1/0虚拟设备的前端实例FE创建于启动后的虚拟机VM中;将所述BE与空闲的所述VF软件实例绑定。另一方面,本专利技术实施例还提供一种计算节点,其特征在于,包括,硬件层、运行在所述硬件层之上的宿主机Host、以及运行在所述Host之上的至少一个虚拟机VM,其中,所述硬件层包括输入/输出1/0设备,所述1/0设备虚拟出了对应的若干个虚拟功能VF设备,所述Host中具有若干个VF软件实例,每个所述VF软件实例分别对应不同的所述VF设备;所述Host中还具有与所述1/0设备类型相同的1/0虚拟设备的后端实例BE,所述VM中具有所述1/0虚拟设备的前端实例FE ;其中,所述Host中的所述BE与空闲的所述VF软件实例绑定;其中,所述FE,用于预分配用于直接内存存取DMA的缓存;与所述BE绑定的所述VF软件实例,用于通过所述BE的导出程序接口获取所述用于DMA的缓存对应的地址,将获取到的所述用于DMA的缓存对应的地址写入所述VF软件实例对应的VF设备的第一存储单元中;所述VF设备,用于在需要接收数据时从所述第一存储单元中选取用于DMA的缓存对应的地址,以选取的该用于DMA的缓存对应的地址作为目的地址发起DMA写请求;在所述DMA写请求执行后通知所述Host中与之对应的所述VF软件实例,以便所述VF软件实例触发所述FE接收写入所述地址所对应缓存中的数据。另一方面,本专利技术实施例还提供一种宿主机,包括第一创建模块,用于在输入/输出1/0设备的1/0虚拟功能启动后,在宿主机Host中产生若干个VF软件实例;其中,启动1/0虚拟功能后的所述1/0设备虚拟出对应的若干个虚拟功能VF设备;所述Host中产生的每个所述VF软件实例分别对应不同的所述VF设备;第二创建模块,用于创建与所述1/0设备类型相同的1/0虚拟设备,其中,所述1/0虚拟设备的后端实例BE创建于所述Host中,所述1/0虚拟设备的前端实例FE创建于启动后的虚拟机VM中;绑定模块,用于将所述第二创建模块创建的BE与第一创建模块创建的空闲的所述VF软件实例绑定。由上可见,本专利技术实施例中计算节点可包括硬件层、运行在该硬件层之上的Host、以及运行在该Host之上的至少一个VM,该硬件层包括输入/输出I/O设备,该I/O设备虚拟出了对应的若干个虚拟功能VF设备,该Host中具有若干个VF软件实例,每个上述VF软件实例分别对应不同的上述VF设备;Host中还具有与上述I/O设备类型相同的I/O虚拟设备的后端实例BE,VM中具有上述I/O虚拟设备的前端实例FE ;其中,该Host中的上述BE与空闲的上述VF软件实例绑定,如此,就建立起了每个VM可独立使用一个VF设备的应用架构,I/O设备虚拟出的一个VF设备和一个VM中的前端实例FE之间的通道打通,这样FE可通过Host中的BE来访问VF设备,由于I/O设备虚拟出的该VF设备是单独分配给该VM使用的,VF设备可以提供高效的设备接口,这就有利于让该VM获得接近物理机的性能,延时低且几乎没有额外CPU开销;并且由于I/O虚拟设备的前端驱动(即冊)在VM内,该FE通过Host内的后端驱动(即BE)来传递数据,VM不感知Host真实物理设备,这样易于迁移和实现设备共享,实现了虚拟化系统兼容性的优化。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是现有一种虚拟化技术架构示意图;图2_a是本专利技术实施例提供的一种虚拟化软硬件体系架构示意图;图2_b是本专利技术实施例提供的本文档来自技高网...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:杨晓伟王锋
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术