抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

本文迁移对象为虚拟机磁盘,而非虚拟机整机。即借助 PVE 命令行工具 qemu-img、ESXi 命令行工具 vmkfstools做磁盘格式转换。

qemu-img不局限 PVE 环境,在大多数基于 kvm 的虚拟化平台都可用。

先决条件

具备实验环境
Proxmox VE 8.0

1
2
proxmox-ve: 8.0.2 (running kernel: 6.2.16-14-pve)
qemu-server: 8.0.7

ESXi 8.0

1
ESXi-8.0U1c-22088125-standard

qcow2 转换为 vmdk

操作对象为 PVE 环境。PVE 虚拟机存储目录为 /var/lib/vz/images,其下为各个 VMID 对应的子文件夹。进入子文件夹,则可以看到 qcow2 格式的虚拟机磁盘文件。

Snipaste_2023-09-23_11-39-54

将 kvm 虚拟机由 qcow2 转换成 vmdk 格式。为了防止镜像被拆分为 2GB 的小块,需要增加 compat6 的选项。

1
qemu-img convert -f qcow2 虚拟磁盘名.qcow2 -O vmdk 虚拟磁盘名.vmdk -o compat6

大约等个几分钟(随着文件大小而定),文件格式转换完成。

vmdx 二次转换

操作对象为 ESXi 环境。开启 ssh 访问,将上述转换得到的 vmdk 文件上传到 ESXi 的存储中。

使用命令行转换 vmdk 为 ESXi 能使用的磁盘格式。

1
vmkfstools -i 虚拟磁盘名.vmdk -d thin 虚拟磁盘名_new.vmdk

其中-d 参数 thin精简置备,生产环境按需调整为厚置备置零 eagerzeroedthick厚置备延迟置零 zeroedthick

命令执行后出现百分比,等待转换完成会有 100% 输出。

Snipaste_2023-09-23_11-40-12

ESXi 新建虚拟机,挂载转换后的磁盘即可。

相关问题

Windows sid 变更

sid 作为 windows 系统唯一的标识,对某些集群业务有依赖关系,如果重复可能导致集群部署异常。如:域控 AD 就依赖 sid 功能。

硬盘转换前后两个系统的唯一标识符 sid 是一样的,最好对后者进行变更。

查看 sid 命令行 whoami /all

修改 sid 命令行 C:\Windows\System32\Sysprep\sysprep.exe,弹出系统准备工具,勾选通用,确定后自动重启进入 OOBE 创建用户界面,建议保留原有用户账号、密码。

Snipaste_2023-09-23_11-31-08

windows 网卡变更

虚拟机网卡变更将会导致原有网卡设备由于未接入而隐藏,这就像 USB 拔出将无法查看到设备信息。

如不变更 IP,重新设置相同的静态 IPV4,操作系统会自动提示删除,点是。

Snipaste_2023-09-23_19-38-43

如有变更 IP 的需要,需要手动处理。

CMD 控制台:

1
2
set devmgr_show_nonpresent_devices=1
start devmgmt.msc

设备管理器删除旧设备释放网卡配置:

1
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\Interfaces

找到之前的网络信息,并且删除重启。

Linux 机器号

如果需要重置机器 id

1
2
sudo rm -f /etc/machine-id
sudo rm -f /var/lib/dbus/machine-id

然后关机,下次启动会生成新的机器 id,如果没有生成,可以运行以下命令:

1
sudo systemd-machine-id-setup

Linux 系统其他问题

可能会存在 GRUB 引导失败、网卡变更问题,需要修复引导、重设上网网卡和静态 IP。

参考

-EOF

查看最新版,请访问本文链接:https://blog.onehat.cn/p/adb8.html

原创作品,转载请保留出处。

评论