Fedora 34 上未安装 CGroup

Fedora 34 上未安装 CGroup

我已经使用 Fedora 34 新配置了 Linode 实例。我唯一在其上安装的是 libcgroup。cgconfig服务启动正常并且没有错误,但子系统不工作。

当我执行 lscgroup 命令时出现以下错误。

[root@localhost ~]# sudo lscgroup
cgroups can't be listed: Cgroup is not mounted

进一步讨论该主题,当我执行lssubsys -am命令时,我得到以下内容

cpu
cpuacct
blkio
memory
devices
freezer
net_cls
perf_event
net_prio
hugetlb
pids
misc

谁能帮我解决这个问题?

答案1

回答我自己的问题。经过 4 天的苦思冥想,我终于找到了解决方案。实际问题是 Fedora 和其他 Linux 系统通常默认从 CGroup v1 移至 v2 作为统一子系统。所以在我的情况下,我试图设置 CGroup V1 控制器,而我的 Fedora 34 OS 正在运行 CGroup V2,这导致我的 CGConfig 服务在重新启动时崩溃。解决方案是移至 CGroup V1,为此运行以下命令

使用 sed 将 systemd.unified_cgroup_hierarchy=0 添加到默认 GRUB 配置。

sudo sed -i '/^GRUB_CMDLINE_LINUX/ s/"$/ systemd.unified_cgroup_hierarchy=0"/' /etc/default/grub

现在重建您的 GRUB 配置。

如果您使用 BIOS 启动那么就是这个。

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

如果您正在运行 EFI,那么就是这个。

sudo grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg

现在重新启动并确保Docker可以启动!

原始解决方案发布在此博客上。

https://blog.christophersmart.com/2019/12/15/enabling-docker-in-fedora-31-by-reverting-to-cgroups-v1/

相关内容