##说明:
- 当前版本:2.1,更新日期:2016-03-15
- 在centos6.x平台上测试通过.
- 此脚本测试环境为:单机虚拟化&&本地存储,其它环境由于未详细测试,请修改源码后使用
- 列出当前宿主机上使用libvirt管理的虚拟机(KVM)详细信息,注意此脚本只能列出running状态的虚拟机
- 此脚本依赖qemu-kvm,qemu-img等命令
- 此脚本可以识别虚拟机所使用连接协议,vnc或者spice,并显示对应端口
##用法:
- 拷贝到/usr/local/bin/目录,并添加可执行权限,然后终端直接使用命令vminfo即可
-
使用"-d"参数单独列出虚拟机使用的所有磁盘大小,比如第一行末尾 "[4.3G][40G]" 表示vda磁盘实际占用物理机4.3G空间,其分配的虚拟磁盘大小为40G
-
使用"-s"参数可对所有虚拟机进行资源统计,DiskUsage表示所有虚拟机分配空间总量为1100G,但实际只占用物理机磁盘487G大小
##更新日志
- 更新版本为2.1
- 增加"-s"参数,可以计算出此宿主机上所有虚机占用的总vcpu,vmemory,虚机磁盘大小,以及当前所使用的宿主机物理磁盘空间
- 更新版本为2.0
- 使用"-i"参数可获取虚拟机ip地址,此命令运行后会提示用户是否进行arp广播,若选择不进行arp广播,可在随后提示中使用"n"
- 使用"-d"参数可显示虚机所有虚拟磁盘文件及其大小
- 虚拟磁盘大小显示格式为"[a1][a2]",a值表示此虚拟磁盘文件所占物理硬盘大小,b值表示虚拟磁盘虚拟大小,"[a1][a2],[b1][b2]",此格式表示此虚拟机拥有两块虚拟磁盘a和b
- 无法获取ip地址的虚拟机会显示"noip".
- 使用"-h"可显示帮助菜单
- 更新版本为1.6.
- 使用"-i"参数可显示虚拟机ip地址.
- 无法获取ip地址的虚拟机会用"-"代替.
- 更新版本为1.5
- 可显示虚机每块磁盘大小.
- 默认只列出虚机的根磁盘,加上"-d"参数可列出所有磁盘.
- 使用"-v"参数可显示当前命令版本
##列解释:
- VHOSTS: 所有使用libvirt管理的运行中的虚拟机,关机状态下的虚拟机不会被列出.
- PID: 该虚拟机进程的PID,kvm虚拟机其实就是宿主机上一个标准的进程.
- %CPU: 该虚拟机进程所占用宿主机CPU百分比.
- %MEM: 该虚拟机进程所占用宿主机内存百分比.
- PORT: 该虚拟机console映射到宿主机上的vnc端口,可以通过宿主机的此端口连接到虚拟机console.
- Vcpus: 该台虚拟机vcpu个数.
- Vmems: 该台虚拟机虚拟内存大小.
- Vdisk: 该虚拟机所使用的虚拟磁盘(默认只列出该虚拟机系统盘,使用"-d"参数列出所有).
- DiskUsage: 此物理机上所有虚拟机分配的虚拟磁盘总大小
- VdiskUsage: 此物理机上所有虚拟机分配的虚拟磁盘实际占用物理机磁盘容量
- Vip: 该虚拟机ip,若不使用arp广播,无法获取ip的虚拟机将显示为"noip"