你好,游客 登录 注册 搜索
背景:
阅读新闻

Virt相关命令总结

[日期:2014-08-05] 来源:Linux社区  作者:williamherry [字体: ]

CentOS下面多部分命令都是有包libguestfs-tools-c提供,所以,首先需要安装它

virt-ls

virt-ls可以列出虚拟机中目录下的文件或目录,用法如下

1
2
virt-ls [--options] -d domname dir [dir ...]
virt-ls [--options] -a disk.img [-a disk.img ...] dir [dir ...]

1
virt-ls -d centos2 /etc/

可以像使用ls一样加一些参数,如-l等,具体请看virt-ls --help

virt-what

virt-what可以用来检测当前系统是不是一个虚拟机,如果不是虚拟机,执行virt-what将不会有任何输出,如果是虚拟机,它会打印一系列关于虚拟机的’facts’(如kvm)

virt-what命令由同名包提供,要命令需要先安装(yum -y install virt-what)

virt-host-validate

这个命令可以用来检测本机是否正确配置以运行虚拟化,如果没有加参数,它会检查它所知道的所有的虚拟化驱动,可选的可以加qemulxc做限制

1
virt-host-validate

输出类似这样

1
2
3
4
5
  QEMU: Checking for hardware virtualization                       : PASS
  QEMU: Checking for device /dev/kvm                               : PASS
  QEMU: Checking for device /dev/vhost-net                         : PASS
  QEMU: Checking for device /dev/net/tun                           : PASS
   LXC: Checking for Linux >= 2.6.26                               : PASS

virt-top

virt-top命令由同名软件包提供,和top命令相似,只是进程换成了虚拟机

1
2
yum -y install virt-top
virt-top

输出

1
2
3
4
5
6
7
8
9
virt-top 16:58:01 - x86_64 8/8CPU 2127MHz 7854MB 12.2% 12.0% 12.8% 12.0% 12.1% 12.0% 12.0% 12.0%
4 domains, 3 active, 3 running, 0 sleeping, 0 paused, 1 inactive D:0 O:0 X:0
CPU: 12.7% Mem: 2048 MB (2048 MB by guests)
  ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME
  40 R    0    0   52    0 12.5  6.0  66:38.82 centos2
  32 R    0    3   22  38K 13.5 16.0  26:28.82 win2003
  40 R    2    0   52    0 12.5  8.0  36:18.82 test
   -                                           (centos3)

virt-cat

virt-cat可以虚拟机中文件的内容,用法如下

1
2
virt-cat [--options] -d domname file [file ...]
virt-cat [--options] -a disk.img [-a disk.img ...] file [file ...]

1
virt-cat -d centos2 /etc/passwd

domname可以通过virsh list得到

也可以对虚拟机的磁盘文件操作

1
virt-cat  -a /opt/images/centos2.img /etc/passwd

virt-edit

这个命令可以修改

1
2
virt-edit [--options] -d domname file [file ...]
virt-edit [--options] -a disk.img [-a disk.img ...] file [file ...]

例如

1
virt-edit -d centos2 /etc/passwd

在我的系统中它会用vim打开文件,编辑完保存即可修改虚拟机内的文件内容

也可以直接对虚拟机的磁盘文件进行操作

1
virt-edit -a /opt/images/centos2.img /etc/passwd

Note: 如果虚拟机正在运行,使用第一种文件修改它的文件会有下面的报错

1
2
3
4
5
Libguestfs: error: error: domain is a live virtual machine.
Writing to the disks of a running virtual machine ca cause disk corruption.
Either use read-only access, or if the guest is running the guestfsd daemon
specify live access. In most libguestfs tools these options are --ro or
--live respectively. Consult the documentation for further information.

但直接对虚拟机磁盘镜像文件操作不会有这个提示,并且可以修改成功,会不会出问题我就不知道了

virt-copy-out

virt-copy-out这个命令可以把虚拟机里的文件复制出来, 用法如下

1
2
virt-copy-out -d domname file|dir [file|dir ...] localdir
virt-copy-out -a disk.img file|dir [file|dir ...] localdir

例子

1
virt-copy-out -d centos2 /etc/passwd .

可以是多个文件或目录

1
2
mkdir tmp
virt-copy-out -d centos2 /etc /home /root/.bashrc tmp

也可以直接对虚拟机磁盘文件操作,只需要将-d domname换成-a path_of_disk_file

virt-copy-in

virt-copy-in是将文件复制到虚拟机里面,用法和virt-copy-out基本相同,这里只举一个例子

1
virt-copy-in -d centos2 test.txt /opt/

不出你的所料,如果虚拟机正在运行,上面的命令也会报错

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2014-08/105140p2.htm

linux
相关资讯       Virt 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款