[lxc-users] Converting from libvirt lxc
Peter Steele
pwsteele at gmail.com
Fri Dec 4 17:23:19 UTC 2015
On 12/03/2015 08:42 PM, Fajar A. Nugraha wrote:
> lxc.autodev = 1
>
> That is not common.conf (though I'm not sure whether it matters)
I included this early on when I was encountering the funky udev issue.
it didn't help but I kept it in place, admittedly for no good reason.
> lxc.kmsg = 0
>
> Neither is that. Though it should be the default value
In my original tests with LXC 1.0.7 I hit an issue where systemd on my
containers was running at 100%. I did some research and found the
problem described with the solution suggested being to add this lxc.kmsg
line. This did in fact solve the problem. I just did a test without this
though and the CPU issue did not occur, so presumably LXC 1.1.5 has
fixed this problem.
>
> # Remove capabilities we don't want in containers
> lxc.cap.drop = mac_admin mac_override sys_time sys_module
>
> centos.common.conf also has lxc.cap.drop = sys_nice sys_pacct
> sys_rawio. You don't have that.
>
I excluded this line because we need sys_nice enabled in our containers.
I wasn't sure about sys_pacct and sys_rawio and was going to do more
investigation on these later.
> lxc.cgroup.devices.allow = c 5:0 rwm
>
>
> lxc.cgroup.devices.allow = c 136:* rwm
> ## /dev/ptmx pty master
> lxc.cgroup.devices.allow = c 5:2 rwm
>
>
> you' re missing 5:1 (console), 10:229 (fuse). Both are in common.conf.
>
There was in fact no common.conf in the 1.0.7 release I originally was
using, and the centos.common.conf did not have the console and fuse
entries. When I switched to 1.1.5 common.conf was introduced and these
device definitions were moved there. I took a quick look at these
definitions and added the fuse entry but didn't notice console had been
added as well. Thanks for noticing this.
>
> Is there a reason why you didn't test simply using the same config,
> which also does the "includes" instead of copying SOME of them? Is
> there a reason wht you don't copy ALL of them? It should be easier to
> start with a known good setup, then do incremental changes.
Well, as I said we need sys_nice and so that was one reason why I didn't
want to use the config files directly. I also noticed that proc was
mounted in mixed mode and we need at least some rw access to a portion
of /proc/sys, and I thought I'd probably need to change this mixed
entry. Since all of our work is based on centos, I also didn't see the
need to include the lxc-templates rpm in my package set. Our server is
based on a minimal centos config and I try to avoid adding additional
rpms if I can avoid it.
That said, I did change my install framework this morning to include
lxc-templates and to use centos.common.conf and common.conf directly
rather rely on than my manually crafted version. This causes sys_nice to
be dropped, as I just mentioned above, and I need to solve that problem.
So, if I have this:
lxc.include = /usr/share/lxc/config/centos.common.conf
can I then add the entry
lxc.cap.keep = sys_nice
after this? Based on the description in the man page I assume this will
not just add this one capability but will instead remove everything
except this. So, what's the correct way to use common.conf and to re-add
dropped capabilities?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxcontainers.org/pipermail/lxc-users/attachments/20151204/cff67373/attachment.html>
More information about the lxc-users
mailing list