[lxc-users] Disappearing cgroups
Ben Green
ben at bristolwireless.net
Tue Oct 8 14:41:42 UTC 2019
Quoting "Serge E. Hallyn" <serge at hallyn.com>:
> BTW, much as I'd like to get to the bottom of this, let's get you up
> and running first. I'd suggest you create a systemd service which starts
> at boot which creates and configures cgroups called
> /sys/fs/cgroup/*/forcontainers
> and chowns them to your userid. Then for convenience a
> enter-container-cgroups
> script which just does echo $$ > /sys/fs/cgroup/*/forcontainers/tasks. Then
> just run enter-container-cgroups before you lxc-start -n containerX
OK so if I understand correctly, I've ended up with 2 scripts:
1.
/usr/local/sbin/lxccgroup-add-dirs
which looks like this:
#!/bin/bash
for i in $(find /sys/fs/cgroup/ -maxdepth 1 -mindepth 1 -type d); do
mkdir -p $i/forcontainers ; echo $i/forcontainers ; chown -R
lxcadmin:lxcadmin $i/forcontainers ; done
I've make the chown recursive, so everything under there is owned by
lxcadmin. This is run on boot.
2.
/usr/local/bin/lxccgroup-enter-container-cgroups
which looks like this:
#!/bin/bash
for i in $(find /sys/fs/cgroup/ -maxdepth 1 -mindepth 1 -type d |
grep -v unified); do echo $PPID > $i/forcontainers/tasks ; done
I've used $PPID rather than $$ here as it's parent script (i.e. the
bash shell I'm currently running in) which I've assumed you want
moving in to the cgroups. I've also excluded 'unified' as it doesn't
contain a 'tasks' file. I run this before I start a container as user
'lxcadmin'.
Let me know if I've got this right. Now on starting the guests I have:
/sys/fs/cgroup/memory/forcontainers/lxc.payload/ex386-jessie
Which is good in itself as it feels like I have some control now. I'll
have to rewrite my cgroups checking script now to take note of these
new locations.
Cheers,
Ben
More information about the lxc-users
mailing list