歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Virt相關命令總結

Virt相關命令總結

日期:2017/2/28 14:29:15   编辑:Linux教程

在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

Copyright © Linux教程網 All Rights Reserved