KVM qcow2镜像格式转换raw

KVM 虚拟机最常用的两种磁盘镜像格式是 qcow2 和 raw。
不少新手在创建虚拟机时选了 qcow2,后来因为性能或兼容性问题想转成 raw,却不知道从哪下手。
其实用 KVM 自带的 qemu-img 工具就能完成格式转换,整个过程并不复杂,但不同格式之间的性能差异和转换后的引导问题需要提前搞清楚。

转换前应该准备什么

正式操作之前,建议先完成三件事,避免转换后虚拟机起不来。

  • 备份原镜像:把 qcow2 文件复制一份,例如 cp vm01.qcow2 vm01.qcow2.bak。转换过程会生成新文件,原文件不会动,但备份能应对意外断电或误操作。
  • 关闭虚拟机:推荐先执行 virsh shutdown vm01,确保虚拟机完全关机后再转换。热转换可能造成数据不一致。
  • 确认磁盘空间:raw 是完整占用空间的格式,转换后文件大小等于虚拟磁盘定义的大小。比如 qcow2 镜像实际只有 5GB,但虚拟磁盘为 20GB,转换成 raw 后就会占用 20GB。先用 df -h 检查目标目录剩余空间。

使用 qemu-img 完成 qcow2 转 raw

转换命令的核心是 qemu-img convert,格式为:

qemu-img convert -f qcow2 -O raw vm01.qcow2 vm01.raw

参数说明:

  • -f qcow2:指定源镜像格式,也可以不加,qemu-img 会自动识别。
  • -O raw:指定输出格式,注意是大写字母 O。
  • vm01.qcow2:原镜像路径。
  • vm01.raw:转换后生成的新文件。

如果源镜像本身是其他格式,比如 vmdk,也可以先转换成 qcow2 再转 raw,或者直接用 -f vmdk -O raw 一步到位。

转换过程没有进度条,等待时间取决于磁盘大小和 I/O 性能。
转换完成后用 ls -lh vm01.raw 查看文件大小,确认生成成功。

转换后如何让虚拟机使用 raw 镜像

得到 raw 镜像后,还需要让 KVM 指向新文件。
可以用 virsh edit vm01 编辑虚拟机的磁盘配置,把原来的 改成 。

也可以把 raw 镜像放回原路径并复用原文件指针:

# 将原 qcow2 改名备份
mv vm01.qcow2 vm01.qcow2.bak
# 让 raw 文件使用原 qcow2 的文件名
mv vm01.raw vm01.qcow2

这种做法不用改 XML 配置,但容易混淆真实格式。
更推荐直接改 XML 指向,然后在启动前用 qemu-img info vm01.raw 检查格式是否为 raw。
启动虚拟机后执行 virsh start vm01,能正常进入系统说明转换成功。

qcow2 和 raw 的性能差异与选型建议

很多人关心 raw 是不是一定比 qcow2 快。
严格来说,raw 格式没有元数据开销,I/O 路径更短,在裸设备直通和高并发随机读写场景下性能通常略高于 qcow2,但差距并没有老一辈传说中那么大。
现代 KVM 对 qcow2 做了大量优化,开启 cache=none 或 io=threads 后,大多数业务场景下两者几乎无感。

选择时主要看两点:

  • 需要快照、压缩、加密:选 qcow2,它原生支持这些特性,raw 没有。
  • 追求极致磁盘性能或做裸设备映射:选 raw,它能直接作为块设备使用,方便直通。

另外,raw 格式对损坏的容忍度较低,一旦写入中断容易导致整块文件部分数据不可读;
qcow2 通过写时复制机制,在某些异常情况下更容易恢复。
如果你的宿主机内存充足,建议在创建虚拟机时优先考虑 qcow2,日常运维更灵活。

转换和对比中常见的坑

  • 转换后虚拟机无法启动:多数是因为镜像内设置的引导分区没有正确指向新磁盘。进入救援模式检查 /boot 和引导配置,必要时重建 grub。
  • 忘记开启 virtio 驱动:如果之前用的 IDE 或 SATA 磁盘,转换成 raw 后想改用 virtio,需要先进系统安装 virtio 驱动,再切换磁盘类型。
  • 盲目追求 raw 性能:在机械硬盘或普通 SATA 上,raw 和 qcow2 的速度差距可以忽略,反而 qcow2 的压缩和快照特性更适合日常备份。
  • 转换后忘记修改磁盘格式:如果 XML 中仍标记为 qcow2,virsh start 会报错。用 qemu-img info 对比实际格式和 XML 配置即可定位。

如何验证转换结果是否正常

完成转换后,建议按以下顺序检查:

# 1. 查看镜像格式
qemu-img info vm01.raw

# 2. 检查文件完整性
qemu-img check vm01.raw

# 3. 启动虚拟机
virsh start vm01

# 4. 进入系统后查看磁盘分区和文件系统
fdisk -l
df -h

qemu-img info 输出中 file format: raw 就说明转换成功。qemu-img check 如果没有报错,镜像文件基本可靠。
进入系统后 df -h 看到的分区大小应与原系统一致。

新手常问的一个问题是:转换后原来的 qcow2 文件能不能删?
建议先保留原文件,等新镜像稳定运行一周后再删除。
另有人问能不能反过来把 raw 转成 qcow2,命令完全对称:qemu-img convert -f raw -O qcow2 vm01.raw vm01.qcow2,不过转换出来的 qcow2 文件默认是稀疏分配,实际占用空间取决于写过的数据量,这一点和 raw 不同。

如果你正在处理 KVM qcow2 镜像格式转换 raw 和不同镜像格式性能对比的需求,建议先按本文步骤完整执行一遍,再根据自己的硬件和业务场景做取舍。
遇到启动异常时,优先回看避坑部分,重点检查 XML 配置里的磁盘类型和实际格式是否一致。

分享到:
上一篇
Debian系统ssh安全加固,禁止密码登录
下一篇
MySQL数据库账号权限最小化,业务账号禁止super权限
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意