首页/云/云平台与虚拟化速查/qemu-img info / map 检查镜像
虚拟化操作94 条

qemu-img info / map 检查镜像

info 读取镜像元数据(格式、容量、置备、backing 链),map 输出已分配区块分布:判断稀疏程度、核对瘦盘实际占用、评估转换目标大小都靠这两条。

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

是什么

镜像检查有两条命令:info 读取元数据,告诉你格式、虚拟容量、实际占用与是否依赖底层镜像;map 输出哪些区块已经分配。判断一个镜像是精简置备还是厚置备、估算转换后的大小、确认镜像链是否完整,都靠这两条。迁移与交付前的容量核对,先跑一遍这两条命令比凭经验估算可靠。

基本信息

基本信息qemu-img info 镜像文件,输出格式与容量
结构化输出加 --output=json 便于脚本解析
区块分布qemu-img map 镜像文件,列出已分配区块
镜像链加 --backing-chain 逐层查看依赖关系
只读操作这两条命令都不修改镜像,可安全用于生产文件

典型使用场景

  • 交付前核对:确认镜像格式与目标平台一致,容量符合规格
  • 容量评估:用实际分配量而非虚拟容量估算存储与传输需求
  • 转换前检查:转换格式前确认镜像链完整,避免只搬了顶层文件
  • 故障排查:虚机启动报错时确认底层镜像是否缺失或路径失效
  • 瘦身评估:判断镜像是否存在大量已分配但实际未使用的区块

检查镜像与区块分布

检查镜像与区块分布
qemu-img info disk.qcow2                        # 格式、虚拟容量、实际占用
qemu-img info --output=json disk.qcow2 | head -20   # 结构化输出,便于比对
qemu-img info --backing-chain disk.qcow2        # 逐层查看依赖链
qemu-img map --output=json disk.qcow2 | head -20    # 已分配区块分布
# 计算已分配量可以判断瘦盘真实占用与转换目标容量
qemu-img check disk.qcow2                       # 一致性检查,只读不改

输出字段判读

字段含义判读要点
file format镜像格式与目标平台要求不一致时先转换再用
virtual size虚机看到的磁盘容量与分区规划对齐,大于实际使用属正常
disk size宿主文件实际占用远小于虚拟容量说明是精简置备
backing file底层镜像路径存在依赖说明不能单独搬走这个文件
corrupt一致性检查结论非零说明镜像可能损坏,先修复再使用
交付或迁移前用实际分配量估算传输时间与目标容量:按虚拟容量估算会高估需求,按文件大小估算又会低估转换后的占用,两者结合才准。
镜像链上的底层文件缺失或放在网络位置时,脱离该环境读取会直接报错;搬移镜像必须把整条链一起带走,或先合并成单层镜像。

易错点

  • 只看虚拟容量不看实际分配,容量与传输时间估算失真
  • 只搬顶层镜像文件,底层依赖缺失导致虚机无法启动
  • 转换后未复核格式与容量,导入平台时才报不兼容
  • 误以为检查命令会修改文件:其实只读,但用错工具做修复操作可能损坏镜像

数据来源与参考

  • qemu-img 手册:info / map
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌