服务器测评网
我们一直在努力

virsh查看虚拟机信息有哪些常用命令和参数?

在虚拟化环境中,管理虚拟机是日常运维的核心工作之一,对于基于 KVM(Kernel-based Virtual Machine)的虚拟化平台,virsh 作为命令行管理工具,提供了强大且灵活的操作能力,通过 virsh 命令,管理员可以高效地查看虚拟机的运行状态、资源配置、网络信息等关键数据,从而快速定位问题、优化性能,本文将详细介绍如何使用 virsh 命令查看虚拟机的各类信息,涵盖基础状态查询、资源配置分析、网络与存储监控等核心场景,帮助用户全面掌握 virsh 的查看功能。

virsh查看虚拟机信息有哪些常用命令和参数?

基础状态查询:快速掌握虚拟机运行情况

查看虚拟机的基础状态是日常管理中最常用的操作,通过简单的命令即可获取虚拟机的运行状态、UUID、 hypervisor 类型等关键信息。

列出所有虚拟机及其状态

使用 virsh list 命令可以查看当前由 libvirtd 管理的所有虚拟机列表,默认情况下,该命令仅显示正在运行的虚拟机(running 状态),若需查看所有虚拟机(包括关机和异常状态),可添加 --all 参数:

virsh list --all  

执行后,命令将返回三列信息:ID(虚拟机编号,-1 表示关机状态)、Name(虚拟机名称)、State(运行状态,如 runningshut offpaused 等)。

 Id   Name          State  
----------------------------------------------------  
 1    centos7       running  
 2    ubuntu20      shut off  
 3    debian11      paused  

通过此命令,管理员可以快速了解哪些虚拟机正在运行,哪些需要关注异常状态(如 paused 可能表示资源不足或手动暂停)。

查看特定虚拟机的详细信息

若需获取某个虚拟机的详细配置摘要(如虚拟机类型、 hypervisor 版本、CPU/内存分配等),可使用 virsh dominfo 命令,后跟虚拟机名称或 ID:

virsh dominfo centos7  
```  包含丰富的元数据信息,  

Id: 1
Name: centos7
UUID: 12345678-9abc-def0-1234-56789abcdef0
OS Type: hvm
State: running
CPU(s): 2
CPU time: 1234.5s
Max memory: 4194304 KiB
Used memory: 2097152 KiB
Persistent: yes
Autostart: disable
Managed save: no
Security model: none
Security DOI: 0

`UUID` 是虚拟机的唯一标识符,可用于跨主机操作时精确定位虚拟机;`CPU(s)` 和 `Used memory` 分别显示当前分配的 CPU 核心数和已使用的内存量,是性能监控的基础数据。  
### 二、资源配置分析:深入虚拟机硬件细节  
虚拟机的性能和稳定性直接依赖其硬件资源配置,通过 `virsh` 可以详细查看 CPU、内存、磁盘、网络等硬件分配情况,为资源调整和故障排查提供依据。  
#### 1. CPU 配置查看  
使用 `virsh vcpuinfo` 命令可查看虚拟机的 CPU 核心数量、模式、当前状态等详细信息:  
```bash
virsh vcpuinfo centos7  

输出示例:

CPU:           0  
State:         running  
CPU time:      123.4s  
CPU Affinity:  ffff  

若需查看虚拟机的 CPU 最大可分配数量(即配置文件中设定的 vcpu 值),可使用 virsh vcpucount 命令:

virsh vcpucount centos7  

结果会显示 当前使用的 vcpu 数量最大可配置的 vcpu 数量

virsh查看虚拟机信息有哪些常用命令和参数?

VCPU:           2  
CPU:            2  

内存与资源分配监控

内存是虚拟机最关键的资源之一,virsh 提供了多种命令监控内存使用情况。virsh dommemstat 可查看虚拟机的实时内存统计信息,包括已用内存、可用内存、气球内存(ballooning)等:

virsh dommemstat centos7  

输出示例:

actual  2097152  
unused  1048576  

actual 表示当前分配给虚拟机的内存总量(单位为 KiB),unused 表示未使用的内存量,若需查看虚拟机的最大内存限制和当前使用量,可结合 dominfo 中的 Max memoryUsed memory 字段。

磁盘存储信息查询

虚拟机的磁盘配置直接影响 I/O 性能,virsh 提供了查看磁盘详情的命令。virsh domblklist 列出虚拟机所有挂载的磁盘设备及其来源路径:

virsh domblklist centos7  

输出示例:

Target   Source  
--------------------------------  
vda      /var/lib/libvirt/images/centos7.qcow2  
vdb      /dev/sr0  

Target 是虚拟机内部识别的磁盘设备名(如 vda),Source 是磁盘镜像文件路径或物理设备,若需进一步查看磁盘的详细属性(如磁盘格式、实际大小、分配大小等),可使用 virsh domblkinfo 命令:

virsh domblkinfo centos7 vda  

输出结果包含磁盘的 总容量分配容量物理容量 等信息,

Size:          10737418240  
Allocation:    5368709120  
Physical:      5368709120  

网络配置与状态检查

网络是虚拟机与外部通信的桥梁,virsh 可帮助管理员查看虚拟机的网络接口、VLAN 配置、IP 地址等信息。virsh domiflist 列出虚拟机所有网络接口及其连接的虚拟网络:

virsh domiflist centos7  

输出示例:

virsh查看虚拟机信息有哪些常用命令和参数?

Interface   Type       Source     Model       MAC  
----------------------------------------------------  
vnet0       network    default    virtio      52:54:00:ab:cd:ef  

Type 为网络类型(如 network 表示通过 libvirt 虚拟网络转发,bridge 表示直接桥接到物理网卡),Source 为虚拟网络名称或桥接设备名,MAC 是虚拟网卡的物理地址,若需查看虚拟机内部的 IP 地址信息,需登录虚拟机内部使用 ip addrifconfig 命令,virsh 本身不直接提供 IP 查询功能。

高级查看技巧:结合 XML 与性能统计

对于复杂场景,管理员可能需要查看虚拟机的完整配置文件或实时性能数据,virsh 提供了 XML 输出和性能统计功能,满足深度分析需求。

查看 XML 配置文件

虚拟机的所有配置信息均以 XML 格式存储在 libvirt 的配置文件中,使用 virsh dumpxml 可导出虚拟机的完整配置,便于备份、调试或迁移分析:

virsh dumpxml centos7 > centos7.xml  

导出的 XML 文件包含虚拟机的 CPU、内存、磁盘、网络、设备等所有配置细节,例如磁盘的驱动类型(qcow2raw)、缓存模式(nonewriteback)、网络接口的模型(virtioe1000)等,通过分析 XML 文件,管理员可以精确定位配置问题,如磁盘格式错误或网络模型不兼容等。

实时性能统计

virsh 支持通过 domstats 命令获取虚拟机的实时性能统计信息,包括 CPU 使用率、网络 I/O、磁盘 I/O 等:

virsh domstats centos7  

输出示例:

centos7
    cpu.time=1234567890  
    cpu.user=12345678  
    cpu.system=12345678  
    net.bytes_rx=1048576  
    net.bytes_tx=2097152  
    block.count_rd=100  
    block.count_wr=50  
    block.bytes_rd=1048576  
    block.bytes_wr=524288  

cpu.time 表示虚拟机 CPU 使用总时间(纳秒),net.bytes_rx/tx 分别为网络接收和发送的字节数,block.bytes_rd/wr 为磁盘读取和写入的字节数,通过定期采集这些数据,可以分析虚拟机的性能瓶颈,如磁盘 I/O 过高或网络带宽不足等问题。

virsh 作为 KVM 虚拟化管理的核心工具,其查看功能覆盖了虚拟机的基础状态、资源配置、网络存储及性能统计等多个维度,通过 listdominfo 等命令可快速掌握虚拟机运行概况,通过 vcpuinfodommemstatdomblklist 等命令可深入分析硬件资源分配,而 dumpxmldomstats 则为复杂场景下的配置调试和性能优化提供了详细数据支持,熟练掌握这些查看命令,能够帮助管理员高效管理虚拟机,确保虚拟化环境的稳定运行,在实际使用中,建议结合具体需求灵活组合命令,并注意定期记录和分析性能数据,以实现 proactive 的运维管理。

赞(0)
未经允许不得转载:好主机测评网 » virsh查看虚拟机信息有哪些常用命令和参数?