[libvirt] simple LXC/libvirt busybox container (Unable to get cgroup)
Ryota Ozaki
ozaki.ryota at gmail.com
Thu Dec 10 11:23:40 UTC 2009
On Thu, Dec 10, 2009 at 5:22 PM, Tony Risinger
<sweetsinsemilla at gmail.com> wrote:
> i'm trying to get even the simplest busybox container with libvirt+LXC
> with very limited success. I feel l am missing something supremely
> simple for me to be hung on this for weeks.
>
> i dont see anything interesting in domain log, but getting this error
> from "LIBVIRT_DEBUG=1 libvirtd":
>
> 05:27:56.113: error : lxcDomainGetInfo:462 : internal error Unable to
> get cgroup for arch-nano
> 05:27:56.113: debug : virDomainFree:2004 : domain=0x81d8e68
> 05:27:56.113: debug : virUnrefDomain:422 : unref domain 0x81d8e68 arch-nano 1
> 05:27:56.113: debug : virReleaseDomain:376 : release domain 0x81d8e68 arch-nano
> 05:27:56.113: debug : virReleaseDomain:392 : unref connection 0x81dc0f0 2
> 05:27:56.113: debug : remoteSerializeError:141 : prog=536903814 ver=1
> proc=16 type=1 serial=4, msg=internal error Unable to get cgroup for
> arch-nano
>
> i've been using this root filesystem layout:
>
> [root at PHS-001 arch-nano]# tree
> .
> |-- bin
> | |-- cat -> ../sbin/busybox
> | |-- chdir -> ../sbin/busybox
> | |-- chmod -> ../sbin/busybox
> | |-- ls -> ../sbin/busybox
> | |-- rm -> ../sbin/busybox
> | |-- sh -> ../sbin/busybox
> | `-- vi -> ../sbin/busybox
> |-- dev
> | `-- pts
> |-- etc
> |-- proc
> |-- sbin
> | |-- busybox
> | `-- init -> busybox
> `-- sys
>
> all folders besides /bin and /sbin were created by libvirt. i tried
> using the /sbin/init script previously suggested:
>
> #!/sbin/busybox
> sh
>
> but i get a similar results either way (script/symlink):
>
> 8173 ? Ss 0:00 /usr/lib/libvirt-git/libvirt_lxc --name
> arch-nano --console 11 --background
> 8175 pts/0 Ss+ 0:00 init
> 8177 ? Ss 0:00 init
> 8181 ? Zs 0:00 [init] <defunct>
> 8182 ? Zs 0:00 [init] <defunct>
> 8183 ? Zs 0:00 [init] <defunct>
>
>
> "busybox init" doc says that without an /etc/inittab, sh will be
> started on /dev/tty2... im am using this config:
>
> <domain type='lxc'>
> <name>arch-nano</name>
> <memory>500000</memory>
> <os>
> <type>exe</type>
> <init>/sbin/init</init>
> </os>
> <devices>
> <filesystem type='mount'>
> <source dir='/vps/dom/arch-nano'/>
> <target dir='/'/>
> </filesystem>
> </devices>
> </domain>
>
> on this config i tried removing the console/serial section altogether,
> but i attempted many configurations of serial/console, including
> changing the <target> to "2", in attempt to match busybox default.
>
> [root at PHS-001 arch-nano]# virsh -c lxc:/// console arch-nano
> error: Unable to get domain status
> error: internal error Unable to get cgroup for arch-nano
>
> [root at PHS-001 arch-nano]# mount | grep cgroup
> none on /cgroup type cgroup (rw)
>
> if anyone can please point out what i am doing wrong to not be able to
> move the root and get a console, i'd greatly appreciate it. ive been
> really stuck on this; i'd rather not write a bunch of scripts/wrappers
> for lxc-* tools when libvirt does it all splendidly already!
I'm successfully using lxc via lbivirt. I doubt ns subsystem of cgroups
because I usually disable it that is the difference between my
configuration and yours and if I enable it I also get the same error.
So could you try without ns? like:
mount -t cgroup -o memory,devices,cpu,cpuacct none /cgroup
I think libvirt lxc still contains a problem around ns subsystem.
ozaki-r
>
> libvirt 0.7.4+
> kernel 2.6.32 (am i missing a CONFIG_*?)
>
> thanks for your time
>
> --
> Libvir-list mailing list
> Libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
More information about the libvir-list
mailing list