更新前的准备工作
备份我的 LXC 和 VM 是必须的
我在计算机社区待了很久,知道更新可能是一把双刃剑。这是因为损坏的更新确实存在,尽管 Debian 比某些前沿发行版要稳定得多,但我这边也有可能出现问题。此外,我依赖 Proxmox 来处理我大多数自托管服务和编码环境,因此我不能冒着因更新过程中的错误而失去工作站的风险。
所以,第一件事就是备份我 Proxmox 节点上的所有容器和虚拟机。我有一个专用的 Proxmox 备份服务器,它连接到我的 PVE 节点,PBS 实例将我所有的 VM 和 LXC 数据 发送到我的 NAS。于是,我迅速在备份选项卡中创建了一个备份操作,包含了我工作站上的每个虚拟机,点击了‘立即运行’按钮,然后去泡了一杯咖啡,让 PBS 节点去完成它的工作。
如果你没有 NAS 或 Proxmox 备份服务器,我还是建议你备份所有内容。默认情况下,Proxmox 将备份存储在你的本地目录中,如果在更新过程中出现问题,恢复起来可能会有点麻烦。在我现在的设置之前,我的备份策略是先在本地目录创建快照,然后用 WinSCP 把文件传输到其他系统。
将 Proxmox 更新至 8.4.9
在升级到 Proxmox 9 之前,我需要先将 PVE 节点更新到 Proxmox 8 的最新稳定版本,因为我有一段时间没安装最新的软件包了。我在 Proxmox 网页 UI 上使用了更新选项卡,因为菜单式界面让安装所有应用和依赖变得很简单。点击刷新按钮后,新软件包就会出现在网页 UI 上,然后我点击升级开始更新,这相当于在 Shell 中运行 apt update && apt dist-upgrade。大约二十分钟后,我的 Proxmox 节点更新到了 8.4.9 版本,现在是时候升级到最新版本了。
升级到 Proxmox 9
比我预想的简单(而且快)多了
Proxmox 9 有自己的软件库,而在旧版本的 PVE 上是没有启用的。所以,下一步我前往 Proxmox 节点的 Shell 选项卡,运行 sed -i 's/bookworm/trixie/g' /etc/apt/sources.list 命令,将基础的 Debian 12(Bookworm)软件库修改为 Debian 13(Trixie)。接着,我使用 cat 命令更新proxmox.sources 文件,添加包含 Proxmox 9 软件包的库:
cat > /etc/apt/sources.list.d/proxmox.sources 类型:deb
URI:http://download.proxmox.com/debian/pve
套件:trixie版本
组件:无订阅版PVE组件
签名文件:/usr/share/keyrings/proxmox-archive-keyring.gpg
文件结束
在完成配置文件的调整后,我回到了更新页面,按下刷新按钮,等Proxmox 9软件包在网页界面上出现后再点击升级。
更新过程大约花了30分钟,向导偶尔会让我选择是否修改某些配置文件,或者保持不变。在大多数情况下,我选择了默认选项。很快,更新完成,我的服务器重启了。我没想到接下来又会出现一个问题……
更新后我遇到了一个问题
但幸运的是,我的所有虚拟机都没有受到影响
尽管重启成功,用户界面元素也没有异常,但还是有些不对劲。你知道,我有几个虚拟机和LXC是设置为开机自动启动的。可是,即使等了几分钟,所有虚拟机还是没有在线。
结果发现,我的local-lvm卷没有处于在线状态,这导致我整个自托管系统在启动时崩溃。手动启动它们也没什么用,日志显示了以下错误:
激活逻辑卷 'pve/data' 失败:检查池 pve/data 失败(状态:64)。需要手动修复!(500)
幸运的是,故障排除并没有那么困难。在我新更新的 Proxmox 节点的 Shell 标签中运行 lvconvert --repair pve/data 后,这个问题就解决了。我对我的虚拟客户机的存储配置进行了大量超配,我想这就是导致错误的原因。
尽管如此,经过另一次重启后,一切都运作良好。我的所有虚拟客户机都正常工作,没有遇到奇怪的问题——这包括我家庭实验室中的嵌套虚拟机和 LXC。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.