启动池空间不足,无法再运行更新

启动池空间不足,无法再运行更新

我最近清理了我的电脑,安装了 20.10,我很喜欢,它太棒了!这次我决定尝试一下,使用实验性的 zfs 支持,但安装软件包和更新一段时间后,我现在遇到了一个奇怪的问题,我的启动 zpool 太满了。

每当我在软件更新程序中点击“立即更新”时,我都会收到如下消息:

The upgrade needs a total of 254 M free space on disk '/boot'. Please free at least an additional 194 M of disk space on '/boot'. You can remove old kernels using 'sudo apt autoremove', and you could also set COMPRESS=xz in /etc/initramfs-tools/initramfs.conf to reduce the size of your initramfs.

我已经运行了sudo apt autoremove,但它没有删除任何东西,我犹豫着是否要改变我的 initramfs 上的压缩,因为这更像是对可能较低问题的补丁(也许我错了,哈哈)。

我仍然可以手动升级,sudo apt update && sudo apt upgrade但每次都会出现此错误:

ERROR couldn't save system state: Minimum free space to take a snapshot and preserve ZFS performance is 20%.

当我跑步时zpool list我得到:

NAME    SIZE  ALLOC   FREE  CKPOINT  EXPANDSZ   FRAG    CAP  DEDUP    HEALTH  ALTROOT
bpool  1.88G  1.69G   185M        -         -    47%    90%  1.00x    ONLINE  -
rpool   460G   165G   295G        -         -    10%    35%  1.00x    ONLINE  -

因此我的启动池容量为 90%......

我也尝试过zsysctl service gc -a删除快照但这似乎并没有改变 bpool 的使用情况...

所以也许我需要更改我的 bpool 分配大小?我该怎么做?

当我升级/安装时,我也遇到了一些奇怪的 initramfs 故障,但我不确定这是否相关?

Setting up initramfs-tools (0.137ubuntu12) ...
update-initramfs: deferring update (trigger activated)
Setting up linux-firmware (1.190.1+system76~1605123765~20.10~3894207) ...
update-initramfs: Generating /boot/initrd.img-5.8.0-29-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p2
I: (UUID=05a735a7-9e82-494e-be9b-171b1c132af5)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.8.0-29-generic with 1.
dpkg: error processing package linux-firmware (--configure):
 installed linux-firmware package post-installation script subprocess returned error exit status 1
Processing triggers for initramfs-tools (0.137ubuntu12) ...
update-initramfs: Generating /boot/initrd.img-5.8.0-29-generic
I: The initramfs will attempt to resume from /dev/nvme0n1p2
I: (UUID=05a735a7-9e82-494e-be9b-171b1c132af5)
I: Set the RESUME variable to override this.
Error 24 : Write error : cannot write compressed block 
E: mkinitramfs failure cpio 141 lz4 -9 -l 24
update-initramfs: failed for /boot/initrd.img-5.8.0-29-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 linux-firmware
 initramfs-tools
ZSys is adding automatic system snapshot to GRUB menu
E: Sub-process /usr/bin/dpkg returned an error code (1)

运行zfs list -t snapshot显示了 bpool 的一堆快照:

NAME                                                                                                   USED  AVAIL     REFER  MOUNTPOINT
bpool/BOOT/ubuntu_fjp6bn@autozsys_z4aetj                                                                72K      -      237M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_mtxh3h                                                                72K      -      237M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_72y92u                                                               105M      -      357M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_lo8d22                                                              85.2M      -      337M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_y7ihca                                                               104M      -      336M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_qs6vz5                                                              85.2M      -      318M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_cyg6vx                                                                72K      -      337M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_r6e64v                                                                56K      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_nrhjqi                                                                56K      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_kgfl6b                                                               104M      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_nw3nk0                                                              85.1M      -      199M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_m1b6l9                                                               104M      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_hnt98o                                                              85.1M      -      199M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_rj8ttq                                                                64K      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_da1f4s                                                                 0B      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_ljdo3n                                                                 0B      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_danwfz                                                                 0B      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_4sjbka                                                               104M      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_gl3ru4                                                                 0B      -      218M  -
bpool/BOOT/ubuntu_fjp6bn@autozsys_tdbgin                                                                 0B      -      218M  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_z4aetj                                                              71.7M      -     5.10G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_mtxh3h                                                               217M      -     5.25G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_72y92u                                                              33.3M      -     5.43G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_lo8d22                                                              30.2M      -     5.30G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_y7ihca                                                               224M      -     5.42G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_qs6vz5                                                              27.8M      -     5.23G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_cyg6vx                                                              56.3M      -     5.51G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_r6e64v                                                              56.6M      -     5.29G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_nrhjqi                                                              30.6M      -     5.29G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_kgfl6b                                                              7.01M      -     5.25G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_nw3nk0                                                              29.6M      -     5.17G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_m1b6l9                                                               222M      -     5.32G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_hnt98o                                                              27.7M      -     5.13G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_rj8ttq                                                              26.2M      -     5.17G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_da1f4s                                                               155M      -     5.29G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_ljdo3n                                                              24.9M      -     5.61G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_danwfz                                                               181M      -     5.74G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_4sjbka                                                               498M      -     5.66G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_gl3ru4                                                                 0B      -     5.92G  -
rpool/ROOT/ubuntu_fjp6bn@autozsys_tdbgin                                                                 0B      -     5.92G  -

但是我对 zfs 或 zsys 不够熟悉,不知道是否可以销毁快照?

答案1

问题在于 中的快照bpool。简单地删除它们会产生新问题,因为系统上的每个 zpool 都有一个同名的快照,并且update-grub依赖update-initramfs于这一事实。如果仅删除bpool快照,则这两个命令都需要很长时间,这很烦人。我发现修复它的唯一方法是删除全部快照。这是我使用的命令:

zfs list -t snapshot -r  | grep auto | cut -f1 -d' ' | xargs -n 1 sudo zfs destroy

不幸的是,这会破坏所有快照,因此您将无法将系统恢复到以前的状态。一定有办法扩大 的大小bpool

答案2

所以我认为我修复了它...我运行了zfs list -t snapshot | grep bpool启动池的所有快照列表。然后sudo zfs destroy bpool/...从列表顶部开始运行一些快照,直到zpool list显示 bpool 大约为 60% CAP。然后运行sudo apt upgrade,它成功运行了 mkinitramfs!现在我的 bpool 大约为 70% :耸肩:

答案3

尝试清除 /boot/ 上的空间

uname -r告诉您正在运行哪个内核;这个版本不能被删除。

简单列表:
dpkg --list | grep linux-将显示与内核相关的内容以及其他项目。

高级,列出已安装的(最左列中的 ii)可能被清除的项目:
dpkg --list | grep -E '^ii.*linux-(headers|image|modules)' | grep -v $(uname -r)

现在检查_name_您可以删除哪些项目(),然后
sudo apt purge _name_
对它们执行...。

相关内容