首页 理论教育 云计算中的半虚拟化技术

云计算中的半虚拟化技术

时间:2023-11-20 理论教育 版权反馈
【摘要】:半虚拟化架构之所以能成为与全虚拟化架构旗鼓相当的主流技术标准,关键在于它的效率优于全虚拟化。VMware ESXi Server 4.1同时支持全虚拟化与半虚拟化技术。而这些操作系统厂商现在又在大力发展自己的虚拟化技术,显然与VMware存在竞争。加上新的硬件辅助虚拟化技术也助推了VMware放弃半虚拟化技术。图2-33 新建虚拟机本节围绕虚拟化技术重点介绍了三大虚拟化提供商的虚拟化产品的安装以及使用。

云计算中的半虚拟化技术

半虚拟化与全虚拟化技术的主要差别就在于,半虚拟化Hypervisor提供特殊的API供客户机操作系统使用,虚拟机不需要模拟硬件,客户机操作系统必须经过改造才能够在半虚拟化环境中运行。半虚拟化架构之所以能成为与全虚拟化架构旗鼓相当的主流技术标准,关键在于它的效率优于全虚拟化。主要原因是,在全虚拟化的架构下,计算机虚拟化还必须经由操作系统负责控制与分配底层硬件的资源;但在半虚拟化架构下,计算机虚拟化是经由Hy- pervisor让虚拟机能直接取用硬件运算资源,而不是虚拟出整套计算机的硬件资源,从而执行效率提升不少。但也正是由于半虚拟化直接访问硬件,造成了运行在半虚拟化软件上的客户操作系统必须针对Hypervisor作修改。随着硬件辅助虚拟化能力的不断加强,笔者认为半虚拟化在性能上的优势会逐渐减弱,而它需要修改操作系统的劣势不会改变。下面我们实际动手操作一下半虚拟化软件。

1.Xen半虚拟化

Xen通过向操作系统提供了一套特殊的Hypervisor编程接口,避免了操作系统直接调用底层硬件编程接口可能导致的危害。根据Xen自己的说法,使用半虚拟化的技术,虚拟机的执行效率得到了很大的提升,同时在同一台物理机上,Xen能虚拟化更多的客户操作系统。由于Xen虚拟化技术大量在Linux操作系统中应用,故Xen几乎支持所有版本的Linux半虚拟化虚拟机,但暂时无法支持Windows操作系统。

在virt-manager中集成了半虚拟化与全虚拟化技术,如图2-23所示,在创建虚拟机时,可选择虚拟化方式,选择Paravirtualized,即采用半虚拟化方式创建虚拟机。

978-7-111-36687-4-Chapter02-27.jpg

图2-23 选择半虚拟化方式创建虚拟机

这里需要注意,使用Xen创建半虚拟化虚拟机时,由于不能使用虚拟光驱,所以需要通过配置网络文件系统参数来获得所需要的安装镜像文件。

2.VMware半虚拟化

VMware在2005年提出客户操作系统与Hypervisor之间通信的半虚拟化接口,Virtual Machine Interface(VMI),VMware希望操作系统提供商可以在操作系统中实现这个接口,这样操作系统就可以直接在VMware的半虚拟化软件中运行。在2006年,VMware发布了正式的VMI标准,并展示了使用VMI接口的演示操作系统。最终,VMware将这项技术应用在ESXServer中。

VMware ESXi Server 4.1同时支持全虚拟化与半虚拟化技术。只要在虚拟机的选项窗口中选择Enable VMI paravirtualization复选按钮即可,如图2-24所示。

VMware只支持部分实现了VMI接口的32位Linux操作系统,具体参见表2-3。

表2-3 VMI支持的Linux操作系统

978-7-111-36687-4-Chapter02-28.jpg

978-7-111-36687-4-Chapter02-29.jpg

图2-24 开启VMI半虚拟化选项

值得一提的是VMware公司将在不久的将来不再支持半虚拟化技术,这主要是由于新的Interl-VT和AMD-V技术的迅速发展,VMware公司认为使用硬件辅助虚拟化对系统的提高与使用半虚拟化对系统性能提高相差不大。另外还有一点,VMI是由VMware提出的,而VMI需要Linux以及微软的操作系统来做实际的集成工作,这本身就需要厂商之间的合作。而这些操作系统厂商现在又在大力发展自己的虚拟化技术,显然与VMware存在竞争。所以VMware的标准很难得到贯彻。加上新的硬件辅助虚拟化技术也助推了VMware放弃半虚拟化技术。

3.微软Hyper-V

上一节介绍了微软的Virtual PC,它采用的是全虚拟化技术,较Xen以及VMware早就采用的半虚拟化技术相比,微软的全虚拟化产品在性能上落后于采用了半虚拟化技术的产品,对于某些对性能要求较高的企业用户来说,可能就不会采用微软的产品,故微软在推出其Win-dows Server 2008的同时,附带了Hyper-V虚拟化技术,该技术采用了半虚拟化技术。

首先,需要安装Windows Server 2008,在微软的官方网站上提供镜像文件的下载,可以免费使用180天。

只要是x64计算机即可安装Windows Server 2008,并不要求硬件虚拟化支持,但如果要使用Hyper-V,必须具备硬件虚拟化能力。

安装好Windows Server 2008后,登录Windows Server 2008,单击“开始”菜单→管理工具→服务器管理器,如图2-25所示。

右击“角色”节点,在弹出的快捷菜单中选择“添加角色”,如图2-26所示。

在弹出的“添加角色向导”对话框中直接单击“下一步”按钮,如图2-27所示。

如图2-28所示,在添加服务器角色向导中,单击Hyper-V。

978-7-111-36687-4-Chapter02-30.jpg(www.xing528.com)

图2-25 打开服务器管理器

978-7-111-36687-4-Chapter02-31.jpg

图2-26 向服务器管理器添加角色

978-7-111-36687-4-Chapter02-32.jpg

图2-27 “添加角色向导”对话框

这个时候会验证硬件是否支持虚拟化,如果不支持,就会报错,并且不能安装Hyper-V,如图2-29所示。

978-7-111-36687-4-Chapter02-33.jpg

图2-28 添加Hyper-V角色

978-7-111-36687-4-Chapter02-34.jpg

图2-29 无法安装Hyper-V

如果读者的计算机可以通过硬件检查,将看到如图2-30所示设置Hyper-V页面,这里需要注意的是对于一般服务器而言有两块以上的网卡,故请选择可以用作虚拟网络配置的网卡。如果读者只有一块网卡,直接选择就可以了,网卡选择如图2-31所示。

向导结束后会要求用户重启计算机。重启之后在“开始”菜单中会增加Hyper-V管理器,如图2-32所示。

978-7-111-36687-4-Chapter02-35.jpg

图2-30 设置Hyper-V

978-7-111-36687-4-Chapter02-36.jpg

图2-31 创建虚拟网络

978-7-111-36687-4-Chapter02-37.jpg

图2-32 Hyper-V管理器

Hyper-V的管理器界面与VMware的客户端界面有些类似,右键单击图2-32中的host name节点,可以创建新的虚拟机。需要注意的是由于采用半虚拟化,Hyper-V对Windows操作系统的支持比较好,对于Linux暂时只支持SUSE与RedHat,新建虚拟机如图2-33所示。

978-7-111-36687-4-Chapter02-38.jpg

图2-33 新建虚拟机

本节围绕虚拟化技术重点介绍了三大虚拟化提供商(Xen,VMware以及微软)的虚拟化产品的安装以及使用。内容比较多,如果搭建全部虚拟化平台进行测试确实要花不少工夫。读者不妨结合自己的实际工作情况挑选一个常用的开发平台来进行学习

另外,虚拟化软件起初虽然是为了提高系统利用率而产生的,但它实际上还扮演着另一个角色——帮助系统实现应用程序兼容,比如本节中微软Windows 7中的XPMode。而某些系统,比如苹果的Mac OS,就利用虚拟化软件将在Windows操作系统上运行的程序与Macintosh无缝结合。

对于最终用户而言,特别是企业用户,一定要认清自己的需求,尽量多调查几种虚拟化产品并结合自身具体情况来选择。同时,要注意到虚拟化软件越来越多的与操作系统紧密集成,因此选择虚拟化软件时还要考虑到操作系统的选择。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈