No devices cgroups in 4.9 kernels?
kepi
Status: New User - Welcome
Joined: 15 Jan 2017
Posts: 2
Reply Quote
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
damentz
Status: Assistant
Joined: 09 Sep 2008
Posts: 1122
Reply Quote
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
kepi
Status: New User - Welcome
Joined: 15 Jan 2017
Posts: 2
Reply Quote
Thanks, docker is working again now.
Back to top
Display posts from previous:   

All times are GMT - 8 Hours