linux下virsh管理工具的使用方法

上一篇 / 下一篇  2011-07-26 15:51:59 / 个人分类:Linux

virsh管理工具

1、简介

Virtual Shell是一个命令模式的Xen管理工具。virsh是由一个名为libvirt的软件提供的管理工具,提供管理虚拟机更高级的能力。virsh大部分的功能与xm一样,你可以利用virsh来启动、删除、控制、监控Xen的区域,因此你也可以利用virsh来管理Xen中所有的虚拟机。

你可能会很好奇,既然已经提供了xm管理工具,为何Red Hat Enterprise Linux还需提供virsh

这是因为在Linux领域里,除了Xen外,还有许多种机制也提供虚拟化的功能,然而,不同的虚拟化系统的使用方法都不太相同。为了让Linux可以通过同一种方法读取与管理各种虚拟化子系统,libvirt团队(http://libvirt.org/)便开发出了libvirt.so链接库,让软件的开发人员可以用libvirt.so提供的API来管控所有的虚拟化系统。而virsh就是利用libvirt.so链接库编写而成的管理工具。因此,不管实质上执行的是何种虚拟化子系统,你只需学会virsh的使用方法,就可以藉此来使用或管理各种虚拟化系统提供的虚拟机了。

下面将介绍virsh这个管理工具的使用方法。

2基本语法

virsh的基本用法如下:

virsh [COMMAND] [ARGS...]

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

xm一样,COMMAND也是virsh提供的命令,常用的命令如图1所示

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

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

虚拟机的名称。

虚拟机启动后的标识符。

虚拟机的UUID

下面是使用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,结果与互动模式完全一样。
由于virshxm的部分功能相同,因此,这里仅介绍virshxm的不同之处。

3查看Domain信息

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

执行图2的每一个命令时,你都必须指定虚拟机的名称、标识符和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的虚拟机之名称。

system1UUID

④ 这则是system1完整的信息。

4转储区域配置

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

转储虚拟机设置值有什么好处?

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

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

virsh dumpxml DOMAIN

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

[root@linux ~]# virsh dumpxml system1 ?
<domain type='xen' id='3'>
<name>system1</name>
<uuid>8f35e0d3f9d011f7c0a530bd84228549</uuid>
<bootloader>/usr/bin/pygrub</bootloader>
<os>
<type>linux</type>
<kernel>/var/lib/xen/vmlinuz.39zui7</kernel>
<initrd>/var/lib/xen/initrd.bTaKXX</initrd>
<cmdline>ro root=LABEL=/</cmdline>
</os>
<memory>512000</memory>
<vcpu>1</vcpu>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<devices>
<interface type='bridge'>
<source bridge='xenbr0'/>
<mac address='00:16:3e:1f:9a:73'/>
<script. path='vif-bridge'/>
</interface>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/xmdisk/system1'/>
<target dev='xvda'/>
</disk>
<graphics type='vnc' port='5900'/>
<console tty='/dev/pts/4'/>
</devices>
</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的设置数据备份文件。


1

1

2

2

TAG:

 

评分:0

我来说两句

日历

« 2024-10-04  
  12345
6789101112
13141516171819
20212223242526
2728293031  

数据统计

  • 访问量: 54334
  • 日志数: 28
  • 建立时间: 2011-07-06
  • 更新时间: 2011-08-09

RSS订阅

Open Toolbar