您的位置:首页 > 其它

虚拟机管理工具——virsh

2013-01-04 21:35 316 查看
1 基本语法
virsh的基本用法如下:

virsh [COMMAND] [ARGS...]


另外需要注意的是,virsh提供两种执行模式:"直接模式(DirectMode)"与"互动模式(InteractiveMode)"。在直接模式里,你必须在Shell中以参数、自变量的方式来执行virsh,如果在互动模式中,则virsh会提供一个提示字符串,你可以在该提示字符串后,输入要执行的命令。如果执行virsh没有指定任何参数或自变量则默认就是进入互动模式。

与xm一样,COMMAND也是 virsh提供的命令

virsh常用命令一览表:

help:显示该命令的说明
quit:结束 virsh,回到 Shell
connect:连接到指定的虚拟机服务器
create:启动一个新的虚拟机
destroy:删除一个虚拟机
start:开启(已定义的)非启动的虚拟机
define:从 XML 定义一个虚拟机
undefine:取消定义的虚拟机
dumpxml:转储虚拟机的设置值
list:列出虚拟机
reboot:重新启动虚拟机
save:存储虚拟机的状态
restore:回复虚拟机的状态
suspend:暂停虚拟机的执行
resume:继续执行该虚拟机
dump:将虚拟机的内核转储到指定的文件,以便进行分析与排错
shutdown:关闭虚拟机
setmem:修改内存的大小
setmaxmem:设置内存的最大值
setvcpus:修改虚拟处理器的数量

而virsh命令语法的ARGS则是COMMAND搭配的参数。不同的COMMAND可能需搭配不同的参数,至于什么COMMAND可以搭配哪些参数,我将会在对各功能的介绍中提到。

总地来说,如果ARGS需指定虚拟机,你可以使用下列的格式指定是哪一个虚拟机器。
以下就是使用 virsh的示范。

[root@linux ~]# virsh ?①
欢迎使用 virsh - 虚拟化的互动模式终端机。
类型:  「help」以取得命令的求助画面
「quit」离开
virsh # list
Id  名称        状态
----------------------------------
0  Domain-0  执行中
virsh # quit  ②
[root@linux ~]# virsh list  ③
Id  名称     状态
----------------------------------
0  Domain-0 执行中
[root@linux ~]#

① 以互动模式执行virsh。
② 结束 virsh的执行,回到默认的 Shell 下。
③ 这是以直接模式执行virsh,结果与互动模式完全一样。

由于virsh与xm的部分功能相同,因此,本节仅介绍virsh与xm的不同之处。

2 查看Domain信息

virsh可以查看虚拟机的相关信息,你只需在执行 virsh 时配合如表28-6所示的命令。
表28-6 查看Domain信息执行的命令

domid:查看虚拟机的标识符
domname:查看虚拟机的名称
domuuid:查看虚拟机的UUID
domstate:查看虚拟机目前的状态
dominfo:查看虚拟机的信息

执行上述的每一个命令时,你都必须指定虚拟机的名称、标识符和UUID。以下是我使用 virsh查看虚拟机信息的示范。

[root@linux ~]# virsh domid system1
3 ?①[root@linux ~]# virsh domname 3
system1  ②[root@linux ~]# virsh domuuid system1
8f35e0d3-f9d0-11f7-c0a5-30bd84228549 ③?[root@linux ~]# virsh dominfo system1 ④?
Id: 3
名称:  system1
UUID:  8f35e0d3-f9d0-11f7-c0a5-30bd84228549
操作系统类型: linux
状态:  以组绝
处理器数目: 1 处理器时间: 23.7s 最大内存: 512000 KB
已使用的内存: 511824 KB[root@linux ~]#

① 这是 system1虚拟机的标识符。
② 这是标识符 3的虚拟机之名称。
③ system1 的UUID。
④ 这则是 system1完整的信息。

3 转储区域配置
除了上述的功能外,virsh也允许把某一个虚拟机目前的设置值存储下来。virsh把设置值存储下来的动作,称为"转储(Dump)"。

转储虚拟机设置值有什么好处?
好处很多,我至少想到两个。首先,转储虚拟机的设置值可以让你把某一个虚拟机的设置备份下来,以供日后恢复该设置配置。其次,如果要用virsh 来启动一个虚拟机,你必须指定该虚拟机的配置文件。因此,如果你希望用virsh来管理所有的虚拟机,那么请务必把每一个虚拟机的设置值转储下来后妥善保存。

如果要转储虚拟机的设置值,你可以执行:

virsh dumpxml DOMAIN


其中的DOMAIN就是要转储的虚拟机。

你可以使用虚拟机的名称、标识符或是UUID来指定要转储到哪一个虚拟机。以下是我使用virsh转储虚拟机的范例。

[root@linux ~]# virsh dumpxml system1 ?①
<</span>domain type='xen' id='3'>
system1<</span>/name>
8f35e0d3f9d011f7c0a530bd84228549</</span>uuid>
/usr/bin/pygrub<</span>/bootloader>
linux</</span>type>
/var/lib/xen/vmlinuz.39zui7<</span>/kernel>
/var/lib/xen/initrd.bTaKXX<</span>/initrd>
ro root=LABEL=/<</span>/cmdline>
</</span>os>
512000<</span>/memory>
1</</span>vcpu>
destroy<</span>/on_poweroff>
restart</</span>on_reboot>
restart<</span>/on_crash>>
<</span>mac address='00:16:3e:1f:9a:73'/>
<</span>script path='vif-bridge'/>
<</span>/interface>>
<</span>source dev='/dev/xmdisk/system1'/>
<</span>target dev='xvda'/>
<</span>/disk>>
<</span>console tty='/dev/pts/4'/>
<</span>/devices>
</</span>domain>
[root@linux ~]# ls ②
anaconda-ks.cfg  Desktop/  install.log  install.log.syslog
[root@linux ~]# virsh dumpxml system1 > system1.virsh.xml ?③
[root@linux ~]# ls
anaconda-ks.cfg  Desktop/  install.log
install.log.syslog  system1.virsh.xml ?④

① 这是 system1的设置数据。
②目前这个目录下只有这几个文件。
③ 现在把 system1转储后的设置数据转向存储于 system1.virsh.xml文件中。
④ 这就是 system1的设置数据备份文件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: