查询虚拟机信息
概述
管理员在管理虚拟机的过程中经常需要知道一些虚拟机信息,libvirt提供了一套命令行工具用于查询虚拟机的相关信息。本章介绍相关命令的使用方法,便于管理员来获取虚拟机的各种信息。
前提条件
查询虚拟机信息需要:
libvirtd服务处于运行状态。
命令行操作需要拥有管理员权限。
查询主机上的虚拟机信息
查询主机上处于运行和暂停状态的虚拟机列表。
# virsh list
例如,下述回显说明当前主机上存在3台虚拟机,其中openEulerVM01、openEulerVM02处于运行状态,openEulerVM03处于暂停状态。
Id Name State
----------------------------------------------------
39 openEulerVM01 running
40 openEulerVM02 running
69 openEulerVM03 paused
查询主机上已经定义的所有虚拟机信息列表。
# virsh list --all
例如,下述回显说明当前主机上定义了4台虚拟机,其中虚拟机openEulerVM01处于运行状态,openEulerVM02处于暂停状态,openEulerVM03和openEulerVM04处于关机状态。
Id Name State
----------------------------------------------------
39 openEulerVM01 running
69 openEulerVM02 paused
- openEulerVM03 shut off
- openEulerVM04 shut off
查询虚拟机基本信息
Libvirt组件提供了一组查询虚拟机状态信息的命令,包括虚拟机运行状态、设备信息或者调度属性等,使用方法请参见表1。
表 1 查询虚拟机基本信息
示例
使用virsh dominfo查询一个定义好的虚拟机的基本信息,从查询结果可知,虚拟机ID为5,UUID为ab472210-db8c-4018-9b3e-fc5319a769f7,内存大小为8GiB,vCPU数目为4个等。
# virsh dominfo openEulerVM
Id: 5
Name: openEulerVM
UUID: ab472210-db8c-4018-9b3e-fc5319a769f7
OS Type: hvm
State: running
CPU(s): 4
CPU time: 6.8s
Max memory: 8388608 KiB
Used memory: 8388608 KiB
Persistent: no
Autostart: disable
Managed save: no
Security model: none
Security DOI: 0
使用virsh domstate查询虚拟机的当前状态,从查询结果可知,虚拟机openEulerVM当前处于运行状态。
# virsh domstate openEulerVM
running
使用virsh schedinfo查询虚拟机的调度信息,从查询结果可知,虚拟机CPU预留份额为1024。
# virsh schedinfo openEulerVM
Scheduler : posix
cpu_shares : 1024
vcpu_period : 100000
vcpu_quota : -1
emulator_period: 100000
emulator_quota : -1
global_period : 100000
global_quota : -1
iothread_period: 100000
iothread_quota : -1
使用virsh vcpucount查询虚拟机的vCPU数目,从查询结构可知,虚拟机有4个CPU。
# virsh vcpucount openEulerVM
maximum live 4
current live 4
使用virsh domblklist查询虚拟机磁盘设备信息,从查询结构可知,虚拟机有2个磁盘,sda是qcow2格式的虚拟磁盘,sdb是一个cdrom设备。
# virsh domblklist openEulerVM
Target Source
---------------------------------------------------------------------
sda /home/openeuler/vm/openEuler_aarch64.qcow2
sdb /home/openeuler/vm/openEuler-1.0-base-aarch64-dvd.iso
使用virsh domiflist查询虚拟机网卡信息,从查询结果可知,虚拟机有1张网卡,对应的后端是vnet0在主机br0网桥上,MAC地址为00:05:fe:d4:f1:cc。
# virsh domiflist openEulerVM
Interface Type Source Model MAC
-------------------------------------------------------
vnet0 bridge br0 virtio 00:05:fe:d4:f1:cc
使用virsh iothreadinfo查询虚拟机I/O线程信息,从查询结果可知虚拟机有5个I/O线程,在物理CPU7-10上进行调度。
# virsh iothreadinfo openEulerVM
IOThread ID CPU Affinity
---------------------------------------------------
3 7-10
4 7-10
5 7-10
1 7-10
2 7-10