折腾手记:PVE启动!
从ESXI到PVE的折腾续篇
书接上回,上篇文章分享了从ESXI转向PVE的决策过程,这篇就来详细聊聊PVE实际操作中的各种折腾经历,从系统安装到服务部署,再到那些让人头大的BUG排查,希望能给同样在折腾的朋友一些参考。
一、PVE系统安装与基础配置
准备工作
下载了最新的PVE 9.1.2镜像,通过Ventoy制作了启动盘。Ventoy确实方便,一个U盘就能搞定多个系统镜像的引导,省去了反复格式化的麻烦。安装过程比较顺利,按照官方文档一步步操作,选择了默认的LVM分区方案,毕竟后续还要扩展存储。
PVE毕竟是基于Debian设计的逻辑操作起来还是要方便不少的,自身的shell也是可以直机连接,而ESXI还需要在本地开启root密码连接,对于个人玩家来说确实更方便一些。

脚本一键配置
安装完成后第一件事就是用PVE-Tools-9脚本做基础优化,这个脚本确实省了不少事:
- 一键更换清华源,解决了官方源下载慢的问题
- 移除了烦人的订阅弹窗
- 自动配置了一些基础优化参数
- 开启了硬件直通所需的IOMMU支持
执行方法很简单:
wget https://raw.githubusercontent.com/Mapleawaa/PVE-Tools-9/main/PVE-Tools.sh
chmod +x PVE-Tools.sh
sudo ./PVE-Tools.sh脚本界面交互友好,按照提示选择需要的功能即可,新手也能轻松上手。特别推荐使用它的"系统更新"和"硬件直通配置"功能,比手动操作省心多了(目前shell脚本已经达到一定上限了,据作者说已经在转Go语言了,只有Intel核显直通可以用)。

二、存储扩展与虚拟机迁移
LVM存储扩展
我的机器上有两块500G硬盘,需要将它们加入到PVE的存储中。通过PVE的Web界面中节点的shell操作进行LVM扩展:
- 先在数据中心->存储中确认当前存储情况
- 进入节点->磁盘,找到新硬盘并初始化
- 使用
pvcreate创建物理卷,vgextend扩展卷组 - 最后用
lvextend将空间分配给local存储
关于lvm的使用可以直接点击左侧卡片中的Linux命令搜索自行查询使用(这也是个开源项目喜欢的可以通过访问作者的仓库自行部署)。

这样就把两块硬盘的空间都整合到了PVE的存储池里,后续创建虚拟机就方便多了。
虚拟机迁移体验
从ESXI导出了两个主要的VMDK镜像:iStoreOS和RockyLinux。
iStoreOS的导入非常顺利:
- 新建虚拟机时选择"导入磁盘镜像"
- 直接选择VMDK文件,PVE会自动转换格式
- 启动后无需任何配置就能正常运行

类似这样-添加硬盘选择vmdk文件即可-和ESXI中很像
但RockyLinux的迁移就遇到了麻烦:
- 导入后启动卡在引导阶段
- 更换不同的BIOS/UEFI模式又卡到了新的阶段
考虑到这台机器上的数据不多,最终决定放弃迁移,直接新建虚拟机重新部署。这次选择了 RockyLinux 9 的ISO重新安装,然后部署了MCSM面板和我的世界服务端整合包。
三、运行中的问题与排查
服务端崩溃与系统死机
新环境运行几天后发现了两个严重问题:
- MC服务端会不定期崩溃
- 偶尔会出现PVE主机直接死机的情况
首先查看MC服务端日志,发现了明显的OOM(内存溢出)错误,起初以为是分配的资源不足,于是给虚拟机增加了内存,但问题依旧。
直到有一次PVE主机死机后,重启查看系统日志,发现了这样的错误信息:
BUG: unable to handle page fault for address: 00000000000fff8b
#PF: supervisor write access in kernel mode
#PF: error_code(0x0002) - not-present page这明显是系统级别的内存错误,结合之前的服务端崩溃,开始怀疑是不是PVE的内存管理配置有问题。
动态内存配置问题
回想在ESXI中,只需要设置好虚拟机的内存大小和预留内存即可稳定运行,但PVE在这方面有差异。查阅资料后发现,PVE的动态内存管理需要配合qemu-guest-agent才能正常工作:
配置内存气球(Balloon)功能:
- 在硬件->内存设置中
- 勾选"启用内存气球"
- 根据需要设置最小内存和最大内存
在PVE的虚拟机配置中启用QEMU Guest Agent:
- 进入虚拟机->选项->QEMU Guest Agent
- 勾选"启用"选项
- 重启虚拟机使配置生效
首先需要在虚拟机中安装qemu-guest-agent:
# RockyLinux/CentOS yum install qemu-guest-agent -y systemctl enable --now qemu-guest-agent # Debian/Ubuntu apt install qemu-guest-agent -y systemctl enable --now qemu-guest-agent
完成这些配置后,系统已经稳定运行了一段时间,暂时没有再出现死机和服务崩溃的情况,看来问题确实出在动态内存配置上。
四、总结与后续计划
从ESXI转到PVE的过程虽然有些波折,但整体还是顺利的。PVE的Web界面虽然不如ESXI华丽,但功能更丰富,自定义程度也更高。PVE-Tools-9脚本极大简化了初期配置工作,非常推荐新手使用。
目前还在持续测试中,主要关注:
- 内存配置优化后的系统稳定性
- 硬件直通功能的实际应用效果
如果你也在考虑从ESXI转向PVE,建议提前做好数据备份,预留足够的时间解决可能出现的兼容性问题。PVE的社区资源很丰富,遇到问题多搜索多尝试,大部分问题都能找到解决方案。
后续会继续分享PVE的硬件直通等内容,感兴趣的朋友可以持续关注收藏网页。