PVE因boot空间不足而升级失败的解决办法

默认安装时,proxmox/boot分配的空间才不到300M。而proxmox的迭代很快,/boot很容易就被占满,稍不注意就导致升级失败,唯一的做法就是手工删除旧的kernel。

删掉旧kernel

proxmox基于debian,每次使用apt update && apt dist-upgrade时,都会自动安装debian的linux-image,还有pve-kernel。这两货都会占用/boot的空间,所以腾空间就是删掉这两个旧kernel

  • 抄下在用kernel
uname -mrs
  • 找出老旧kernel
dpkg --list | grep "linux-image"
dpkg --list | grep "pve-kernel"
  • 删除之
apt purge linux-image-$old_version

NOTE: proxmox因为/boot空间不足而升级失败的话,update-grub也会失败,不过不用担心,每次使用apt purge旧内核时,都会重新update-grub。自然会将最新的kernel作为首选启动项,如果不放心,可以使用grub-set-default $menuentry_idgrub-reboot $menuentry_id来手工设置下一次启动的默认kernel
上述的步骤还是稍显麻烦,时不时都得惦记着/boot,好在还有两种懒人的方法:

  1. https://github.com/jordanhillis/pvekclean
  2. proxmox安装的时候,手工将/boot分区设为2G,至少可以清净一段时间。

参考文章
proxmox因/boot空间不足而升级失败的解决办法
pvekclean