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に移行しています。私の場合も、Fedora 34 OSがCGroup V2を実行しているのにCGroup V1コントローラーを設定しようとしていたため、再起動時にCGConfigサービスがクラッシュしていました。解決策はCGroup V1に移行することでした。これを行うには、次のコマンドを実行します。

sed を使用して、デフォルトの GRUB 設定に systemd.unified_cgroup_hierarchy=0 を追加します。

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/

関連情報