You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle Linux 9.1中Docker与Rancher运行时cgroup报错求助

解决Oracle Linux 9.1上Docker 20.10.17 + Rancher 2.4.9的cgroup CPU挂载点缺失错误

问题详情

获取容器运行时的cgroup失败:无法获取Docker进程对应的容器名称:未找到CPU挂载点。运行时系统容器指标可能缺失。

环境:Oracle Linux Server 9.1、Docker 20.10.17、Rancher 2.4.9

解决方案

1. 切换到cgroup v1(关键步骤)

Oracle Linux 9默认启用cgroup v2,但Rancher 2.4.x版本对cgroup v2支持不完善,需切换至cgroup v1:

  • 编辑GRUB配置文件:
    vi /etc/default/grub
    
    在GRUB_CMDLINE_LINUX参数中添加systemd.unified_cgroup_hierarchy=0,修改后示例:
    GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/ol-swap rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet systemd.unified_cgroup_hierarchy=0"
    
  • 重新生成GRUB配置:
    • BIOS引导系统执行:
      grub2-mkconfig -o /boot/grub2/grub.cfg
      
    • UEFI引导系统执行:
      grub2-mkconfig -o /boot/efi/EFI/ol/grub.cfg
      
  • 重启服务器使配置生效。

2. 验证cgroup版本

重启后执行以下命令确认已切换到cgroup v1:

mount | grep cgroup

输出应包含独立的cgroup挂载点(如/sys/fs/cgroup/cpu、/sys/fs/cgroup/memory),而非单一的/sys/fs/cgroup/unified。

3. 配置Docker使用systemd cgroup驱动

Rancher 2.4.9要求Docker使用systemd作为cgroup驱动:

  • 创建/编辑Docker守护进程配置文件:
    vi /etc/docker/daemon.json
    
    添加以下内容:
    {
      "exec-opts": ["native.cgroupdriver=systemd"]
    }
    
  • 重启Docker服务:
    systemctl restart docker
    
  • 验证配置:
    docker info | grep Cgroup
    
    输出需显示Cgroup Driver: systemd。

4. 重启Rancher服务

如果Rancher以容器形式运行,重启Rancher容器:

docker restart <rancher-container-id>

若为其他部署方式,重启对应Rancher服务即可。

内容的提问来源于stack exchange,提问作者Ahsaan ullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 13:17:27