首页 理论教育 云计算应用开发实践:全虚拟化技术

云计算应用开发实践:全虚拟化技术

时间:2023-11-20 理论教育 版权反馈
【摘要】:在全虚拟化Hypervisor上运行的客户操作系统不需要经过任何修改。在第1章中使用的VMware Server采用的正是全虚拟化技术。图2-10 WindowsXPMode虚拟机启动状态在图2-10中有两种虚拟化软件可供选择,它们分别是KVM和Virtualization,Virtualiza-tion即为Xen虚拟化技

云计算应用开发实践:全虚拟化技术

在全虚拟化Hypervisor上运行的客户操作系统不需要经过任何修改。在第1章中使用的VMware Server采用的正是全虚拟化技术。除了VMware Server之外我们还有其他的选择。下面针对Windows,Linux以及服务器环境分别选择Virtual PC,Red Hat Xen以及ESXi Server介绍。

注意Red Hat Xen以及VMware ESX需要硬件虚拟化支持,故如果想试验一下使用Red Hat Xen虚拟化软件,需要一台支持Intel-VT的计算机或是一台支持AMD-V的计算机。微软VirtualPC则不需要。

1.微软Virtual PC

微软在2007年时就曾发布过Virtual PC 2007虚拟化软件,而在Windows 7操作系统中,为了解决应用软件兼容性的问题推出了一个叫XP Mode(XP模式)的版本兼容性软件。它的实质是在Windows 7中启动一个Windows XP虚拟机。在最初的Windows 7发布版本中,只有具备硬件辅助虚拟化功能的计算机才能安装,也即只有支持Intel-VT或AMD-V的CPU上才能运行Virtual PC。但微软很快就推出了不需要硬件虚拟化的VirtualPC软件。

(1)安装Windows Virtual PC与Windows XP Mode

Windows Virtual PC暂时只支持Window 7,首先,从微软官方网站下载Windows 7 Virtual PC(http://www.microsoft.com/windows/virtual-pc/download.aspx),笔者在写本节内容时微软将XPMode与VirtualPC放在一起下载,如图2-2所示。

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

图2-2 下载Virtual PC与Windows XP Mode

在通过正版Windows7认证后就可下载,对于没有硬件虚拟化支持的用户,请下载STEP4的下载包,就可以解决。安装下载包跟普通Windows安装包一样,只是需要重启一次计算机。

安装结束后,依次单击“开始”菜单→“所有程序”→Windows Virtual PC菜单项,启动Virtual PC,如图2-3所示。

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

图2-3 Windows Virtual PC启动菜单

首次运行Windows XP Mode,系统将会创建一个WindowsXP虚拟机,如图2-4所示。

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

图2-4 创建好的Windows XP Mode虚拟机

现在可以测试一下Windows XP Mode虚拟机。

(2)安装虚拟机

在Windows 7下Virtual PC提供自动安装Windows XP虚拟机的功能,单击图2-3中的Windows XP Mode菜单系统就会自动安装Windows XP虚拟机。同时,Virtual PC也支持手动安装虚拟机,如图2-5所示。

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

图2-5 手动安装虚拟机

注意,根据笔者实际使用微软Windows6.1-KB958559-x86-RefreshPkg.msu安装包测试的结果,Virtual PC对Linux操作系统的显卡支持还有些问题,故建议读者暂时安装Win- dows XP进行实验。

启动Windows XP Mode虚拟机,如图2-6所示。选择虚拟机依次单击“打开”→Win- dows Virtual PC菜单项。

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

图2-6 启动Windows XP Mode虚拟机

启动Windows XP Mode虚拟机后将看到如图2-7所示的画面,一个Windows XP虚拟机已经可以使用了。

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

图2-7 使用Windows Virtual PC启动的Windows XP虚拟机

打开虚拟机中“我的电脑”,可以看到Windows Virtual PC为方便用户访问已有文件,将启动虚拟机的Windows 7中的所有硬盘都作了映射,如图2-8所示。

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

图2-8 Windows XP Mode虚拟机中的硬盘映射

(3)编程接口调查

还记得我们在第1章中使用VMware Server自带的命令行启动和暂停虚拟机吗?微软Windows Virtual PC暂时不提供命令行,不过微软官方网站却提供一个叫Virtual PC 2007的程序包,这个版本是为Windows Vista而开发的虚拟化工具,它就提供命令行对虚拟机进行操作(但是在安装过程中,Virtual PC 2007与Windows Virtual PC不兼容),相信不久Win-dows Virtual PC也会支持命令行。除了使用命令行控制虚拟机外,我们还可以通过编程接口控制虚拟机,Windows Virtual PC提供Windows COM编程接口(关于COM接口的介绍,在第8章我们会使用Windows COM组件将Excel搭建在云计算环境中)。Virtual PC现在支持的API可以通过微软官方网站查询。一般我们比较关心如何启动以及关闭虚拟机,微软提供了相应的IVMVirtualMachine接口,这个接口所包含的部分方法见表2-1。

表2-1 IVMVirtualMachine接口所包含的部分方法

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

2.Red Hat Xen

基本上所有Linux正式发行版上都会附带Xen Hypervisor,这里选Red Hat Enterprise 5.4作为实例作介绍。

(1)安装Red Hat Xen

在RedHat操作系统中安装Xen虚拟化软件有两种方法,第一种是在安装过Linux操作系统的计算机上安装Xen虚拟化软件,第二种是在安装Red Hat操作系统的时候选择安装。我们一般使用第二种安装方式,具体是在定制软件包的时候,选择需要用到的虚拟化软件,如图2-9所示。

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

图2-9 定制化虚拟软件的安装

在图2-9中单击customize now单选按钮,单击next按钮,选择Virtulization软件组,如图2-10所示。

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

图2-10 WindowsXPMode虚拟机启动状态

在图2-10中有两种虚拟化软件可供选择,它们分别是KVM和Virtualization,Virtualiza-tion即为Xen虚拟化技术。而KVM是Linux社区提供的另一款虚拟化软件。在图2-10中单击Optional packages按钮,可以选择所需要的虚拟化软件包。其中,我们重点选择virt-manager,如图2-11所示。

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

图2-11 选择需要的虚拟化软件包

(2)安装虚拟机

使用Xen虚拟化软件,一般要通过虚拟机管理器(Virtual Machine Manager)进行虚拟机的管理。登录Red Hat Xwindows图形化操作界面后,在命令行中输入virt-manager,将看到如图2-12所示的Virtual Machine Manager界面。在该界面中还可以看到本地计算机已经被添加到虚拟机管理器中。

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

图2-12 Virtual Machine Manager界面

在本地计算机的节点上单击鼠标右键,选择New将可以创建一个新的虚拟机,如图2-13所示。

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

图2-13 创建新虚拟机

接着会弹出虚拟机创建方式窗口,如图2-14所示。

(3)编程接口调查

Red HatXen提供命令行工具virsh操作虚拟机,virsh基本命令如下:

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

除此之外Xen虚拟化软件还提供了相应的C语言编程接口供开发人员使用。

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

图2-14 虚拟机创建方式窗口

3.VMware ESX Server

VMWare公司最早开发并完成了基于x86计算机体系结构的虚拟化软件,因此他们有一系列的虚拟化产品,并且格式统一。VMware的虚拟机文件可以运行在不同系列的VMware虚拟化产品上。在第1章中使用的VMware Server是VMware公司为个人虚拟化入门用户提供的免费虚拟化产品。VMware公司为企业用户提供的虚拟化产品称为EXS Server,其免费版本ESXi同样可以从VMware的网站下载(下载VMware的产品需要注册VMware账户,一般在首次注册完成后,需要使用同样的信息再次访问VMware的网站才能激活账户)。

(1)安装ESXi Server

目前ESXi Server只支持Intel Xeon(至强)且带VT技术,以及AMD Opteron(皓龙)且带AMD-V技术。这样的CPU一般都是服务器上使用的CPU。对于一般读者而言,找到这样的测试机并搭建测试环境可能有一定难度。但ESX Server是企业中使用比较广泛的一种虚拟化技术。所以还是有必要在这里跟大家介绍一下ESX Server的搭建以及使用。

首先,从VMWare官方网站下载ESXi安装光盘,这里下载的是ESXi4.1的安装光盘。如果是安装一台新服务器,一般需要将ISO文件刻录为光盘后再安装。将光盘放入光驱,同时将服务器通过ESXi光盘引导,将看到如图2-15所示提示界面,选择ESXi Installer界面将开始安装ESXi Server。

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

图2-15 用ESXi光盘引导启动服务器

注意在下面的操作前请确认服务器上没有需要保存的文件,因为ESXi Server的安装会将服务器上的硬盘重新格式化,所以请确认所有服务器上的资料都已经备份,并且没有其他人使用这台服务器。按〈Enter〉键即开始ESXiServer的安装,如图2-16所示。

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

图2-16 用ESXi光盘

安装成功后将可以看到如图2-17所示界面。

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

图2-17 安装成功

新安装的ESXi Server一般不设置密码,启动后将可以看到如图2-18所示的ESXi Server控制台,在这里可以对密码和网络等进行配置。

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

图2-18 ESXi Server控制台

(2)安装虚拟机

读者也许会奇怪,在图2-18中为何没有虚拟机配置选项。VMware将ESXi Server设计成虚拟化服务器,所谓服务器,与之前介绍的侧重于桌面虚拟化的Virtual PC不同,用户一般通过网络来访问虚拟化服务器。要使用ESXi Server的虚拟化功能,我们需要使用VMware vSphere Client。打开浏览器,输入http://ESXi Server的IP地址,将可看到如图2-19所示的ESXi Server说明及客户端下载界面。

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

图2-19 ESXi Server说明及客户端下载界面

单击Downloadv Sphere Client链接即可下载vSphere Client。

下载的vSphere Client是一个Windows安装包,安装后会在桌面上创建VMwarev Sphere Client图标,如图2-20所示。双击该图标,即可登录ESXi Server虚拟化操作平台。用户名为root,密码是在图2-18中设置的。

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

图2-20 VMware vSphere Client图标

双击图标后可以看到如图2-21所示的ESXi Server虚拟化控制台界面。

在ESXi Server虚拟化控制台中,单击978-7-111-36687-4-Chapter02-23.jpg按钮,将创建新的虚拟机。关于新虚拟机的创建,基本步骤与Virtual PC以及Virt-Manager类似,只要按照提示一步一步创建即可。需要注意的是,ESXi Server有自己的磁盘管理系统,需要将安装文件的光盘镜像(iso)文件上传到ESXi Server的文件系统中才能在远程安装客户操作系统,上传安装光盘镜像后,单击power-on即可安装,如图2-22所示。

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

图2-21 ESXi Server虚拟化控制台界面

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

图2-22 上传客户操作系统镜像文件

(3)编程接口调查

VMware ESXi Server提供Webservice接口供开发人员使用。Webservice接口是一种基于XML格式的公开网络访问协议,基本上每一种编程语言都有相应的实现。它可以从VMware官方网站下载。这里一定要注意SDK的版本,本书使用的是ESXiServer4.1,要下载相应的SDK。笔者下载的版本是VMware-vSphere-WS-SDK-4.1.0-257238。下载SDK文件包并解压缩后,可以在SDK\samples中看到两个文件夹Axis以及DotNet,Axis是支持Java语言的一种Webservice实现,在Axis文件夹中存放Java语言的例子,而DotNet文件夹中存放微软C#语言的例子。启动以及关闭虚拟机的Java编程接口位于类com.vmware.vim.VimPortType中,这个接口所包含的部分方法见表2-2。

表2-2 VMware Java编程接口

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

读者可以参考com.vmware.samples.vm.VMpowerOps类中对虚拟机操作的实现。

(4)VMware虚拟化架构

VMware ESX Server是VMware公司针对企业用户推出的关键虚拟化产品。它不依赖于任何第三方操作系统。为此VMware公司创建了专门的操作系统(Host Operating System,类Linux操作系统),它将虚拟化层(Hypervisor)架构在VMware的操作系统之上。这也是为什么我们在安装ESX Server时并不需要像VMware Server那样,需要安装在其他操作系统之上。这样的设计也使得ESX Server成为了只专注于虚拟化任务的服务器操作系统。这种专注于虚拟化技术的操作系统是未来虚拟化软件发展的一个趋势,它比架构在现有操作系统上更加节省系统资源,更专注于虚拟化。

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

我要反馈