Ivan Li 7 分钟阅读

升级 All in One: PVE 8.4 -> PVE 9.1, PBS 3 -> 4

记录一下 PVE + PBS 同宿主机共装的 All in One homelab server 的升级。 PVE 8.1 -> 9.1: PBS 3.4 -> 4

为了吃上 PVE 9 才有的 LXC 补丁,今天就升级一下 PVE 和 PBS 吧。看了下升级流程,需要先升级共装的 PBS,然后才能升级 PVE。之前都是硬盘挂掉之类的问题在重新安装时用最新版本镜像顺便完成大版本升级的,这次试试就地升级的方式。

跑着主路由的 All in One,就地升级有点刺激,毕竟要是升级过程中软路由寄了可能就成鸡蛋问题了…… 先下载一个镜像防身吧:Proxmox VE 9.1 ISO Installer

我在局域网内使用 SSH 连接宿主机,官方文档推荐使用 Tmux 来保持会话,所以我打开了珍藏多年的 Tmux Cheat Sheet & Quick Reference

一定要阅读 Known Issues & Breaking Changes ,避免直接往坑里跳。

这次升级我阅读了 Upgrade from 8 to 9 - Proxmox VEUpgrade from 3 to 4 - Proxmox Backup Server,并让 Gemini 2.5 Pro 帮我提取 pve8to9pbs3to4 的提示信息,相关解决方案是我自己 Google 出来的。不太放心让 AI 直接搞,gpt-5.1-high 给的答案意外地有点抽象。

就地升级准备工作

准备 PBS

首先确保当前是最新的 3.x 版本的 PBS:

apt update
apt dist-upgrade

现在我是 PBS 3.4.8 了。运行 proxmox-backup-manager versions 确认一下:

pbs-version-3.4.8

备份一下配置,然后保存到其他设备上:

tar czf "pbs3-etc-backup-$(date -I).tar.gz" -C "/etc" "proxmox-backup"
croc send "pbs3-etc-backup-$(date -I).tar.gz"

根挂载点需要保留 10G 以上的可用空间,运行 df -h / 确认一下:

root-space-87G

运行 pbs3to4 检查一下:

pbs3.4to4-checklist-1

遇到两个问题:

  1. FAIL: could not match the 'proxmox-backup' package version, is it installed? 安装一下就行了,建议运行:apt install proxmox-backup-server proxmox-backup 。 (参考

  2. FAIL: systemd-boot meta-package installed. This will cause problems on upgrades of other boot-related packages.

    首先先检查自己是否使用 systemd-boot参考):

    运行 efibootmgr -vls -lR /boot/efi/EFI/ 确认下:

    检查引导加载程序

    我使用的是 GRUB 引导,系统里也没有 EFI/systemd 目录,没有使用 systed-boot,所以我按提示卸载 systemd-boot

    apt remove systemd-boot
    

再跑一次检查清单 pbs3to4 --full,现在没问题了:

pbs3.4to4-checklist-2

准备 PVE

*本来准备分别升级的,看了下后面步骤似乎是升级 Debian 了,看起来现在得先准备好 PVE 。 *

我们之前已经对 /etc 目录备份了(虽然叫 pbs3xxx)。

使用 pveversion 确认当前 PVE 版本(我们前面升级过了,现在应该是最新的):

pve-version-8.4.14

准备 Debian

升级 Debian 基础仓库到 Trixie。我选择按新的 deb822 风格添加存储库,使用的是无订阅的,所以执行下面命令添加存储库并删除旧风格的文件:

# pve cat > /etc/apt/sources.list.d/proxmox.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/pve Suites: trixie Components: pve-no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF # ceph cat > /etc/apt/sources.list.d/ceph.sources << EOF Types: deb URIs: http://download.proxmox.com/debian/ceph-squid Suites: trixie Components: no-subscription Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg EOF # pbs

之后运行 apt update && apt policy 确认下结果如何:

apt policy

让我重新运行 pve8to9 --fullpbs3to4 --full,现在只有一个需要在升级前解决的警告了:

[!WARNING]

WARN: The matching CPU microcode package 'amd64-microcode' could not be found!

但是我的源并没有这个 amd64-microcodeamd64-microcode 这个包位于 Debian 的 non-free-firmware 软件仓库组件中,需要更改 /etc/apt/sources.list 文件,在每一行末尾添加 non-free-firmware

sources.list

然后运行 apt-update && apt install amd64-microcode

在升级前强烈建议关闭所有 VM 和 LXC,由于我还跑了软路由,所以剩下软路由的 VM 没关,其他全停了,希望不要炸。

现在,升级系统到 Debian Trixie、Proxmox VE 9.1、Proxmox Backup Server 4!

apt dist-upgrade

OK,apt-dist-upgrade 正常退出了。现在重新运行 pve8to9pbs3to4,确认一下是否有问题,看着解决就完事了~

总结

完成啦~

  • PVE 8.4.14 -> 9.1.1
  • PBS 3.4.8 -> 4.0.22

升级过程还是挺丝滑的,没遇到怎么致命问题,服务中断15分钟左右,包括停止服务后更新时的下载软件包的时间,整个升级耗时大概两小时吧。

Feedback

如果这篇文章对你有帮助,欢迎留下反应或评论。