要在XenServer主机上安装一台虚拟机有三种方法——从顶部的菜单栏安装;在AC上部右击主机安装;从AC上部的任务栏安装。当选择安装虚拟机时,在标签窗口会出现第五个标签——“安装XenVM”。然后,在AC的下部,会问用户使用什么虚拟机名,占用多大虚拟CPU,分配多大初始内存,以及使用什么模板安装虚拟机。用户也可以更改虚拟机的初始虚拟硬盘大小和添加额外的虚拟硬盘。此外,用户还可以选择虚拟机是否连接到主机服务器的物理光驱或使用ISO镜像。在AC的右下角底部,点击“安装”标签以完成虚拟机设置。AC底部会切换到“历史”标签,显示呈递到主机服务器命令队列的“安装XenVM”命令。
现在,XenVM安装完成。从AC上部的列表中选择虚拟机,任务栏中的任务会发生变化,有些任务仅适用于虚拟机,如重启或关闭。和选中XenServer主机一样,选中虚拟机时下方也会显示一个标签窗口,而且标签也差不多:“摘要”、“性能”和“历史”。
“摘要”标签显示虚拟机配置的子操作系统(guest OS)类型,虚拟硬件配置——虚拟CPU、内存、虚拟硬盘,以及虚拟机CD-ROM的配置和网口设置。“性能”标签显示虚拟机CPU使用的详细信息。如果虚拟机OS中安装了XenVM工具包,“性能”标签还会显示更多的性能信息。和主机服务器的“历史”标签相似,虚拟机的“历史”标签显示虚拟机或用户在虚拟机所发生的事件列表。
主机服务器有一个“文本控制台”标签,而虚拟机上有一个“图形控制台”标签,位于“摘要”和“性能”之间。此标签显示控制台与指定虚拟机的连接。它之所以被称为“图形控制台”是因为安装在虚拟机上的guest OS可能是Windows(使用的是图形用户界面)或安装了Xen的Linux系统。
安装guest OS
在虚拟机上安装子操作系统还是有必要的。要完成这个操作,只需在主机服务器的光驱插入Windows Server 2003安装CD,或是复制一个ISO镜像文件到XenServer主机。为了让ISO镜像文件在XenServer AC中可见,必须将此文件复制到主机服务器的这个路径下:"/opt/xensource/packages/iso/."。例如,复制Windows Server 2003安装CD的ISO镜像到主机服务器的"microsoft_windows_server_2003_standard_edition_sp1.iso"。
要用ISO镜像文件来安装guest OS,只需在AC的上部选择VM,然后在底部点击VM的“摘要”标签,右边显示区会有一个标为“配置”的部分。找到“CD-ROM”部分,点击“磁盘”下方的条目,会出现一个下拉选项框。选项框中有拷贝到主机服务器的ISO镜像文件,选中这个文件然后点击右下角的“应用”。选择虚拟机的“图形控制台”,点击上方任务栏的“重启”任务,重新启动虚拟机。Xen AC会询问用户是否确定重启虚拟机,选择确定即可。虚拟机重启时会从ISO镜像启动,进入Windows安装程序。和在物理服务器上安装Windows一样,一步一步按照提示安装即可。安装完成后,就可以安装XenVM工具包了。
安装XenVM工具包
安装XenTools package的第一步就是为虚拟机安装XenTools package的ISO镜像,具体过程和安装Windows安装程序的ISO镜像一样。唯一不同的是,ISO镜像文件名取为"xswindrivers.iso."。安装好XenTools package的ISO镜像后,Windows guest OS会自动运行XenTools安装程序。经过一些安装步骤之后,安装XenTools驱动(尽管驱动没有签名)。安装完成后,重启虚拟机,以便新驱动发生作用。
XenVM工具包安装完成后,重启虚拟机,点击虚拟机的“性能”标签。现在除了显示CPU使用信息以外,还会有内存使用、磁盘交换率、网络速率等信息。这些信息在上方的虚拟机名旁边的列表中也会有显示。此外,安装XenVM工具后,还可以将虚拟机的显示分辨率调得更高。要想显示区更大的话,可以点击虚拟机右上方图形控制台的“浮动”按钮。
退出AC会断开客户机和XenServer主机的连接,但是不会中止主机上运行的虚拟机。要重新连接到主机,只需再打开AC,输入管理密码以恢复上次的session或登陆XenServer主机即可。
XenServer的利弊权衡
每个软件都有它的优点和不足之处,XenServer 3.1.0也不例外。那么,XenServer 3.1.0的闪光点到底在哪里呢?与其它软件相比,它的不足之处又在哪里呢?
Hypervisor
XenSource的XenServer使用开源的Xen作为它的hypervisor。为什么呢?因为毕竟XenSource公司是由Xen的开发者所运作的。没有人会比Xen的开发者更了解Xen,这就是为什么XenServer的各个部分中最精炼的是hypervisor的原因。不过,也有一些吹毛求疵的问题。首先是XenServer安装程序有问题,它闪烁的光标是×××的,这本身是没有问题的,但安装程序的文本输入区也是×××背景。结果用户怎么也不知道具体在哪输入。此外,安装程序还有一个问题。用户在安装过程中默认选择都是DHCP(Dynamic Host Configuration Protocol,即动态主机配置协议)。用户在DHCP和“异种网络配置”(Different Network Configuration)之间做出选择后,安装程序的默认值始终是DHCP,然后会有很多提示,包括IP地址设置和域名服务器设置。
用户没有选择DHCP而选其它的,安装程序应该记住这个选择,而不要始终假定用户在下一个菜单会改变主意。是的,其实这两个问题都太琐碎、不足轻重了。然而,XenSource旨在建立一个完美的虚拟化解决方案,无论多小的瑕疵都会有影响。因此,即使意识到最小的错误从而做出修改也是很重要的。
快照
XenServer hypervisor很显然缺少的一个功能就是快照。用户已经习惯将虚拟化与轻松返回联系在一起,因为虚拟化有快照功能。如果管理员必须得使用快照功能,他们马上会疑惑XenServer的这个功能到底在哪。
64位子操作系统
目前,hypervisor不支持任何64位的Windows子操作系统(guest OS)。支持64位的guest OS也是XenServer的一个计划。Hypervisor还有一个烦恼,就是用于增强guest OS性能的XenTools package不包含Windows签名驱动。并不是只有XenServer有这个问题,许多供应商都会提供驱动却不为驱动签名。驱动签名的意义就如从知名CA获得SSL证书一样。你用自己的当然也可以,但是向供应商购买驱动签名后,面对客户时会有一种企业的感觉和自信,而不是一团糟。
至于XenServer的其它问题,我还没能发现。总的来说,XenServer hypervisor还是一款非常坚固、稳定的软件。
omain-0
XenSource的XenServer 3.1.0使用CentOS 4作为它的control OS,XenSource不用对它们已经非常稳定的Linux做太多的修改。然而,XenServer的control OS仍然还有很大的改进空间。
指导页(man page)可以显示命令的用途和用法详细信息,所有的命令都应该与指导页相关联。“Xenstore”命令不与任何指导页关联,它执行的结果是打印命令的用法,但是通过正确的设置后,执行结果并没有实际的影响。这个命令到底有什么用呢?指导页将会很方便找到答案。
使用Linux的人都很熟悉“Xentop”命令,因为它的名字和传统的“top”命令很相似。这个命令实时显示服务器的性能数据和主机中虚拟机的性能数据。然而,“Xentop”输出虚拟机名的格式大大地降低了该命令的有效性。Xentop使用的是虚拟机的UUID(Universally Unique Identifier),而不是更有用的虚拟机名。(提示:请使用“xe host-vm-list”命令打印虚拟机列表和它们的UUID)Xentop可以自由打印UUID和虚拟机名,不过虚拟机名是必须打印的。
公平地说,上面所说的这些不足之处,并不只是存在于XenSource。由于XenSource使用的是开源的Xen hypervisor,他们必须使用现有的软件。是的,XenSource可以修改这些命令,但是那会让已经熟悉了Xen的用户迷惑。如果XenSource可以这样解决这些问题,然后指导一下使用Xen的用户和开发者,那将会很有用。
domain-0还有一个问题是对通过控制台session管理XenServer主机有很大的影响。XenServer在文件系统中记录虚拟机的方式是通过UUID记录的,而不是虚拟机名。因此,对Xen新手来说,要知道一个虚拟机的文件存储在Xen主机的什么地方极其困难。如果将所有的虚拟机文件存储到一个目录下,会更合理一些。但是XenServer将文件存放在文件系统根目录的Xen store下,而且标的是UUID。例如,这个文件系统就是亲身实践创建的:
/SR-49a99eef-1015-4637-9983-b05fcd594e7c ——这是Xen store。
/SRM/configs——这是包含XenVM配置文件的目录。
/p_w_picpaths——这是包含XenVM虚拟硬盘的目录。
即使是用过Xen的用户可能也不太熟悉XenServer的虚拟机配置文件,因为他们不是按照《Xen用户手册》文档说明进行格式化的,尽管在/etc/xen目录下有这种格式的配置文件范例。XenSource在LISP中写了太多代码后,似乎采用的是自己习惯的XenVM配置格式。
除了上面所说的这些缺点外,domain-0没有其它大问题了。我们提到过,在domain-0安装的control OS是CentOS 4,它包含了所有的常用命令,以及用户所期望在CentOS 4发布能找到的所有后台程序。
Domain-0的特点之一就是它的功能很纯粹,XenSource没有创建可以修改基本功能的特殊配置功能,如control OS的防火墙。防火墙仅仅是标准的iptable装置,由/etc/sysconfig/iptables-config和/etc/sysconfig/iptables控制。