No devices cgroups in 4.9 kernels?
Hi,
I'm unable to use docker with latest 4.9 liquorix kernel as there is no devices cgroup mounted/created. I can see devices cgroup on liquorix 4.8 :: Code ::
⯠ls -l /sys/fs/cgroup celkem 0 dr-xr-xr-x 6 root root 0 led 15 01:54 blkio dr-xr-xr-x 6 root root 0 led 15 01:54 cpu dr-xr-xr-x 3 root root 0 led 15 01:54 cpuset dr-xr-xr-x 6 root root 0 led 15 01:54 devices dr-xr-xr-x 3 root root 0 led 15 01:54 freezer dr-xr-xr-x 3 root root 0 led 15 01:54 hugetlb dr-xr-xr-x 6 root root 0 led 15 01:54 memory lrwxrwxrwx 1 root root 16 led 15 01:50 net_cls -> net_cls,net_prio dr-xr-xr-x 3 root root 0 led 15 01:54 net_cls,net_prio lrwxrwxrwx 1 root root 16 led 15 01:50 net_prio -> net_cls,net_prio dr-xr-xr-x 3 root root 0 led 15 01:54 perf_event dr-xr-xr-x 6 root root 0 led 15 01:54 systemd but on 4.9 they are missing. I didn't take list of files from 4.9, couple more things were missing too (net_ things, blkio was present and some one or two more). Docker start log from 4.9 liquorix (only last one is error but posting whole to see the difference): :: Code ::
Jan 15 01:37:40 starbug dockerd[7329]: time="2017-01-15T01:37:40.125777967+01:00" level=info msg="libcontainerd: new containerd process, pid: 7335" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.129626391+01:00" level=info msg="[graphdriver] using prior storage driver \"btrfs\"" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155532343+01:00" level=info msg="Graph migration to content-addressability took 0.00 seconds" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155701201+01:00" level=warning msg="Your kernel does not support cgroup memory limit" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155729312+01:00" level=warning msg="Your kernel does not support cgroup cpu shares" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155750395+01:00" level=warning msg="Your kernel does not support cgroup cfs period" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155769340+01:00" level=warning msg="Your kernel does not support cgroup cfs quotas" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155796114+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.read_bps_device" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155816357+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.write_bps_device" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155839503+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.read_iops_device" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155861350+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.write_iops_device" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155875750+01:00" level=warning msg="Unable to find cpuset cgroup in mounts" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.155911653+01:00" level=warning msg="mountpoint for pids not found" Jan 15 01:37:41 starbug dockerd[7329]: time="2017-01-15T01:37:41.169127617+01:00" level=fatal msg="Error starting daemon: Devices cgroup isn't mounted" And from 4.8 liquorix: :: Code ::
Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.141650084+01:00" level=info msg="Graph migration to content-addressability took 0.00 seconds" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.141905293+01:00" level=warning msg="Your kernel does not support cgroup cpu shares" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.141937876+01:00" level=warning msg="Your kernel does not support cgroup cfs period" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.141978418+01:00" level=warning msg="Your kernel does not support cgroup cfs quotas" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142087794+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.read_bps_device" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142121002+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.write_bps_device" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142139585+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.read_iops_device" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142166627+01:00" level=warning msg="Your kernel does not support cgroup blkio throttle.write_iops_device" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142424545+01:00" level=warning msg="mountpoint for pids not found" Jan 15 01:51:02 starbug dockerd[2080]: time="2017-01-15T01:51:02.142876547+01:00" level=info msg="Loading containers: start." I was checking liquorix kernel config from 4.9 and 4.8 and cgroup parts looks same to me but there are differences in liquorix 4.9 and debian 4.9: Liquorix: :: Code ::
⯠grep CGROUP config-4.9.0-3.2-liquorix-amd64 CONFIG_CGROUPS=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set CONFIG_CGROUP_SCHED=y # CONFIG_CGROUP_PIDS is not set # CONFIG_CGROUP_FREEZER is not set # CONFIG_CGROUP_HUGETLB is not set # CONFIG_CGROUP_DEVICE is not set # CONFIG_CGROUP_PERF is not set # CONFIG_CGROUP_DEBUG is not set # CONFIG_NETFILTER_XT_MATCH_CGROUP is not set CONFIG_NET_CLS_CGROUP=m CONFIG_SOCK_CGROUP_DATA=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y Debian: :: Code ::
⯠grep CGROUP config-4.9.0-1-amd64 CONFIG_CGROUPS=y CONFIG_BLK_CGROUP=y # CONFIG_DEBUG_BLK_CGROUP is not set CONFIG_CGROUP_WRITEBACK=y CONFIG_CGROUP_SCHED=y CONFIG_CGROUP_PIDS=y CONFIG_CGROUP_FREEZER=y # CONFIG_CGROUP_HUGETLB is not set CONFIG_CGROUP_DEVICE=y CONFIG_CGROUP_CPUACCT=y CONFIG_CGROUP_PERF=y # CONFIG_CGROUP_DEBUG is not set CONFIG_NETFILTER_XT_MATCH_CGROUP=m CONFIG_NET_CLS_CGROUP=m CONFIG_SOCK_CGROUP_DATA=y CONFIG_CGROUP_NET_PRIO=y CONFIG_CGROUP_NET_CLASSID=y I'm not sure if this is by design or not, but it would be great to be able to use docker again :) Thanks Back to top |
|||||
Ah, thanks for providing this output. It seems that device cgroup support is the minimum required to get docker running.
I disabled many of the cgroup features in order to avoid any possible bugs caused by them. Memory cgroups, for example, has a bug that a developer from facebook identified that causes the SLAB to get out of control. But, I thought I had the bare minimum required to for cgroup dependent daemons to run, like systemd. However, some recent tests with the help of h2 showed that this did not fix an OOM bug that appears to be affecting the 32-bit PAE kernel when performing rsync on large folders. I'll revert the configuration change for the next kernel release. Back to top |
|||||
Thanks, docker is working again now.
Back to top |
|||||
All times are GMT - 8 Hours
|