PVE 系统小版本升级实录:从 8.4.1 到最新稳定版
今天分享下我的 Proxmox VE (PVE) 系统小版本升级过程。我的 N150 小主机自从 5 月 8 日安装了 PVE 8.4.1 版本后,一直稳定运行,默默奉献。不知不觉已经过去一段时间,本着“尝鲜”和“保持系统健康”的原则,今天决定检查一下是否有可用的更新,并进行一次系统升级。
1. 检查当前 PVE 版本
首先,自然是 SSH 登录到 PVE 主机,查看一下当前的系统版本。通过 pveversion -v
命令(或者直接 pveversion
也能看到主要版本),我得到了以下信息:
root@xiaoten:~# pveversion -v
pve-manager/8.4.1/2a5fa54a8503f96d (running kernel: 6.8.12-10-pve)
proxmox-kernel-6.8.12-10-pve: 6.8.12-10
proxmox-kernel-6.8: 6.8.12-10
proxmox-kernel-6.5: 6.5.13-5
proxmox-kernel-6.5.13-5-pve-signed: 6.5.13-5
ceph-fuse: 17.2.7-pve3
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown2: 3.2.0-1+pmx8
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-4
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.0
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.3
libpve-access-control: 8.1.3
libpve-apiclient-perl: 3.3.1
libpve-common-perl: 8.2.1
libpve-guest-common-perl: 5.1.1
libpve-http-server-perl: 5.1.0
libpve-network-perl: 0.9.9
libpve-rs-perl: 0.8.8
libpve-storage-perl: 8.2.1
libpve-user-cfg0: 1.0-1
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 5.0.2-4
lxcfs: 5.0.3-pve4
novnc-pve: 1.4.0-3
proxmox-backup-client: 3.2.2-1
proxmox-backup-file-restore: 3.2.2-1
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.2.3
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.6
proxmox-widget-toolkit: 4.2.1
pve-cluster: 8.0.5
pve-container: 5.1.1
pve-docs: 8.2.2
pve-edk2-firmware: 4.2023.08-4
pve-firewall: 5.0.3
pve-firmware: 3.10-1
pve-ha-manager: 4.0.3
pve-i18n: 3.2.1
pve-qemu-kvm: 8.1.5-6
pve-xtermjs: 5.3.0-3
qemu-server: 8.2.1
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.4-pve1
root@xiaoten:~#
可以看到,当前 PVE Manager 版本为 8.4.1
,运行的内核是 6.8.12-10-pve
。确认无误,准备开始更新。
2. 检查可更新的软件包
确认了当前版本后,接下来就是标准的 Debian/Ubuntu 更新流程了:
a. 更新软件包列表
首先,执行 apt update
命令,从配置的软件源中获取最新的软件包信息:
root@xiaoten:~# apt update
Hit:1 http://ftp.debian.org/debian bookworm InRelease
Hit:2 http://ftp.debian.org/debian bookworm-updates InRelease
Hit:3 http://security.debian.org/debian-security bookworm-security InRelease
Hit:4 http://download.proxmox.com/debian/pve bookworm InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
10 packages can be upgraded. Run 'apt list --upgradable' to see them.
root@xiaoten:~#
提示有 10 个软件包可以升级,这给了我继续下去的动力!
b. 查看可升级的软件包 (可选但推荐)
为了更清楚地了解哪些包会被升级,我执行了 apt list --upgradable
命令:
root@xiaoten:~# apt list --upgradable
Listing... Done
# 这里会列出所有可升级的软件包及其版本信息
# 例如(具体内容会根据你的系统有所不同):
# pve-kernel-6.8/pve-no-subscription ...
# pve-manager/pve-no-subscription ...
# ... 其他依赖包
这一步可以让你对即将进行的升级有个大概的了解。如果看到有重要的核心组件(如内核、PVE Manager 本身)更新,就需要更加小心,并确保做好备份(如果环境重要的话)。
3. 执行升级操作
看到有不少软件包可以更新,那就开始执行升级吧!对于 PVE 这样的系统,强烈推荐使用 apt dist-upgrade
而不是 apt upgrade
。
apt upgrade
:只会升级已安装的软件包,但如果升级需要卸载其他包,它就不会执行。apt dist-upgrade
:除了升级软件包外,还会智能地处理依赖关系,可能会安装新的软件包或删除不再需要的旧软件包,以确保系统平稳过渡到新版本。这对于 PVE 这种依赖关系复杂的系统尤为重要。
root@xiaoten:~# apt dist-upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
# ... (省略了将要升级的软件包列表) ...
The following NEW packages will be installed:
proxmox-kernel-6.8.13-1-pve-signed
The following packages will be upgraded:
libnvpair3linux libuutil3linux libzfs4linux libzpool5linux
proxmox-kernel-6.8 proxmox-kernel-helper pve-firmware pve-kernel-6.8.12-10-pve
pve-manager zfsutils-linux
10 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 177 MB of archives.
After this operation, 167 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
在提示符后输入 Y
并回车,系统就开始下载并安装更新了。这个过程可能需要一些时间,具体取决于你的网络速度和需要更新的软件包数量。耐心等待命令执行完毕。
# ... (省略了大量的下载和安装日志) ...
Setting up proxmox-kernel-6.8.13-1-pve-signed (6.8.13-1) ...
Examining /etc/kernel/postinst.d.
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 6.8.13-1-pve /boot/vmlinuz-6.8.13-1-pve
run-parts: executing /etc/kernel/postinst.d/proxmox-auto-removal 6.8.13-1-pve /boot/vmlinuz-6.8.13-1-pve
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 6.8.13-1-pve /boot/vmlinuz-6.8.13-1-pve
update-initramfs: Generating /boot/initrd.img-6.8.13-1-pve
# ... (更多日志) ...
root@xiaoten:~#
看到命令提示符再次出现,表示升级过程已经顺利完成。
4. 升级后的检查与重启
升级完成后,有几个重要的后续步骤:
a. 重启 PVE 主机
由于通常 PVE 的升级会包含内核或其他核心组件的更新,为了使新的内核和系统服务生效,重启是必要的。
可以通过 Web UI 操作重启,或者在命令行执行:
root@xiaoten:~# reboot
b. 再次检查 PVE 版本
等待主机重启完成后,再次 SSH 登录,并运行 pveversion -v
来确认升级后的版本:
root@xiaoten:~# pveversion -v
pve-manager/8.4.2/824929f2f4310072 (running kernel: 6.8.13-1-pve)
# ... 其他组件版本也会相应更新 ...
root@xiaoten:~#
可以看到,PVE Manager 版本已经升级,并且运行的内核也变成了新的版本。
c. 检查虚拟机/容器状态
最后,通过 PVE 的 Web UI 检查所有的虚拟机(VM)和容器(LXC)是否都正常运行。这是一个好习惯,确保升级没有对现有服务造成意外影响。
总结与建议
至此,一次简单的 PVE 系统小版本升级就顺利完成了。整个过程非常流畅,没有遇到任何意外。
一些小建议:
- 定期检查更新:养成定期检查 PVE 更新的习惯,可以使用
apt update
和apt list --upgradable
。 - 使用
dist-upgrade
:对于 PVE 系统,总是使用apt dist-upgrade
进行升级。 - 注意内核更新:如果升级了内核,务必重启 PVE 主机以加载新内核。
- 重要环境请先备份:虽然小版本升级通常很安全,但对于生产环境或存有重要数据的 PVE,建议在升级前对虚拟机进行快照或备份,以防万一。
- 关注官方论坛/邮件列表:在进行大版本升级前,可以关注 Proxmox 官方论坛或邮件列表,了解是否有已知的升级问题。
保持 PVE 系统的更新不仅能获得最新的功能和性能优化,更重要的是能及时修复潜在的安全漏洞,保障虚拟化环境的稳定和安全。
空空如也!