小编sna*_*ake的帖子

cgroups v2:cgroup 控制器未委托给 CentOS Stream 上的非特权用户 (8)

我目前正在尝试配置或多或少全新安装的 CentOS Stream (8),以将 cgroup 控制器委托给非特权用户。然而,我在这方面失败了,我已经在网上搜索了两天,但找不到有相同或类似问题的人。

我想使用 podman 运行无根容器。然而,我失败了,因为非特权用户需要拥有 cgroup control pids。然而,以下命令不会产生任何结果,表明没有可用的 cgroup 控制器:

$ cat /sys/fs/cgroup/user.slice/user-$(id -u).slice/user@$(id -u).service/cgroup.controllers
Run Code Online (Sandbox Code Playgroud)

据我了解,此命令应该在默认配置中产生如下所示的结果(请参阅docker.com):

$ cat /sys/fs/cgroup/user.slice/user-$(id -u).slice/user@$(id -u).service/cgroup.controllers
memory pids
Run Code Online (Sandbox Code Playgroud)

当然,我已经使用systemd.unified_cgroup_hierarchy=1in启用了 cgroups v2/etc/default/grub并使用grub2-mkconfig.

因此,我尝试了docker.com中描述的以下命令:

# mkdir -p /etc/systemd/system/user@.service.d
# cat > /etc/systemd/system/user@.service.d/delegate.conf << EOF
[Service]
Delegate=cpu cpuset io memory pids
EOF
# systemctl daemon-reload
Run Code Online (Sandbox Code Playgroud)

最后,我重新启动,但没有效果。对于非特权用户来说,仍然没有 cgroup 控制器。

配置:CentOS Stream (8) 最新,Systemd v239

centos systemd container cgroups podman

7
推荐指数
1
解决办法
5917
查看次数

标签 统计

centos ×1

cgroups ×1

container ×1

podman ×1

systemd ×1