全部博文(95)
分类: LINUX
2009-07-18 11:32:44
xm工具提供了一个命令行,允许你使用虚拟机做你所需的任何事。图形工具也可用,不过它们没有xm命令行工具好用。
使用xm工具通常用xm list命令开始。这个命令显示了可用的虚拟机清单及其设置:
在xm list输出里,你能看见运营虚拟机的最重要信息的概要。第一列里是虚拟机的名字,随后是状态信息,包括机器的ID、内存分配、CPU配置和当前状态。在上面列出的信息中,你能看见只有domain-0是活动的。
为了激活虚拟机,你需要xm create。根据命令xm help,能显示xm命令的使用时期信息,xm create命令“creates a domain based on
lin:~ # xm create main
Using config file "/etc/xen/vm/main".
Started domain main
现在有趣的是在控制台你看不到任何说明机器已经启动的信息。只有xm list的结果显示你实际上已经有两台机器是活动的。新虚拟机现在有一个ID,并且它目前的状态也有说明。
如果你确实想看见虚拟机做了什么,我能推荐xm top命令。像Linux top命令,这个命令给出了虚拟机所做事情的非常详细的概貌。
***xmtop.tif With xm top you’ll get a detailed overview of what your virtual machines are doing.
不要担心你所看见的结果窗口里指示至少一个机器不是活动的。这一点不成问题。不活动的机器仅是一台CPU上没有任何动作的机器。这是你能经常看见的,例如,一台不是很繁忙的web服务器。
你能通过在虚拟机的CPU使用百分比和全部内存使用上找到特别有趣的信息。你能看见全部内存使用与MAXMEM参数有关。这是虚拟机能使用的最大内存数量(能快速增长,稍后我们见谈论)。
这时候你能启动并运行虚拟机,不过没有附属于它的控制台。如果你想看虚拟机做了什么的话,你能使用xm console命令。从这里,你能执行所有机器上你所需的管理任务。
***xmconsole.tif The xm console command gives access to the text based console of your virtual machine.
准备好在虚拟机的控制台上工作了吗?使用ctrl-] keysequence 回到domain-0机器的控制台。
到现在为止,我们已经谈论了你应该在一个非托管环境里使用的命令。现在的Linux版本,如Red Hat Advanced Server和SUSE Linux Enterprise Server,它们与Xen一起使用,是一个托管型的环境,叫做Xenstore。这意味着xm命令行工具以及Virtual Machine Manager这样的图形工具使用了一个数据库。如果你想要你的虚拟机出现在托管环境,那你需要知道一些额外的xm命令。
首先,创建虚拟机后,需要xm new命令添加机器到托管环境。完成后,使用xm start启动域。这个命令的结果与xm创建命令的结果一样,也有例外,依赖于托管环境的工具也能正确地与虚拟机相互作用。最后,你能使用xm删除命令从托管环境移除虚拟机。
停止或暂停一个域
当使用Xen虚拟机时,有许多方式告诉虚拟机停止活动。最难的方式之一是使用xm destroy命令。这会立即终止虚拟机,相当于从物理服务器拉断电源。使用xm destroy命令停止虚拟机是一个比较极端的方法。你可能会想:当前你正使用的文件是打开的,使用这个命令在不能保存文件的情况下关闭了文件,因此会丢 失数据。所以更好的是使用xm shutdown命令。这能能好地关闭域,如在Linux环境里使用shutdown命令。你也能使用xm reboot命令重新启动虚拟机。
在Xen环境里,暂停虚拟机也是有可能的。想要暂停虚拟机,你需要使用xm pause命令。这能停止机器,不过能在内存里保持机器。如果你现在不需要使用虚拟机,不过稍后需要的话,那么使用这个命令。暂停一个域之后,使用xm unpause命令激活虚拟机。
保存虚拟机有一点困难。在这种情况下,保存意味着目前存在于内存中的状态被写入文件。在那之后,虚拟机就不在内存里了。这有超过xm pause命令的两个优势:你能把物理的内存使用到其他事物上,移动或复制虚拟机到另一台机器上更容易。使用xm save命令保存虚拟机之后,能使用xm restore命令恢复。当使用xm restore时,也应该涉及到保存机器时所创建的文件。
本文里的命令概述
xm list:所有已知的虚拟机列表
xm create:启动一个非托管的虚拟机
xm help:所有可用的xm命令概述
xm top:提供所有虚拟机的状态概貌
xm console:打开控制台管理虚拟机
xm new:添加虚拟机到Xenbase托管环境
xm start:从Xenbase托管环境启动虚拟机
xm destroy:像关掉电源那样关闭虚拟机
xm shutdown:正确地关掉虚拟机
xm reboot:重新启动虚拟机
xm pause:暂停虚拟机的活动而不释放使用的内存资源
xm unpause:激活使用xm pause命令暂停的虚拟机
xm save:保存虚拟机状态到一个文件
xm restore:重新启动已经保存在文件里的虚拟机
总结
现在,我们了解了如何使用xm命令执行基本的Xen虚拟机管理。中,我们将学习如何执行更多高级的任务,例如使用xm命令进行硬件管理。