Featured image of post Proxmox VE 格式转换 RAW 转 QCOW2 指南 💾

Proxmox VE 格式转换 RAW 转 QCOW2 指南 💾

Proxmox VE 格式转换 RAW 转 QCOW2 指南 💾 本指南详细介绍如何将 PVE 虚拟机的 RAW 镜像格式转换为 QCOW2 格式

Proxmox VE 格式转换 RAW 转 QCOW2 指南 💾

本指南详细介绍如何将 PVE 虚拟机的 RAW 镜像格式转换为 QCOW2 格式,以支持快照功能并优化存储效率。QCOW2 格式提供了更先进的存储管理特性,是虚拟化环境中推荐的磁盘格式选择。


✨ 特点和功能

🔸 快照支持:QCOW2 格式支持快照功能,便于系统备份和恢复
🔸 动态分配:磁盘空间按需分配,节省存储空间
🔸 压缩功能:支持磁盘镜像压缩,进一步减少存储占用
🔸 加密支持:可对磁盘镜像进行加密,增强数据安全性
🔸 跨平台兼容:QCOW2 格式被多种虚拟化平台广泛支持


📋 导航目录


⚠️ 转换前提条件

  1. 虚拟机必须关机:确保 iStoreOS 虚拟机完全关闭,避免数据损坏
  2. 备份重要数据:转换前建议备份虚拟机数据,防止意外丢失
  3. 足够的磁盘空间:转换过程需要额外空间存放临时文件(通常是原磁盘大小的 1.5 倍)
  4. PVE Shell 访问权限:需要登录到 Proxmox VE 的 shell 环境
  5. 安装 qemu-utils:确保系统已安装 qemu-img 工具(通常已预装)
1
2
3
4
# 检查 qemu-img 工具是否可用
which qemu-img
# 如果未安装,使用以下命令安装
apt update && apt install qemu-utils -y

🔍 第一步:检查当前磁盘状态

1. 查看虚拟机磁盘信息

1
2
3
4
5
6
7
# 查看虚拟机列表
qm list
# 📋 显示所有虚拟机状态和ID

# 查看特定虚拟机配置(将101替换为你的虚拟机ID)
qm config 101
# 🔍 显示虚拟机101的详细配置,注意磁盘配置项

2. 进入磁盘目录查看镜像文件

1
2
3
4
5
6
7
# 进入虚拟机磁盘目录(将101替换为你的虚拟机ID)
cd /var/lib/vz/images/101/ && ls -lh
# 📁 显示目录内容,确认raw镜像文件及其大小

# 查看磁盘详细信息
qemu-img info vm-101-disk-0.raw
# ℹ️ 显示镜像格式、虚拟大小、实际大小等信息

磁盘目录查看


🛠️ 第二步:格式转换操作

1. 执行格式转换命令

1
2
3
4
5
6
7
# 将raw格式转换为qcow2格式(将101替换为你的虚拟机ID)
qemu-img convert -O qcow2 /var/lib/vz/images/101/vm-101-disk-0.raw /var/lib/vz/images/101/vm-101-disk-0.qcow2
# 🔄 转换格式,-O参数指定输出格式

# 显示转换进度(推荐使用)
qemu-img convert -p -O qcow2 /var/lib/vz/images/101/vm-101-disk-0.raw /var/lib/vz/images/101/vm-101-disk-0.qcow2
# ⏳ -p参数显示转换进度条,便于估计完成时间

2. 验证转换结果

1
2
3
4
5
6
7
# 检查新生成的qcow2文件
ls -lh /var/lib/vz/images/101/
# ✅ 应该看到raw和qcow2两个文件,比较它们的大小

# 查看qcow2文件信息
qemu-img info vm-101-disk-0.qcow2
# ℹ️ 确认格式为qcow2,并检查文件完整性

转换后文件


⚙️ 第三步:更新虚拟机配置

1. 修改虚拟机磁盘配置

1
2
3
4
5
6
7
# 更新虚拟机磁盘指向新的qcow2文件(将101替换为你的虚拟机ID)
qm set 101 --sata0 local:101/vm-101-disk-0.qcow2
# 🎯 将sata0控制器指向新格式的磁盘

# 验证配置更新
qm config 101 | grep sata0
# 🔍 确认磁盘路径已更新为qcow2格式

2. 检查引导顺序

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 查看当前引导设置
qm config 101 | grep boot
# 📋 显示引导顺序配置

# 如果需要修改引导顺序(确保sata0为启动盘)
qm set 101 --boot order='sata0'
# 🚀 设置sata0为第一启动设备

# 对于UEFI启动的虚拟机,还需要检查EFI磁盘设置
qm config 101 | grep efidisk0

更新后的硬件配置


🧹 第四步:清理旧文件

1. 删除原始 raw 文件

1
2
3
4
5
6
7
# 确认新磁盘正常工作后删除旧文件
rm /var/lib/vz/images/101/vm-101-disk-0.raw
# 🗑️ 删除原始 raw 文件释放空间

# 验证文件已删除
cd /var/lib/vz/images/101/ && ls -lh
# ✅ 应该只看到 qcow2 文件

2. 可选:保留备份

1
2
3
# 如果需要保留备份,可以移动而不是删除
mv /var/lib/vz/images/101/vm-101-disk-0.raw /var/lib/vz/images/101/vm-101-disk-0.raw.backup
# 📦 移动文件作为备份,保留7天

🚀 第五步:测试验证

1. 启动虚拟机测试

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# 启动虚拟机
qm start 101
# 🎯 启动虚拟机测试

# 监控启动状态
qm status 101
# 📊 查看虚拟机状态

# 查看启动日志
qm terminal 101
# 📝 查看虚拟机控制台输出

2. 测试快照功能

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 创建测试快照
qm snapshot 101 test-snapshot
# 📸 创建名为 test-snapshot 的快照

# 查看快照列表
qm listsnapshot 101
# 📋 显示所有快照

# 测试快照回滚功能(可选)
# qm rollback 101 test-snapshot

# 删除测试快照
qm delsnapshot 101 test-snapshot
# 🗑️ 清理测试快照

⚠️ 故障排除

1. 如果无法启动

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 检查磁盘配置
qm config 101 | grep sata

# 查看启动日志
dmesg | grep sata
# 🔍 查看系统日志中的磁盘相关错误

# 恢复原始配置(如果出现问题)
qm set 101 --sata0 local:101/vm-101-disk-0.raw
# ↩️ 临时恢复原始配置进行排查

2. 引导问题解决

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
# 检查 BIOS 设置
qm config 101 | grep bios

# 如果需要,修改 BIOS 设置
qm set 101 --bios ovmf
# 或者
qm set 101 --bios seabios

# 检查EFI磁盘设置(对于UEFI启动的虚拟机)
qm config 101 | grep efidisk0

3. 磁盘空间不足

1
2
3
4
5
6
7
8
9
# 检查存储空间
df -h /var/lib/vz/

# 清理临时文件
rm -f /tmp/*.qcow2

# 如果空间不足,可以考虑在其他位置转换后再移动
qemu-img convert -O qcow2 /var/lib/vz/images/101/vm-101-disk-0.raw /tmp/vm-101-disk-0.qcow2
mv /tmp/vm-101-disk-0.qcow2 /var/lib/vz/images/101/

💡 高级技巧

1. 批量转换脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/bash
# 批量转换脚本
VM_ID=$1
cd /var/lib/vz/images/$VM_ID/
for raw_file in *.raw; do
    qcow2_file="${raw_file%.*}.qcow2"
    echo "转换 $raw_file$qcow2_file"
    qemu-img convert -p -O qcow2 "$raw_file" "$qcow2_file"
    # 更新虚拟机配置,根据实际情况调整磁盘控制器类型
    qm set $VM_ID --sata0 local:$VM_ID/"$qcow2_file"
    # rm "$raw_file"  # 取消注释以自动删除原文件
done
echo "✅ 转换完成!"

2. 压缩 qcow2 文件

1
2
3
4
5
6
# 转换时进行压缩
qemu-img convert -O qcow2 -c /var/lib/vz/images/101/vm-101-disk-0.raw /var/lib/vz/images/101/vm-101-disk-0.qcow2
# 📦 -c 参数进行压缩,节省存储空间

# 对已存在的qcow2文件进行压缩
qemu-img convert -O qcow2 -c /var/lib/vz/images/101/vm-101-disk-0.qcow2 /var/lib/vz/images/101/vm-101-disk-0-compressed.qcow2

3. 调整磁盘大小

1
2
3
4
5
6
7
# 转换同时调整大小
qemu-img convert -O qcow2 -p --preallocation=metadata /var/lib/vz/images/101/vm-101-disk-0.raw /var/lib/vz/images/101/vm-101-disk-0.qcow2
# 📏 添加预分配元数据,提高性能

# 调整现有qcow2磁盘大小
qemu-img resize /var/lib/vz/images/101/vm-101-disk-0.qcow2 +10G
# 🔧 增加10G空间(也可使用绝对值如50G)

📊 格式对比说明

特性 RAW 格式 QCOW2 格式
快照支持 ❌ 不支持 ✅ 支持
压缩功能 ❌ 不支持 ✅ 支持
磁盘扩容 ❌ 困难 ✅ 容易
性能 ⚡ 稍快 📊 稍慢
存储效率 📏 固定大小 💾 动态分配
加密支持 ❌ 不支持 ✅ 支持
跨平台兼容 ✅ 广泛支持 ✅ 广泛支持

🔒 安全建议

  1. 操作前备份:重要虚拟机转换前务必备份,可使用 qm backup 命令
  2. 测试环境验证:先在测试环境验证流程,再在生产环境操作
  3. 监控转换过程:大型磁盘转换可能需要较长时间,可使用 -p 参数监控进度
  4. 保留恢复选项:暂时保留原始文件直到确认新文件正常工作至少24小时
  5. 权限检查:确保操作账户有足够的权限执行所有命令
  6. 日志记录:保存操作日志,便于出现问题时的排查

🎯 完成转换后,您的 PVE 虚拟机将支持快照功能,便于进行系统备份和恢复操作。如果在过程中遇到任何问题,可以随时回退到原始配置。建议定期检查磁盘健康状况,使用 qemu-img check 命令验证磁盘完整性。

最后更新于 2025-09-28