就地升级:
就地升级通过 apt 工具执行。采用该升级方式需要熟悉 apt 工具。
先决条件:
1、所有节点均已升级至 Proxmox VE 8.4 最新版本。
若你的 pve‑manager 版本低于 8.4.1,请确认节点的软件源配置正确
(网页管理界面,节点 → 软件源)。
2、Hyper-converged Ceph:在开始升级 Proxmox VE 9.0 之前,请将所有 Ceph Quincy 或 Ceph Reef 集群升级至 Ceph 19.2 Squid。
请分别参照 Ceph Quincy to Reef、Ceph Reef to Squid 的操作指南。
3、共存安装的 Proxmox Backup Server:请查阅the Proxmox Backup Server 3 to 4 upgrade how-to 的操作教程。
4、节点可稳定访问。建议使用独立于主机的通道进行访问,例如 IKVM/IPMI 或物理控制台。
1)、若仅能通过 SSH 访问,建议先在配置相同的非生产设备上测试升级流程。
2)、强烈建议使用终端复用工具(例如 tmux 或 screen),即便 SSH 连接中断,升级过程仍可继续执行。
5、集群状态正常。
6、所有虚拟机与容器均已完成有效备份并经过验证(用于应对异常故障)。
7、根挂载点至少具备 5 GB 磁盘可用空间,建议可用空间大于 10 GB。
查阅已知升级相关问题known upgrade issues。
测试升级:
可以使用独立服务器轻松执行升级测试。在部分测试硬件上安装 Proxmox VE 8.4 ISO,随后将该安装环境升级至 Proxmox VE 8.4 的最新次要版本(参见软件包仓库)。为尽可能还原生产环境配置,将所有相关配置复制或创建到测试机器,之后启动升级。也可以在虚拟机中安装 Proxmox VE 8.4,并在此环境下开展升级测试。
分步操作:
1、 需要在集群内每个 Proxmox VE 节点的命令行中执行以下操作。
2、 通过控制台或 SSH 执行相关操作;优先使用控制台,避免 SSH 连接中断。请勿在 GUI 提供的虚拟控制台连接状态下执行升级操作,升级过程中该连接会中断。若仅可使用 SSH,建议使用终端复用工具(例如 tmux 或 screen),防止 SSH 连接中断引发问题。
3、 继续操作前,请务必确认已为所有虚拟机(VM)和容器(CT)创建有效的备份。
4、 使用 pve8to9 检查清单脚本
5、 最新的 Proxmox VE 8.4 软件包中附带了一个名为 pve8to9 的小型检查程序。该程序会在升级流程之前、期间以及之后,针对潜在问题给出提示与警告。你可以通过执行以下命令来调用它:
pve8to9
要在开启全部检查项的情况下运行它,请执行:
pve8to9 –full
6、 升级前请务必至少执行一次完整检查。
该脚本仅执行检查与信息上报操作。默认情况下不会对系统做出任何修改,因此所
有问题均不会被自动修复。请注意,Proxmox VE 支持高度自定义,所以该脚本可能无法识别特定配置环境下的全部潜在问题!
建议在每次尝试修复问题后重新运行脚本。这样可以确保所执行的操作确实消除了
对应的警告。
7、 迁移重要的虚拟机与容器
如果有虚拟机(VM)和容器(CT)需要在升级期间保持运行,请将它们从正在升级的节点上迁移出去。
规划集群升级时需牢记的迁移兼容性规则:
a、 将虚拟机或容器从旧版本 Proxmox VE 迁移至新版本始终可以正常运行。
b、 从较高版本的 Proxmox VE 迁移到较低版本或许可以运行,但通常不受官方支持。
注意:在部分升级的集群中,若你登录已升级至 Proxmox VE 9 的节点的图形用户界面,并对仍运行 Proxmox VE 8 的节点执行操作(例如虚拟机迁移),可能会出现少量不一致问题。当你将虚拟机从仍运行 Proxmox VE 8 的节点迁出时,如果遇到错误或警告,请登录该节点的图形用户界面,重新尝试迁移操作。
8、 更新已配置的 APT 软件源::
a、 首先,请确保系统正在使用最新的 Proxmox VE 8.4 软件包:
apt update
apt dist-upgrade
pveversion
最后一条命令应输出至少 8.4.1 或更新的版本。
注意:对于hyperconverged Ceph部署环境,请确保运行的是 Ceph Squid (version 19)。请查看 ceph --version 的输出结果予以确认。若当前运行的不是 Ceph Squid,请查阅upgrade guide for Ceph Reef to Squid的升级指南并先完成升级。在升级到 Ceph Squid 之前,请勿执行以下任何步骤。
b、 将 Debian 基础软件源更新至 Trixie 版本
将所有 Debian 以及 Proxmox VE 软件源条目更新为 Trixie 版本。
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list
sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/pve-enterprise.list
确保系统中没有残留的 Debian Bookworm 专属软件源;若仍有残留,可在对应行的行首添加 #符号将这些软件源注释掉。检查 /etc/apt/sources.list 与 /etc/apt/sources.list.d/pve‑enterprise.list 内的所有条目,Proxmox VE 9 / Debian Trixie 对应的正确软件源请参阅 Package Repositories。
c、 添加 Proxmox VE 9 软件包仓库
如果你正在使用企业软件源仓库,可采用全新 deb822 格式添加 Proxmox VE 9 企业软件源仓库。执行以下命令以创建对应的 pve‑enterprise.sources 文件:
cat > /etc/apt/sources.list.d/pve-enterprise.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/pve
Suites: trixie
Components: pve-enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
按照上述步骤添加新的企业软件源之后,请检查 apt 是否能够正确识别该软件源。操作方法为先执行 apt update,再执行 apt policy。确保没有报错,且 apt policy 的输出仅包含所需的软件源。之后你可以删除旧的 /etc/apt/sources.list.d/pve‑enterprise.list 文件。再次执行 apt update 和 apt policy,确认旧软件源已被移除。
如果使用无订阅软件源,请参阅软件包软件源文档。你可以通过以下命令添加 Proxmox VE 9 无订阅软件源:
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
和企业软件源的操作一样,确保 apt 可以正确识别该软件源,先执行 apt update,再执行 apt policy。随后从 /etc/apt/sources.list、/etc/apt/sources.list.d/pve‑install‑repo.list,或是你添加过该源的其他任意.list 文件中,删除旧的 Proxmox VE 8 无订阅软件源。再次执行 apt update 与 apt policy,确认旧软件源已被移除。
d、 更新 Ceph 软件包仓库
注意:仅针对超融合 ceph 部署环境,若存在疑问,请在该节点的 Web 管理界面中查看 ceph 面板以及已配置的软件源。
将所有ceph.com软件源替换为proxmox.com的 ceph 软件源。
注意:此时直接部署在 Proxmox VE 中的超融合 Ceph 集群必须运行 Ceph 19.2 Squid 版本,否则在将 Debian 13 Trixie 系统升级至 Proxmox VE 9 之前,你需要先升级 Ceph!你可以在 Proxmox VE 网页管理界面中各节点的 Ceph 面板查看当前 Ceph 版本。
从 Proxmox VE 8 版本开始,还提供了 Ceph 企业软件源,为生产环境部署提供最优选择。执行以下命令,即可添加基于 Trixie 版本、采用全新 deb822 格式的 Ceph 企业软件源:
cat > /etc/apt/sources.list.d/ceph.sources << EOF
Types: deb
URIs: https://enterprise.proxmox.com/debian/ceph-squid
Suites: trixie
Components: enterprise
Signed-By: /usr/share/keyrings/proxmox-archive-keyring.gpg
EOF
先执行 apt update,再运行 apt policy,确保 apt 可以正确识别该软件源。整个过程不应出现报错,且新软件源应能在 apt policy 的输出结果中正常显示。之后你就可以删除旧的 /etc/apt/sources.list.d/ceph.list 文件。你可以再次执行 apt update,接着运行 apt policy,确认该旧软件源已被彻底移除。
如果更新出现 401 错误,你可能需要先刷新订阅,确保已获取 ceph 的新访问权限,可通过网页界面或者执行 pvesubscription update --force 命令完成该操作。
如果您没有任何订阅,可以使用无订阅软件源,通过以下新的 deb822 格式命令添加该软件源:
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
和企业软件源的操作一样,执行 apt update,随后运行 apt policy,确保 apt 可以正确识别该软件源。之后你就可以删除旧的 /etc/apt/sources.list.d/ceph.list 文件。
如果存在 backports 源配置行,请将其删除 —— 本次升级并未针对已安装 backports 软件源的软件包做过测试。
e、 刷新软件包索引
更新软件源的软件包索引,并确认未输出任何错误:
apt update
f、 将系统升级至 Debian Trixie 与 Proxmox VE 9.0
请注意,完成该步骤所需的时间很大程度上取决于系统性能,尤其是根文件系统的 IOPS 与带宽。若运行状态加载缓慢,该过程最多可能耗时 60 分钟甚至更久;而对于搭载固态硬盘的高性能服务器,完整版本升级可在 5 分钟以内完成。从该步骤开始,获取第一批升级软件包:
apt dist-upgrade
在执行上述步骤期间,系统会请求你确认对配置文件的修改,以及部分服务的重启操作,对应的软件包已更新默认配置。
你也可能会看到 apt‑listchanges 的输出内容,直接按下 “q” 键即可退出该界面。如果弹出默认键盘布局选择提示,只需使用方向键选中适配你使用场景的选项,按下回车键即可。
针对服务重启相关的询问(例如 “软件包升级过程中无需确认直接重启服务?”),若你不确定如何选择,直接使用默认选项即可,因为升级完成后的重启操作会干净地重启全部服务。
建议查看每个相关文件的差异,再结合你的设备环境选择最合适的选项。
发生改动的常用配置文件,推荐选择如下:
- /etc/issue ->Proxmox VE会在启动时自动生成该文件,它仅对登录控制台产生外观层面的影响。此处使用默认选项 “否”(保留当前已安装版本)是安全的。
- /etc/lvm/lvm.conf ->与 Proxmox VE 相关的改动将会被更新,使用较新的配置版本可能会更合适。如果你没有自行进行额外修改且拿不定主意,建议在此处选择 “是”(安装软件包维护者提供的版本)。
- /etc/ssh/sshd_config -> 如果你没有手动修改过此文件,那么仅有的差异应当是将ChallengeResponseAuthentication no替换为KbdInteractiveAuthentication no,以及注释中一些无关的改动(以 #开头的行)。如果是上述情况,两种选项均是安全的,但我们建议安装软件包维护者提供的版本,从而不再使用已废弃的ChallengeResponseAuthentication选项。如果存在其他改动,建议仔细检查这些改动,并据此做出相应判断。
- /etc/default/grub -> 此处你需要格外留意,通常只有在你手动修改过相关内容时才会出现该询问,例如添加某些内核命令行选项。建议核对差异,确认是否存在需要关注的改动;请注意注释内容(以 #开头的行)发生的改动无需关注。如果拿不准,建议选择 “否”(保留你当前已安装的版本)
- /etc/chrony/chrony.conf -> 如果你做过本地修改,你可能需要将这些修改从全局配置中移到 conf.d 目录;如果是自定义时间源,则移到 sources.d 文件夹。有关详细信息,请查看你系统上的 /etc/chrony/conf.d/README 和 /etc/chrony/sources.d/README 文件。如果你自己没有做过额外修改且拿不定主意,建议在此处选择 “是”(安装软件包维护者提供的版本)。
9、 检查结果并重启进入更新后的内核
如果 dist‑upgrade 命令执行成功退出,你可以重新运行 pve8to9 检查脚本,然后重启系统,以便使用全新的 Proxmox VE 内核。
请注意:即便你此前已在 Proxmox VE 8 上通过可选安装包使用过 6.14 内核,仍然需要执行重启操作。该内核是基于 Proxmox VE 9 新版编译器与应用二进制接口(ABI)版本重新构建的,重启可确保与系统其余部分实现最佳兼容性。
10、Proxmox VE 升级完成后
清空浏览器缓存,和 / 或强制刷新网页界面(快捷键:CTRL + SHIFT + R;macOS 系统为 ⌘ + Alt + R)。
11、适用于集群:
a、 检查所有节点是否已正常运行并使用最新软件包版本。若未达到该状态,则对下一个节点继续执行升级操作,从 #前提条件步骤重新开始。
b、 Proxmox VE 9 弃用高可用组,转而使用高可用规则。如果您正在使用高可用功能以及高可用组,待所有集群节点均升级至 Proxmox VE 9 后,高可用组将自动迁移为高可用规则。
若全部集群节点升级完成后,您在使用高可用组或高可用规则时遇到任何问题,请在处于活动状态的 CRM 节点上,执行 journalctl -eu pve‑ha‑crm 命令查看 pve‑ha‑crm 的日志,排查错误信息
12、可选操作:更新 apt 软件源
你可以通过运行以下命令,将现有的软件源仓库迁移为推荐的 deb822 风格格式:
apt modernize-sources
通过在如下提示后输入 “n” 进行回复,你可以在执行该命令前查看它将会做出的修改。若要应用这些修改,只需再次运行该命令,并在提示后输入 “Y” 进行回复即可。
该命令还会保留旧的.list 文件,会为其追加.bak 后缀。因此你将得到新的.sources 文件,而旧的软件源配置会存放在.list.bak 文件中。当你确认新格式下所有功能都运行正常后,就可以删除这些遗留的备份文件。
13、清单问题
proxmox‑ve 软件包版本过旧:
检查已配置的软件包源条目;此步骤中它们仍需适配 Proxmox VE 8.x 与 Bookworm(参见 Package_Repositories)。随后执行
apt update
紧随其后
apt dist-upgrade
在升级至 PVE 9 之前获取最新的 Proxmox VE 8.x 软件包。
14、LVM/LVM‑thin 存储存在已开启自动激活功能的客户卷
在 LVM 或 LVM 精简存储上,客户机卷对应一个 LVM 逻辑卷(LV)。默认情况下,当逻辑卷变为可见状态时,LVM 会自动将其激活,例如系统启动后;若 LVM 存储位于 iSCSI 逻辑单元号(LUN)上,则在 iSCSI 登录完成后激活。从 PVE 9 版本开始,新创建的逻辑卷将关闭自动激活功能。此类逻辑卷不再自动激活,改为由 Proxmox VE 在需要时进行激活。在配置了共享 LVM 存储的集群中(例如基于共享 iSCSI/FC 逻辑单元号(LUN)),该机制可以避免客户机 / 磁盘创建或者客户机迁移失败的相关问题。更多详情请参阅漏洞工单 #4997。
对于已存在的逻辑卷,我们提供了迁移脚本,可对已启用且处于激活状态的 LVM、LVM 精简存储上的全部客户机卷关闭自动激活功能。该迁移脚本路径为 /usr/share/pve-manager/migrations/pve‑lvm‑disable‑autoactivation,pve8to9 检查清单脚本会提示在必要时执行此迁移脚本。如果共享 LVM 存储上存在客户机卷,强烈建议运行该迁移脚本,以此规避上述问题。若客户机卷仅部署在本地 LVM 或 LVM 精简存储中,则该迁移脚本可选择性执行。
15、已知升级问题
a、普遍问题:
作为基于 Debian 的发行版,Proxmox VE 会受到绝大多数影响 Debian 的问题与变更的波及。因此,请务必阅读 Debian Trixie 对应的升级相关特殊问题说明。特别注意:/tmp 现在为 tmpfs 文件系统,最多占用 50% 内存;并且系统运行期间,/tmp 与 /var/tmp 内的文件会被定期清理。
另请查阅 Proxmox VE 9.0 更新日志中的已知问题列表:https://pve.proxmox.com/wiki/Roadmap#9.0-known-issues
b、升级操作想要移除软件包 “proxmox‑ve”
如果你在纯净版 Debian Trixie 系统之上安装了 Proxmox VE(未使用 Proxmox VE ISO 镜像),那么你可能安装过linux‑image‑amd64软件包,该软件包与当前 9.x 版本环境存在冲突。要解决该问题,你需要移除该软件包
apt remove linux-image-amd64
浙公网安备 33010602011771号