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 が起動できることを確認してください。
元の解決策はこのブログに投稿されました。