/vminfo

列表显示所有运行中kvm虚拟机详细信息

Primary LanguageShell

##说明:

  • 当前版本:2.1,更新日期:2016-03-15
  • 在centos6.x平台上测试通过.
  • 列出当前宿主机上使用libvirt管理的虚拟机(KVM)详细信息,注意此脚本只能列出running状态的虚拟机
  • 此脚本依赖qemu-kvm,qemu-img等命令
  • 此脚本可以识别虚拟机所使用连接协议,vnc或者spice,并显示对应端口

##用法:

  • 拷贝到/usr/local/bin/目录,并添加可执行权限,然后终端直接使用命令vminfo即可
  1. 如下,直接运行显示结果,默认只显示虚拟机根磁盘信息,输出行间距会自适应 image

  2. 使用"-d"参数单独列出虚拟机使用的所有磁盘大小,比如第一行末尾 "[4.3G][40G]" 表示vda磁盘实际占用物理机4.3G空间,其分配的虚拟磁盘大小为40G image

  3. 使用"-i"参数可以显示虚拟机ip,此IP是基于arp广播获取,若不想使用arp,在提示处输入"n"即可 image

  4. 使用"-s"参数可对所有虚拟机进行资源统计,DiskUsage表示所有虚拟机分配空间总量为1100G,但实际只占用物理机磁盘487G大小 image

##更新日志

2016-03-15

  1. 更新版本为2.1
  2. 增加"-s"参数,可以计算出此宿主机上所有虚机占用的总vcpu,vmemory,虚机磁盘大小,以及当前所使用的宿主机物理磁盘空间

2016-01-21

  1. 更新版本为2.0
  2. 使用"-i"参数可获取虚拟机ip地址,此命令运行后会提示用户是否进行arp广播,若选择不进行arp广播,可在随后提示中使用"n"
  3. 使用"-d"参数可显示虚机所有虚拟磁盘文件及其大小
  4. 虚拟磁盘大小显示格式为"[a1][a2]",a值表示此虚拟磁盘文件所占物理硬盘大小,b值表示虚拟磁盘虚拟大小,"[a1][a2],[b1][b2]",此格式表示此虚拟机拥有两块虚拟磁盘a和b
  5. 无法获取ip地址的虚拟机会显示"noip".
  6. 使用"-h"可显示帮助菜单

2015-11-24

  1. 更新版本为1.6.
  2. 使用"-i"参数可显示虚拟机ip地址.
  3. 无法获取ip地址的虚拟机会用"-"代替.

2015-9-15

  1. 更新版本为1.5
  2. 可显示虚机每块磁盘大小.
  3. 默认只列出虚机的根磁盘,加上"-d"参数可列出所有磁盘.
  4. 使用"-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"