e-works数字化企业网  »  文章频道  »  基础信息化  »  云计算和虚拟化

云计算研究虚拟化技术的研究

2017/5/17    来源:贵州师范大学    作者:苏朋程      
关键字:云计算  虚拟化  
云计算是继分布式计算、并行计算、网格计算等发展而来的一个新计算模式,具有分布式及并行处理等优点,同时还具备负载均衡、资源共享、便于维护等特点。
    引 言
 
    云计算是继分布式计算、并行计算、网格计算等发展而来的一个新计算模式,具有分布式及并行处理等优点,同时还具备负载均衡、资源共享、便于维护等特点。基于这些优点及特点,近年来,云计算越来越受到学术界及IT行业的重视,相关技术日益成熟并实现产品商业化,云计算产品已投入到教育、医疗、交通等行业。随着云计算产品投入实际应用范围的增多,出现了硬件兼容、虚拟设备的稳定性及可靠性问题,客户机电脑系统蓝屏、物理设备与虚拟设备的实时响应问题。要解决这些问题,需要从云计算虚拟底层技术进行分析,因为云计算系统只是提供了应用层面的功能及操作,虚拟技术屏蔽了应用层与硬件之间的驱动工作机理,给用户提供了各种虚拟应用。一般说来,云计算体系结构分为三层[1]:应用层、平台层和基础设施层。基础设施层即要研究的“虚拟技术底层”,该层经过虚拟化的硬件资源和相关管理功能的集合,实现了内部流程自动化和资源管理优化,从而向上层应用提供动态、灵活的基础设施层服务[2]。文献[3]采用虚拟机管理层、功能层、逻辑层、调度层、GUI层等七层结构研究了虚拟化条件下云平台故障排除问题。通过大量文献,并结合高校的云计算工程实例,以及作者所实现的虚拟网络接口卡等例程,分析总结了云计算的核心技术——虚拟化技术。
 
    1: 云计算虚拟技术框架
 
    虚拟化概念及技术起源于20世纪50年代,20世纪60年代,IBM360系统首次采用了虚拟化平台Hypervisor。国外有以IBM、VMare、Xen/Citrix和Microsoft为代表的虚拟化业界的四大厂商,国内有联想、华为等公司使用自己的源代码开发出了虚拟化产品,他们提供了成熟、多方位、广泛的虚拟化产品,实现了从服务器存储、网络到桌面、虚拟应用,甚至数据中心的虚拟化。
 
    云计算模式的虚拟化,从宏观层面可以分为系统虚拟化、网络虚拟化、服务器虚拟化、虚拟机等等;从微观层面可分为CPU、内存、磁盘、网卡、I/O设备的虚拟化。根据虚拟技术底层开发的过程来看,宏观层面的虚拟化是建立在对计算机相关设备虚拟化的基础上的。云计算体系结构分为三层,因此,虚拟技术框架可以对应分为三层,从底层向上分别为:基础设施层、硬件虚拟层、应用虚拟层。基础设施层为硬件虚拟层、应用虚拟层提供基础设施保障,实现硬件设备在操作系统内核的无缝绑定与释放;硬件虚拟层实现对硬件设备的虚拟化,向下提供接口调用操作系统内核功能,向上提供接口与应用软件实现应用虚拟化;应用虚拟层,即应用系统的虚拟化,在基础设施层、硬件虚拟层的支持下,结合应用软件、网络通信,应用得以实现虚拟化,如虚拟桌面。
 
    云计算虚拟技术所实现的硬件、操作系统多样化,因此,有关公司、学术机构采用的具体实现技术也不完全一样,但它们有一个共同点,那就是离不开对物理设备的虚拟化、调用已有操作系统内核功能[4]。例如虚拟化存储,袁东风等研究了基于KVM的B/S架构虚拟化[5],实现对磁盘的虚拟化,如新建和删除虚拟磁盘,并将虚拟磁盘名作为参数传递给Web服务器。KVM全称为Kernel-based Virtual Machine,由此可看出虚拟技术离不开对操作系统内核功能的调用。对于操作系统内核功能的调用,Windows操作系统提供了文件驱动开发包用于实现对磁盘文件的虚拟化开发,可虚拟出新的文件磁盘盘符;微软公司提供的NDIS网络驱动开发包,用于实现网络协议、将网络设备虚拟化,笔者采用NDIS网络中间层驱动技术,实现了对RJ45接口类型网络接口卡的虚拟化。
 
    2: 设备虚拟化
 
    2.1 网络接口卡虚拟化
 
    网络接口卡虚拟化要完成两个主要功能,一是需要绑定物理设备,即绑定物理网络接口卡,通过网络中间驱动层的协议接口实现对物理网络接口卡的控制,即对物理网络接口卡收发的网络数据进行数据成帧处理,控制通过它的网络数据出或入;二是要通过网络中间层驱动提供的微端口向上一层协议层(TCP/IP协议)提供微端口,即虚拟的网络接口卡,实现对物理网络数据包的重新封装,可以实现对网络数据的加解密等功能,通过重写微软提供的中间层驱动程序passthru.c源程序里的receive()和send()函数实现。这样,网络中间层驱动程序就实现了网络接口卡虚拟化,安装好驱动程序后,在电脑控制面板的网络适配器的属性处可看见新增了一个跟物理网络接口卡一模一样的图标,这就是虚拟网卡。虚拟网卡的名称是通过安装驱动程序的inf安装文件里“设备名称”指定的。
 
    物理网卡、虚拟网卡、应用程序接口关系结构图如图1所示。
 
物理网卡、虚拟网卡、应用程序接口关系结构图
图1 物理网卡、虚拟网卡、应用程序接口关系结构图
 
    文中采用微软公司提供的DDK(Driver Development Kit)开发出了虚拟网卡驱动程序Passthru.sys,实验对象为Windows XP操作系统,实验结果见图2。
 

责任编辑:李欢
本文为授权转载文章,任何人未经原授权方同意,不得复制、转载、摘编等任何方式进行使用,e-works不承担由此而产生的任何法律责任! 如有异议请及时告之,以便进行及时处理。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐