↔️OpenWRT从Hper-V迁移至PVE指引

2024-9-28|2025-1-7
Yawatasensei
Yawatasensei
type
status
date
slug
summary
tags
category
icon
password
😀
本篇文章主要介绍如何将Hyper-V的VHDX虚拟磁盘导入到PVE(Proxmox Virtual Environment)下,从而实现将OpenWRT直接从Hyper-V平台迁移到PVE平台,避免重新配置的繁琐过程,最大程序保留原OpenWRT系统的可用性。
迁移的原因是原来我的旁路网关所使用的OpenWRT部署在日常使用PC的Hyper-V里。而因为自己买了新的N4100工控机,4个2.5G网口,这样就可以实现全屋2.5G,提升内网的传输速度,同时将软路由(以及附带的旁路网关、旁路由、DNS服务器等等七七八八)从日常使用的PC中分离出去,减少家里网络因为我电脑问题产生的波动,同时日常使用的PC专注用于工作和使用Moonlihgt + Sunshine串流Steam打游戏。而且换了之后,日常使用的PC也可以休眠或者关机,省点电费(并没有)。另外还有就是软路由数据与系统的分离,可以将PVE的备份数据存放在smb挂载的磁盘上,减少All in Boom之后的工作量和损失。

📝 迁移过程

导出Hyper-V虚拟机

在Hyper-V Manager(Hyper-v管理中心)选择想要导出的虚拟机,我们以OpenWRT为例:右键导出,选择存放位置。
notion image
导出后的文件夹里包括:SnapshotsVirtual Hard DisksVirtual Machines ,OpenWRT的虚拟机VHDX磁盘位于Virtual Hard Disks 内,例如我的immortalwrt的VHDX为:immortalwrt-23.05.3-x86-64-generic-squashfs-combined-efi.vhdx ,为了便于之后转换和导入操作,可以修改为短一点的名字,例如openwrt.vhdx ,这样在后续输入命令的时候,能够少打点字,同时也减少因为输入名称错误带来的无法导入问题。

上传VHDK虚拟磁盘到PVE

由于VHDX不属于ISO镜像或者CT模板,所以无法通过PVE Gui(网页管理器)进行上传,需要自己通过sftp或者共享文件夹的方式上传,例如winscp,可以通过SSH账号密码登录并进行文件传输,文件存放位置选择自己能找到的位置,例如用户目录下。
notion image

在PVE上新建虚拟机

这里按照正常的虚拟机创建流程即可,需要注意有三点:
  1. 如果是EFI镜像,需要在BIOS中选择OVMF (UEFI) ,其他镜像选择默认的SeaBIOS 即可。
  1. 添加网络设备时,需要修改MAC地址为原来在Hyper-V下OpenWRT所使用的虚拟网卡MAC地址,这样可以避免大多数问题,但是例如Zerotier这种需要完全匹配设备信息的,需要单独进行调整:OpenWRT迁移后Zerotier无法连接的解决方案
  1. 不需要添加硬盘和磁盘。
notion image
完成后不需要启动虚拟机。

将VHDX磁盘转化为qcow2格式

这里需要通过SSH或者PVE Sehll进入节点机终端,并执行转换命令:
-O qcow2 :导出格式为qcow2
openwrt.vhdx :源磁盘镜像文件名称
openwrt.qcow2:导出的磁盘镜像文件名称
转换可能需要一点时间,请耐心等待。

挂载Hyper-V虚拟磁盘镜像

这里需要通过SSH或者PVE Sehll进入节点机终端,并执行导入命令:
101 :刚刚新建的PVE虚拟机的VM ID,也就是那个序号。
openwrt.qcow2 :刚刚我们转换完的磁盘镜像。
nvme:存储卷名称,例如local,或者你所添加的其他存储名称。
--format=qcow2 :将磁盘以 qcow2 格式导入 导入完成后,在PVE GUI面板,选择创建的新的OpenWRT虚拟机,选择【硬件】,双击未使用的硬盘,然后点击添加,就实现了磁盘由Hyper-V到PVE的完整迁移。

🤗 总结归纳

开启虚拟机进行后续测试,目前我的测试结果是:
软件
情况
OpenClash
正常
MosDns
正常
AdGuard Home
正常
DDNS-GO
正常
Zerotier
正常
Prometheus Exporters
正常
Qos Mate
正常
Zerotier的修复办法也已经同步进行了更新:《OpenWRT迁移后Zerotier无法连接的解决方案

📎 参考文章

 
💡
有关OpenWRT安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
RouterOS自动分流方案(支持IPv4 & IPv6)OpenWRT迁移后Zerotier无法连接的解决方案
Loading...