ProxmoxVE迁移虚拟机到其他PVE(基于QCOW2)

直接使用PVE的备份功能,再复制镜像到新的PVE节点上也是OK的,但是通用性较差,成功率较低。使用ZSTD压缩备份,若干次都是还原失败(提示校验失败)。逐放弃,选择迁移虚拟磁盘的方式操作。

2、将lvm里的raw镜像转换为qcow2镜像

SHELL登陆宿主机,执行下面命令: 【2020.11补充】重要:先执行ls /dev/mapper/查看一下具体的存储名和硬盘名,以免搞混。

如图,pve和VM--LVM是你WEB界面可以看到的存储名(local存储显示为你的节点名),后面跟上的vm--100--disk--0是ID为100虚拟机的虚拟磁盘。

继续执行如下命令:

qemu-img convert -p -O qcow2 -c /dev/mapper/pve-vm--110--disk--0 VM110.qcow2
#其中pve-vm--110--disk--0是上图硬盘的名,注意格式对应修改,VM110.qcow2是转换到当前目录的文件名。

3、转换完成后复制QCOW2镜像到目标PVE宿主机

复制方法自由发挥,可以通过方法如下: SCP发送、WinSCP下载上传、挂载U盘、挂载移动硬盘、挂载NFS存储等等

分享:挂载NTFS格式的U盘(移动硬盘) mkdir /mnt/Upan/ apt install -y ntfs-3g #(CentOS:yum install -y ntfs-3g) mount -t ntfs /dev/sdc1 /mnt/Upan/ #挂载 umount /dev/sdc1 #卸载

4、目标PVE宿主机创建虚拟机

5、导入QCOW2磁盘镜像文件到新创建的虚拟机

SHELL登陆目标PVE宿主机,执行下面命令:

qm importdisk <vmid> <source> <storage>
#例子:qm importdisk 101 VM110.qcow2 local-lvm
#上面101是新建虚拟机的VM ID,VM110.qcow2是复制过来的QCOW2磁盘镜像文件,local-lvm是你的存储ID。

登陆WEB界面,应用未使用的磁盘。 启动虚拟机,完成迁移。

经验分享 程序员 微信小程序 职场和发展