首页/云/云平台与虚拟化速查/virsh domblkinfo 磁盘信息
虚拟化操作94 条

virsh domblkinfo 磁盘信息

domblkinfo 输出单块磁盘的容量、已分配与物理块信息,是核对瘦盘实际占用与扩容是否生效的快捷入口;配合 domblklist 可做磁盘资产巡检。

云平台与虚拟化速查云更新于 2026-10-13

virsh domblkinfo 看什么

domblkinfo 输出单块磁盘的三个容量维度:虚拟容量、已分配量与物理块大小,配合 domblklist 就能完成一次磁盘资产巡检。它最实用的地方是核对瘦盘的实际占用——标记 500 GB 的盘,实际分配可能只有 80 GB,做容量报表和存储扩容决策时必须用分配量而不是标记容量。扩容、迁移与快照操作前后,也可以用同一份输出来对比变化。

基本信息

适用平台使用 libvirt 的 Linux 宿主,需能访问该域
单盘信息virsh domblkinfo <域> <盘名>,盘名如 vda、vdb
清单细节virsh domblklist <域> --details 查看设备类型与来源文件
输出字段Capacity 虚拟容量、Allocation 已分配、Physical 物理块
典型用途容量盘点、瘦盘膨胀巡检、扩容前后对比
前置条件域可以运行中,读取运行时信息不受影响

典型使用场景

  • 容量报表:统计一批虚机的实际磁盘占用,而不是标记容量
  • 瘦盘巡检:监控分配量增长趋势,提前发现磁盘膨胀
  • 扩容验证:扩容操作后确认容量字段已按预期变化
  • 迁移前评估:按实际分配量估算耗时与目标存储需求
  • 磁盘资产盘点:核对每台虚机的磁盘数量、类型与来源
  • 快照与删除操作后复查:确认空间已按预期释放

磁盘巡检命令组合

磁盘巡检命令组合
virsh list --all                                  # 先拿到域的清单
virsh domblklist vm1 --details                    # 查看设备类型、目标盘名与来源文件
virsh domblkinfo vm1 vda                          # 单盘三个容量维度
for d in $(virsh list --name); do echo "== $d"; virsh domblkinfo $d vda 2>/dev/null; done   # 批量巡检
qemu-img info /var/lib/libvirt/images/disk.qcow2 | head -6   # 从文件侧交叉验证分配量
# 关注 Allocation 与 Capacity 的差值,判断瘦盘膨胀程度

输出字段读法

字段含义使用建议
Capacity磁盘的虚拟容量,即 guest 看到的大小不适合当容量报表口径,瘦盘实际占用通常远小于它
Allocation已分配给该镜像的块总量瘦盘容量统计与扩容评估应以它为准
Physical底层物理块大小用于判断对齐与性能相关的配置
设备类型磁盘还是光驱做盘位变更时需要区分,光驱不参与容量盘点
来源文件镜像存放路径确认文件所在存储池,核对空间与备份覆盖范围
在 guest 内删除文件后 Allocation 不会立即下降:需要镜像与文件系统支持 discard 或 UNMAP,并实际触发回收后才会释放。
宿主的 Allocation 与文件系统里看到的文件大小可能不同:稀疏文件的大小与占用并不等价,用 du 与 ls 查看的结果也不一样。

易错点

  • 把 Capacity 当实际占用写容量报表:容量被严重高估,扩容决策失真
  • 忽略瘦盘膨胀:分配量持续增长未监控,最终耗尽存储池
  • 删除 guest 内文件后以为空间自动释放:未开启 discard 时分配量不会回收
  • 只在一台主机上看:迁移过的虚机磁盘可能在别的存储池,需按来源文件核对
  • 盘位变更后未复查:加了新盘却仍指向旧文件,容量统计与实际不符

数据来源与参考

  • libvirt 文档:virsh domblkinfo
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌