
En varios de mis sistemas con Ubuntu 22.04, /sys/fs/cgroup
se monta así:
$ mount|grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime)
En otros sistemas se ve así:
$ mount|grep cgroup
cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)
Me pregunto qué causa que falte la nsdelegate
opción de montaje (y memory_recursiveprot
) en algunos sistemas y cómo volver a agregarla.
Esta opción está disponible desde Linux 4.algo y systemd la utiliza automáticamente desdesistemad 235. Ubuntu 22.04, por supuesto, usa versiones mucho más nuevas, por lo que AFAIK esta opción debería usarse automáticamente. Y si yobuscalo en Askubuntu, También recibo publicaciones de usuarios con 22.04 que tienen esta opción habilitada. Así que creo que tenerlo debería ser el valor predeterminado y algo lo desactiva en algunos de mis sistemas, pero no sé qué.
De los sistemas que lo tienen y los que no, ambos son máquinas virtuales de servidor (sin GUI) arrancadas desde la imagen oficial de la nube de Ubuntu. Ambos usan el kernel de Ubuntu 5.15.0-79-generic y systemd 249.11-0ubuntu3.9. Ninguno de los sistemas tiene instalado software contenedor como Docker o Podman.
Nunca configuré nada explícitamente a este respecto, y tengo la configuración estándar de cgroup con la jerarquía unificada (solo cgroupsv2, sin legado ni híbrido), como se puede ver en la salida del montaje. Intenté buscar cgroup2
y nsdelegate
entrar /etc
pero no encontré nada excepto /etc/mtab
. La línea de comando del kernel es BOOT_IMAGE=/boot/vmlinuz-5.15.0-79-generic root=UUID=b7781a48-a7ce-4094-b5a6-00bf8cb6803d ro console=tty1 console=ttyS0
.
Mi suposición actual es que systemd se monta cgroup2
normalmente con nsdelegate
y luego algún otro software lo vuelve a montar sin él. Esto tiene que suceder ya durante el arranque, ya que la opción falta inmediatamente en el primer inicio de sesión. ¿Pero cómo saber más?