从ESXi平滑迁移到PVE总结

2024-03-10 18:00:25 0点赞 10收藏 10评论

迁移背景

2023年2月份,笔者曾经使用ESXi虚拟化平台自组了一个NAS,并且称之为最终养老方案。如今,一年时间过去了,它的确称可以之为养老方案,稳得一匹。期间只因为CPU散热风扇异响,才停机处理过一次,其余时间均正常运行,使得笔者有限的时间能够用在欣赏影片之上。

乔思伯散热器在运行不到一年后因异响退役乔思伯散热器在运行不到一年后因异响退役

可现在为什么又要迁移PVE呢?笔者总结了几个因素。第一点,博通收购VMware后,ESXi发展规划从买断制变成了订阅制,这意味着ESXi的可玩性将大打折扣;第二点,笔者之前安装的ESXi版本是7,它不支持Realtek家的RTL8125B 2.5G网卡,但刚好家里有备用的PCIE网卡,所以就将就着用了。大家如果是螃蟹RTL8125B网卡,则建议直接用ESXi 6.7版本,这也意味着被锁在6.7版本上;第三点,ESXi的性能监控对于家用来说,着实有些差强人意。ESXi只支持一个小时的性能监控,超过一个小时则需要安装专门的监控系统;第四点,PVE是基于Debian系统的虚拟化平台,这意味着宿主机有更多的操控性。

准备工作

NVME1NVME1NVME0NVME0

本文中用到的主板包含两个nvme接口,正面支持最长22110长度的nvme硬盘,背面支持2280长度的nvme硬盘。

从ESXi平滑迁移到PVE总结从ESXi平滑迁移到PVE总结

原本做ESXi的时候,只用了一个nvme接口,因此还剩一个nvme接口尚未利用。这次在网上买了一个16GB大小的傲腾M1,准备当做PVE系统盘。

其次,nvme硬盘中包含了一个1.2TB大小的虚拟机,但nvme硬盘中文件系统的格式是VMFS6,在linux中无法使用。因此需要把这个1.2TB大小的硬盘先挪到别的地方,等PVE创建好,nvme硬盘挂载好后,再挪过来。这里补充一句,笔者将sata控制器直通给了DSM,由于手头暂时没有这么大的备用存储空间,因此只能先将这个1.2TB的硬盘文件先挪到DSM中。首先在DSM中配置好NFS,然后将NFS挂载到ESXi中,然后将硬盘复制到这个NFS中。这三步都不需要命令行,全部在web页面上操作即可。需要注意的是,在DSM中开启NFS后,在ESXi中配置的NFS共享这项要填成共享文件夹的装载目录。

DSM上开启NFS配置DSM上开启NFS配置修改共享文件夹的NFS权限配置修改共享文件夹的NFS权限配置编辑NFS规则编辑NFS规则

服务器名称或IP地址这里建议填写成IP网段,例如 192.168.1.0/24

ESXi上挂载NFS存储ESXi上挂载NFS存储

复制时,请将fat文件和vmdk文件一起复制。

还有一点需要注意,那就是备份好虚拟机的mac地址,重新构建虚拟机时,需要指定为原先的mac地址。打开虚拟机配置所在位置,其中有一个后缀为vmx的文件,下载下来后,用记事本打开,其中 ethernet0.generatedAddress 这个对应的就是mac地址了。

笔者的DSM用的是USB做引导,然后直通了sata控制器,因此在PVE上重建时,就不会牵扯到硬盘的转移了,只用把USB和sata控制器配置上就可以了。

PVE系统安装

小的注意点

从ESXi平滑迁移到PVE总结

迁移过程相对来说比较简单,但在PVE8上踩了一个坑,最新的PVE 8.1.4版本不支持ventoy安装,只能使用rufus软件将PVE的安装镜像dd到U盘中,不过从ventoy官网的更新说明中可以看到,2024年1月24号发布了1.0.97版本,此版本修复了PVE8不能启动的问题。大家可以按需选择安装方式。

由于傲腾16G硬盘实在过小,因此在安装时,会提示安装将会跳过pve-lvm的安装,这个不要紧,笔者的所有虚拟机和数据盘都会放在另一个大容量nvme硬盘中,傲腾的作用仅仅是代替U盘,避免系统读写卡顿。

网卡名称变动问题

在迁移时,笔者遇到了一个小问题,为了避免安装时,误删其他硬盘中的数据,因此在安装前把另一块nvme硬盘还有sata硬盘都取下来了。安装好后,将另一块nvme硬盘插上时,服务器连不上网了。经过排查,发现是网卡的接口名发生了变动,原先是 enp2s0 ,在插入nvme硬盘后,变成了 enp3s0 。如何确认网卡的名称呢?可以使用 ifconfig 或者 ip addr 命令查看,如果这两个命令都没有,可以使用 lspci 命令查看网卡的地址。

ifconfig 命令结果ifconfig 命令结果ip addr命令结果ip addr命令结果lspci命令结果lspci命令结果

此时,需要做的是修改网络配置,此时就要用到命令行了,使用vim/vi/nano任意工具在命令行修改 /etc/network/interfaces ,将其中所有内容为 enp2s0 的地方,全部修改为 enp3s0。然后使用命令 systemctl restart network ,或者重启系统reboot即可。

此时,PVE就安装成功了,后面修改源之类的就不具体展开了。

网卡驱动升级

PVE下,RTL8125B网卡使用的驱动默认是r8169,此驱动没有开启网卡多队列等特性。导致一个网卡的软中断只能使用固定的一个核心开接收和发送数据。

从ESXi平滑迁移到PVE总结查看网卡驱动查看网卡驱动查看网卡中断数量查看网卡中断数量

总之,RTL8125B网卡建议更换驱动,笔者曾尝试从源码安装RTL8125B的驱动,但由于系统中缺少一些编译工具,因此便没有成功。本文采用了网上一位大佬编译好的,开启了多网卡队列的驱动包。这是两个驱动包:realtek-r8125-dkms 未开启多网卡队列realtek-r8125-dkms 开启了多网卡队列,大家按需使用。

$ apt update

$ apt upgrade

$ apt install -y dkms pve-headers #pve 8.0.4+建议将pve-headers替换为proxmox-default-headers

## 安装headers

$ headers=$(dpkg -l | awk '/^ii.+kernel-[0-9]+.[0-9]+.[0-9]/{gsub(/-signed/, ""); gsub(/kernel/, "headers"); print $2}' | tr "n" " ")

$ eval apt install -y $headers

## 安装刚刚下载好的deb包,此命令只会为当前系统所使用的内核以及刚刚安装的最新内核(也可能当前所使用的内核就是最新内核)安装驱动

$ dpkg -i realtek-r8125-dkms_*.deb # 如通配符会匹配多个时亦可指定具体的文件名

## 如果想为那些既不是系统当前所使用的内核,也不是刚刚安装的最新内核安装驱动,需要手动指定安装

## 看看哪些内核安装好了驱动

$ dkms status

## 列出全部内核版本kernel_version,找出那些还没有安装驱动的内核

$ dpkg -l | awk '/^ii.+kernel-[0-9]+.[0-9]+.[0-9]/{gsub(/proxmox-kernel-|pve-kernel-|-signed/, ""); print $2}'

## 手动指定驱动版本(在deb文件名中有体现)和内核版本(从上一句命令的输出中),zsh按tab可自动补全,比如:dkms install realtek-r8125/9.011.01 -k 6.2.16-5-pve

$ dkms install realtek-r8125/ -k

## 卸载不再需要的headers

$ eval apt-mark auto $headers

$ apt autopurge

## 禁用r8169驱动

$ echo "blacklist r8169" >> /etc/modprobe.d/dkms.conf

## 重启

$ update-grub

$ update-initramfs -u -k all

$ reboot

## 再次查看网卡加载的驱动,现在加载的是r8125了

$ lspci -s 03:00.0 -k

03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller (rev 05)

Subsystem: Realtek Semiconductor Co., Ltd. RTL8125 2.5GbE Controller

Kernel driver in use: r8125

Kernel modules: r8169, r8125

sata控制器直通

网卡搞定后,需要开启sata控制器直通。此时需要调整PVE中的 /etc/default/grub 文件,找到 GRUB_CMDLINE_LINUX_DEFAULT="quiet" 这一行,在后面补上 intel_iommu=on

如果是amd的cpu,则改成amd_iommu=on如果是amd的cpu,则改成amd_iommu=on

修改完后,使用 update-grub 命令更新一下grub,这时不用着急重启,还需要调整另外一个文件。编辑 /etc/modules 文件,在其中添加如下的配置内容:

vfio

vfio_iommu_type1

vfio_pci

vfio_virqfd

从ESXi平滑迁移到PVE总结

调整完后,重启服务器。

虚拟机配置

DSM配置

从ESXi平滑迁移到PVE总结

由于笔者使用的是USB引导以及sata控制器直通,因此配置起来就很简单了。在新建虚拟机时,操作系统tab中选择不使用任何介质;系统tab中机型选择q35,BIOS选择OVMF(UEFI);磁盘tab中删除所有磁盘;cputab中类别选择host类型;网络tab中mac地址请指定成之前用的mac地址。最后完成创建。

添加USB引导添加USB引导添加SATA控制器添加SATA控制器

创建完成后,在硬件tab中,添加USB设备,建议使用使用USB供应商/设备ID这一选项,这样你的U盘插在哪个USB口上都可以;然后添加PCI设备,选择原始设备,找到并选择sata控制器,然后勾选所有功能。

设置启动顺序设置启动顺序

之后,在选项tab中,调整一下引导顺序,将U盘调整到第一位。然后启动虚拟机就OK啦。

从ESXi平滑迁移到PVE总结

如果需要arpl/rr或更详细的安装步骤,请参考本文最后的参考资料部分链接。

虚拟机硬盘转换

本文对PVE添加硬盘功能不做展开,仅描述如何将vmdk后缀的硬盘文件转换成pve能识别使用的硬盘。

本文前面将一个1.2T的硬盘文件放到了DSM中,因此还需要将它打通到PVE系统中。这里还是采用NFS挂载的方式,DSM部分就不详细展开了,PVE上需要使用命令行,将NFS挂载上。

mkdir -p /mnt/data

mount -t nfs 你的内网IP地址:/volume2/data1 /mnt/data

需要先创建好虚拟机,得到虚拟机编号,例如100、101等。然后使用下面的命令,将DSM中的vmdk硬盘转换成qcow2格式硬盘,这个过程会比较长,请使用screen工具保持会话。

手动导入vmdk文件手动导入vmdk文件

转换完成后,在虚拟机选项里,硬件tab中会出现一个尚未使用的硬盘,双击配置,可以开启SSD仿真选项。

再之后,调整引导顺序,然后就可以启动使用了。

总结

从ESXi平滑迁移到PVE总结

从ESXi迁移到PVE,整体大约花了一天多时间,其中转移1.2T硬盘花费了近一半。目前来看,得到的收益有:第一个是可以看更长时间范围的监控了;第二个是使用了原生网卡,不用再使用pcie网卡了,后面有机会可以在pcie位置扩展安装一些其他设备;第三个是查看硬盘smart信息更方便了,PVE可以在web页面上直接查看。

折腾完这一轮后,预计又将再休养生息一段时间,笔者希望至少能维持一年以上。

参考资料

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

UGREEN 绿联 DX4600 Pro 4盘位NAS(奔腾N6005、8GB)

1899元起

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

ZSpace 极空间 私有云 Z4Pro 8G版 4盘位NAS存储(N97、8GB)

2485.01元起

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

UGREEN 绿联 DX4600 四盘位NAS存储 (赛扬N5105、8GB)

1749元起

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

ZSpace 极空间 私有云 Z4Pro 性能版 NAS存储(N305、16GB)

3499元起

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

QNAP 威联通 TS-464C2 四盘位 NAS网络存储(赛扬N5095、8GB)黑色

2599元起

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

UGREEN 绿联 DX4600+ 4盘位NAS(赛扬N5105、8GB)

1968.01元起

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

ZSpace 极空间 私有云 Z4Pro 16G版 4盘位NAS存储(N97、16GB)

2783.51元起

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

ZSpace 极空间 私有云 Z423 旗舰版 8盘位NAS存储(锐龙R7-5825U、64GB)

5899元起

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

Synology 群晖 DS224+ 双盘位NAS(赛扬J4125、2GB)

2829元起

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

TERRAMASTER 铁威马 F4-424 Pro 四盘位NAS(Intel Core i3、32GB)黑色

2499元起

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

QNAP 威联通 TS-466C 四盘位NAS(奔腾N6005、8GB)

3199元起

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

UGREEN 绿联 DH2600 双盘位NAS (N5105、4GB)

1321.01元起

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

ASUS 华硕 AS6702T 4盘位NAS存储 黑色(Core2 Quad Q8300、4GB)

4279元起

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

Synology 群晖 DS220+ 2盘位NAS (赛扬J4025、2GB)

2179元起

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

ZSpace 极空间 私有云Z2Pro 四核2盘位NAS家庭个人云网络存储服务器手机平板扩容适用iPhone15 水

1299元起

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

sgwbox 拾光坞 N3 星光版V1(瑞芯微RK3566,2G,支持docker)

385.78元起
10评论

  • 精彩
  • 最新
  • ubuntu server 稳定运行了好几年了....需要上虚拟化平台吗?我觉的phpvirtualbox一般用用就够了

    校验提示文案

    提交
    如果主机性能够强,干的事情够多,最好上虚拟化

    校验提示文案

    提交
    我当初j1900加4g内存,phpvirtualbox中两个虚拟机开希望ol自己玩,cpu占用控制50内

    校验提示文案

    提交
    收起所有回复
  • 我试了一下esxi稳定性要好的多,但是pve更开放,可玩性高

    校验提示文案

    提交
    如果能充分利用主板功能,那就没问题,我是板载网卡用不了

    校验提示文案

    提交
    收起所有回复
  • 想给软路由加2.5g网卡,网上查了一圈资料,exsi7.0不支持,奈何准备重新刷到pve

    校验提示文案

    提交
    同病相怜,一年前随便装了个eaxi7,板载网卡用不了很难受

    校验提示文案

    提交
    结果pve也没折腾成功直通,一直通就延迟连不上,现在ikuai [大囧]

    校验提示文案

    提交
    收起所有回复
  • 不知道楼主机箱是不是n2,如果是的话硬件系统居然出奇的一致

    校验提示文案

    提交
    是迎广ms04 [高兴]

    校验提示文案

    提交
    收起所有回复
提示信息

取消
确认
评论举报

相关好价推荐
查看更多好价

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
10
扫一下,分享更方便,购买更轻松