У меня свежий экземпляр Linode с Fedora 34. Единственное, что я установил на нем, это 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
может ли кто-нибудь помочь мне решить эту проблему?
Ответ на мой собственный вопрос. После удара головой в течение 4 дней я нашел решение. Настоящая проблема заключается в том, что Fedora и другие системы Linux, как правило, перешли с CGroup v1 на v2 по умолчанию в качестве единой подсистемы. Так было и в моем случае, я пытался настроить контроллеры CGroup V1, в то время как моя ОС Fedora 34 работала под управлением CGroup V2, что приводило к сбою моей службы CGConfig при перезапуске. Решение состояло в том, чтобы перейти на CGroup V1 и выполнить следующую команду
Добавить systemd.unified_cgroup_hierarchy=0 в конфигурацию GRUB по умолчанию с помощью sed.
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/enabled-docker-in-fedora-31-by-reverting-to-cgroups-v1/