読者です 読者をやめる 読者になる 読者になる

virt-*** コマンドをいくつか試す

KVM Linux

virt-*** というコマンドがあるようでしたので、いくつか試してみました。
その時のメモです。

virt-top

「top」コマンドに近い形で仮想マシンのCPU使用状況を表示します。

virt-top 00:50:02 - x86_64 1/1CPU 2799MHz 3259MB
5 domains, 3 active, 3 running, 0 sleeping, 0 paused, 2 inactive D:0 O:0 X:0
CPU: 0.0%  Mem: 1536 MB (1536 MB by guests)

   ID S RDRQ WRRQ RXBY TXBY %CPU %MEM    TIME   NAME                            
    1 R                      0.0 15.0   3:29.95 guest1
    2 R                      0.0 15.0   3:26.21 guest2
    3 R                      0.0 15.0   3:24.93 host3
    -                                           (host4)
    -                                           (host5)


「--csv」オプションでCSVファイルにも結果を出力させることが出来るようです。
これは中々便利かも知れません。

Hostname,Time,Arch,Physical CPUs,Count,Running,Blocked,Paused,Shutdown,Shutoff,Crashed,Active,Inactive,%CPU,Total hardware memory (KB),Total memory (KB),Total guest memory (KB),Total CPU time (ns),Domain ID,Domain name,CPU (ns),%CPU,Block RDRQ,Block WRRQ,Net RXBY,Net TXBY
host,00:51:52,x86_64,1,5,3,0,0,0,0,0,3,2,0.0,3337904,1572864,1572864,0,1,guest1,0.,0.,,,,,2,guest2,0.,0.,,,,,3,guest3,0.,0.,,,,
host,00:51:55,x86_64,1,5,3,0,0,0,0,0,3,2,18.9,3337904,1572864,1572864,570000000,1,guest1,190000000.,6.29013043778,0,0,60,42,2,guest2,200000000.,6.6211899345,0,0,0,0,3,guest3,180000000.,5.95907094105,0,0,0,0
host,00:51:58,x86_64,1,5,3,0,0,0,0,0,3,2,18.6,3337904,1572864,1572864,560000000,1,guest1,190000000.,6.300380655,0,0,0,0,2,guest2,180000000.,5.96878167316,0,0,0,0,3,guest3,190000000.,6.300380655,0,0,0,0

virt-df

仮想マシンに対して「df」コマンド相当の処理を行います。

引数付けずにコマンド実行すると、全ての仮想マシンについて実行します。
(起動していないものも含めて)

# virt-df
Filesystem                           1K-blocks       Used  Available  Use%
guest1:/dev/VolGroup/lv_root         8813300     881128    7484480   10%
guest1:/dev/vda1                      495844      47414     422830   10%
guest2:/dev/VolGroup/lv_root   8813300     798792    7566816   10%
guest2:/dev/vda1                495844      47414     422830   10%
guest3:/dev/VolGroup/lv_root      8813300     913180    7452428   11%
guest3:/dev/vda1                   495844      47414     422830   10%
guest4:/dev/VolGroup/lv_root             8813300     940352    7425256   11%
guest4:/dev/vda1                          495844      47414     422830   10%
guest5:/dev/VolGroup/lv_root             8813300     938628    7426980   11%
guest5:/dev/vda1                          495844      47414     422830   10%


「-i」オプションを付けるとiノードの使用状況を表示。

Filesystem                              Inodes      IUsed      IFree IUse%
guest1:/dev/VolGroup/lv_root          559728      22125     537603    4%
guest1:/dev/vda1                      128016         44     127972    1%
guest2:/dev/VolGroup/lv_root    559728      19868     539860    4%
guest2:/dev/vda1                128016         44     127972    1%
guest3:/dev/VolGroup/lv_root       559728      25159     534569    5%
guest3:/dev/vda1                   128016         44     127972    1%
guest4:/dev/VolGroup/lv_root              559728      25093     534635    5%
guest4:/dev/vda1                          128016         44     127972    1%
guest5:/dev/VolGroup/lv_root              559728      25000     534728    5%
guest5:/dev/vda1                          128016         44     127972    1%

virt-tar


仮想マシンのファイルやディレクトリに対して、tarコマンド相当の処理を行えます。


以下のようにして使います。

# virt-tar --extract host1 /home /home/myusr/host1_home.tar


ホストOS側でまとめてバックアップ取りたいときなど便利かも。

virt-ls


仮想マシンに対して、lsコマンド相当の処理を行えます。


実行例は以下です。

# virt-ls guest1 /usr/local/   
bin
etc
games
include
lib
lib64
libexec
sbin
share
src


ちなみに今回挙げたコマンド類は「libguestfs-tools」パッケージに入っています。

# rpm -ql libguestfs-tools
/usr/bin/virt-cat
/usr/bin/virt-df
/usr/bin/virt-edit
/usr/bin/virt-inspector
/usr/bin/virt-list-filesystems
/usr/bin/virt-list-partitions
/usr/bin/virt-ls
/usr/bin/virt-rescue
/usr/bin/virt-resize
/usr/bin/virt-tar
/usr/bin/virt-win-reg
/usr/share/man/man1/virt-cat.1.gz
/usr/share/man/man1/virt-df.1.gz
/usr/share/man/man1/virt-edit.1.gz
/usr/share/man/man1/virt-inspector.1.gz
/usr/share/man/man1/virt-list-filesystems.1.gz
/usr/share/man/man1/virt-list-partitions.1.gz
/usr/share/man/man1/virt-ls.1.gz
/usr/share/man/man1/virt-rescue.1.gz
/usr/share/man/man1/virt-resize.1.gz
/usr/share/man/man1/virt-tar.1.gz
/usr/share/man/man1/virt-win-reg.1.gz


今日はこんな所で。