在PVE中迁移虚拟机的完整流程
在 PVE 中迁移虚拟机的完整流程
本文介绍通过备份与恢复的方式,在两台未加入集群的 PVE 服务器之间迁移虚拟机的完整流程。
参考原文:https://www.xiaokw.cn/archives/zai-proxmox-ve-pve-zhong-qian-yi-xu-ni-ji-de-wan-zheng-liu-cheng
本文使用AI自动生成
1. 准备工作
1.1 检查源服务器和目标服务器
- 确保目标服务器有足够的存储空间(至少等于虚拟机备份后的大小)
- 确认两台服务器间网络互通(通过
ping测试) - 开放防火墙端口(默认 SSH 端口
22)
1.2 备份目录权限
确认目标服务器的 /var/lib/vz/dump/ 目录存在且有写入权限:
1 | |
2. 在源 PVE 创建虚拟机备份
2.1 关闭虚拟机(可选)
1 | |
2.2 执行备份
1 | |
关键参数说明:
--compress zstd:压缩备份文件,节省空间和传输时间--mode stop:关闭虚拟机后备份(数据一致性最高)--storage:指定备份存储位置(默认为local)
2.3 确认备份文件
备份完成后,文件会保存在 /var/lib/vz/dump/ 目录,命名格式为:
1 | |
通过以下命令确认:
1 | |
3. 传输备份文件到目标服务器
3.1 方法一:使用 scp 传输
1 | |
3.2 方法二:使用 rsync 传输(推荐)
1 | |
参数说明:
-a:归档模式(保留文件属性)-v:显示详细输出-z:启用压缩传输-P:显示进度并支持断点续传--partial:保留部分传输的文件,便于中断后继续
3.3 验证传输完整性
在目标服务器检查文件大小和校验和:
1 | |
4. 在目标 PVE 恢复虚拟机
4.1 确认备份文件存在
1 | |
4.2 执行恢复操作
1 | |
关键参数说明:
<VMID>:恢复后的虚拟机 ID(若目标服务器已有相同 ID,需先删除或指定新 ID)--storage:指定目标存储(必须存在且类型兼容)
4.3 修改虚拟机配置(可选)
如果目标服务器网络或硬件配置不同,需调整虚拟机设置:
1 | |
5. 验证迁移结果
5.1 启动虚拟机
1 | |
5.2 检查虚拟机状态
- 通过 PVE Web 界面查看虚拟机控制台
- 或通过命令行检查运行状态:
qm status 101
5.3 测试网络和服务
- 通过 SSH 或远程桌面登录虚拟机
- 验证关键服务(如 Web、数据库)是否正常运行
6. 补充说明
6.1 传输大文件的优化技巧
使用 rsync 断点续传:
1 | |
后台传输(避免 SSH 超时):
1 | |
6.2 存储名称不一致的解决方案
如果目标服务器的存储名称与源服务器不同(如源用 local,目标用 local-lvm),恢复时需指定目标存储:
1 | |
6.3 清理备份文件
迁移完成后删除临时文件:
1 | |
7. 注意事项
- 虚拟机停机时间:
--mode stop会关闭虚拟机,若需最小化停机,可改用--mode suspend(需短暂暂停) - 存储兼容性:目标服务器的存储类型(如 LVM、ZFS、NFS)需支持恢复的磁盘格式
- 网络带宽:传输大文件时建议使用千兆或万兆网络,避免长时间占用带宽
- 权限问题:确保目标服务器的
/var/lib/vz/dump/目录对 root 用户可写
通过以上步骤,您可以安全、完整地将虚拟机迁移到另一台 PVE 服务器。如有报错,可检查日志 /var/log/pve/tasks/active 或使用 qm config <VMID> 验证配置。
以上。完结撒花 🎉!
在PVE中迁移虚拟机的完整流程
https://blog.wenxin.site/2025/11/26/在PVE中迁移虚拟机的完整流程/