Proxmox VE 8 → 9 升级精简教程(无订阅版)
Proxmox VE 8 → 9 升级精简教程(无订阅版)
适用:单机或集群、使用免费 no-subscription 仓库。升级前请务必备份所有 VM/CT 并验证备份可用。建议通过物理控制台或 IPMI/iKVM 操作,不要用 GUI 自带的虚拟控制台(升级中会断连)。仅 SSH 时请用
tmux或screen。本教程已将官方
download.proxmox.com软件源替换为中科大 USTC 镜像,加速国内下载。
前置条件
- 所有节点已升级到最新的 PVE 8.4(
pveversion须 ≥8.4.1) - root 分区至少有 5 GB(建议 >10 GB)空闲空间
- 如用 Ceph:必须先升级到 Ceph 19.2 Squid 再继续
- 集群:逐节点升级,先把要保持运行的 VM/CT 迁移到其他节点
步骤一:确保 PVE 8.4 已是最新
aptupdateaptdist-upgrade pveversion# 确认 ≥ 8.4.1步骤二:运行检查脚本
pve8to9--full只检查不修改。根据提示逐项处理问题,每次修完重新运行确认。两个常见项:
- (可选)LVM 自动激活警告:共享 LVM 存储强烈建议运行迁移脚本。
/usr/share/pve-manager/migrations/pve-lvm-disable-autoactivation - systemd-boot 元包警告:若脚本提示且你没手动用 systemd-boot 引导,按提示卸载它。
(可选)减少升级期间的审计日志刷屏:
systemctl disable--nowsystemd-journald-audit.socket步骤三:切换仓库到 Trixie + PVE 9(no-subscription,USTC 镜像)
把 Debian 基础仓库从 bookworm 改为 trixie:
sed-i's/bookworm/trixie/g'/etc/apt/sources.list添加 PVE 9 no-subscription 仓库(deb822 格式,使用 USTC 镜像):
cat>/etc/apt/sources.list.d/proxmox.sources<<EOF Types: deb URIs: https://mirrors.ustc.edu.cn/proxmox/debian/pve/ Suites: trixie Components: pve-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF验证并清理旧仓库:
aptupdateaptpolicy# 确认无报错、仓库正确确认无误后,删除旧的 PVE 8 仓库行。检查并清理这些文件里残留的 bookworm 条目(注释掉或删除):/etc/apt/sources.list、/etc/apt/sources.list.d/pve-install-repo.list、/etc/apt/sources.list.d/pve-enterprise.list。如有backports行也一并删除。再次apt update && apt policy确认旧仓库已消失。
如果使用 Ceph(no-sub),另加 ceph 仓库(同样用 USTC 镜像):
cat>/etc/apt/sources.list.d/ceph.sources<<EOF Types: deb URIs: https://mirrors.ustc.edu.cn/proxmox/debian/ceph-squid/ Suites: trixie Components: no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF
提示:USTC 镜像同样提供 Debian 基础源镜像。如需进一步加速,可把
/etc/apt/sources.list中的deb.debian.org/security.debian.org也替换为https://mirrors.ustc.edu.cn/debian/等对应镜像。
步骤四:执行升级
aptupdateaptdist-upgrade过程中会询问配置文件冲突,推荐选择:
/etc/issue→No(保留现有,开机会自动生成)/etc/lvm/lvm.conf→Yes(装维护者版本,前提是你没手改过)/etc/ssh/sshd_config→Yes(推荐,迁移到新的认证选项)/etc/default/grub→No(除非你手动改过并确认差异)/etc/chrony/chrony.conf→Yes(你没手改过的话)- 「是否自动重启服务」→ 用默认即可,反正升级后会重启
- 看到
apt-listchanges输出按q退出
耗时取决于磁盘 IOPS:SSD 几分钟,机械盘可能 60 分钟以上。
步骤五:复查并重启
pve8to9# 再次确认无遗留问题reboot即使你之前已在 PVE 8 上用过 6.14 内核,也必须重启以加载用 PVE 9 工具链重新编译的新内核。
升级后
- 重启后用
pveversion确认显示9.x - 强制刷新 Web UI 缓存:
Ctrl+Shift+R(macOS:⌘+Alt+R) - 集群:继续在下一个节点重复以上步骤,直到全部完成
- (可选)把所有
.list仓库迁移成新的 deb822 格式:aptmodernize-sources
几个值得注意的坑
- UEFI + root on LVM:grub 旧版有引导 bug,需安装修复版:
[ -d /sys/firmware/efi ] && apt install grub-efi-amd64 - 网卡名变化:新内核可能改变网卡命名,导致网络不通——所以才强烈建议有物理/IPMI 访问途径。
- PCI passthrough:少数情况下 6.14 内核会让直通 VM 无法启动,临时方案是 pin 回旧内核。
- cgroup v1 已移除:systemd ≤230 的老容器(如 CentOS 7、Ubuntu 16.04)在 PVE 9 上不再受支持,需先迁移。
- Veeam 备份:使用 QEMU machine ≥10.0 的 VM 会备份失败,可把机器版本 pin 回
9.2+pve1。
参考官方文档:https://pve.proxmox.com/wiki/Upgrade_from_8_to_9
