为什么 k3s 在 Debian Bullseye 上仍然看到交换?

为什么 k3s 在 Debian Bullseye 上仍然看到交换?

我已经安装了k3s在 Debian Bullseye 上(通过 qemu/ 在 M1 Pro 上)UTM)。

k3s 建议禁用交换。阅读以下问题的答案后:

我有 :

  • 禁用 systemd 交换服务sudo systemctl mask "dev-*.swap"
  • 删除了 中的交换分区/etc/fstab
  • 删除交换分区并扩展主分区以重新获得空间
  • 将交换度设置为 0/etc/sysctl.conf

我现在有:

root@debian:~# systemctl --type swap --all
  UNIT LOAD ACTIVE SUB DESCRIPTION
0 loaded units listed.

root@debian:~# sysctl vm.swappiness
vm.swappiness = 0

root@debian:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0     11:0    1 1024M  0 rom  
vda    254:0    0   10G  0 disk 
├─vda1 254:1    0  512M  0 part /boot/efi
└─vda2 254:2    0  9.5G  0 part /

root@debian:~# free
               total        used        free      shared  buff/cache   available
Mem:         1000692      705588       34164        1704      260940      221484
Swap:              0           0           0

root@debian:~# swapon -s
root@debian:~#

但是当我跑步时k3s check-config,我仍然有:

- swap: should be disabled

我应该怎么做才能完全禁用 k3s 眼中的交换?

答案1

交换激活可能发生在引导过程的早期,而系统仍在 initramfs 上运行,因此在删除交换配置项后,您应该已经完成​​了update-initramfs -u.

我也没有在任何地方看到 asystemctl stop "dev-*.swap"swapoff -a:这些命令实际上是禁用已经激活的交换区域的命令。systemctl mask肯定会阻止交换单元启动,但它对交换已经激活的区域没有任何作用。您应该确保您正在systemctl mask运行的任何设备都首先停止。

答案2

我多次重新启动 Debian Bullseye VM,但这还不够。无论出于何种原因,我不得不停止并重新启动UTM。在那之后k3s看到交换被删除了。

相关内容