You are not logged in.
I am getting mad at trying to set up correctly a arch linux container on my guest with libvirt (LXC left me with a broken set up too).
Here are some basic info:
- custom kernel with user space set
- host up-to-date
- guest mounted on my root fs /dahlia <---- Is it Ok or shall I mount to /machine/dahlia?
- virsh uri is set by default to virsh -c lxc
- systemd cgconfig.service is disabled
- controllers are automatically mounted in /sys/fs/cgroup
# virsh dumpxml dahlia
<name>dahlia</name>
<uuid>a34b58db-894f-4f4a-81f0-b13d2d5d7732</uuid>
<memory unit='KiB'>409600</memory>
<currentMemory unit='KiB'>409600</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/dahlia</partition>
</resource>
<os>
<type arch='x86_64'>exe</type>
<init>/bin/init</init>
</os>
<idmap>
<uid start='0' target='1000' count='10'/>
<gid start='0' target='1000' count='10'/>
</idmap>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<emulator>/usr/lib/libvirt/libvirt_lxc</emulator>
<filesystem type='mount' accessmode='passthrough'>
<source dir='/'/>
<target dir='/'/>
</filesystem>
<interface type='network'>
<mac address='52:54:00:89:8f:1a'/>
<source network='default'/>
</interface>
<console type='pty'>
<target type='lxc' port='0'/>
</console>
</devices>
<seclabel type='none'/>
</domain>
gabx@hortensia ➤➤ ~ # virsh list --all
Id Name State
----------------------------------------------------
- dahlia shut off
$ ls /etc/systemd/system
machine-dahlia.slice
$ ls -al /sys/fs/cgroup/systemd
drwxr-xr-x 2 root root 0 Feb 17 10:28 machine.slice/
drwxr-xr-x 44 root root 0 Feb 17 10:42 system.slice/
drwxr-xr-x 3 root root 0 Feb 17 10:27 user.slice/
gabx@hortensia ➤➤ ~ % ls -al /sys/fs/cgroup/systemd/machine.slice
total 0
drwxr-xr-x 2 root root 0 Feb 17 10:28 ./
drwxr-xr-x 6 root root 0 Feb 17 10:27 ../
-rw-r--r-- 1 root root 0 Feb 17 10:28 cgroup.clone_children
--w--w--w- 1 root root 0 Feb 17 10:28 cgroup.event_control
-rw-r--r-- 1 root root 0 Feb 17 10:28 cgroup.procs
-rw-r--r-- 1 root root 0 Feb 17 10:28 notify_on_release
-rw-r--r-- 1 root root 0 Feb 17 10:28 tasks
There is no subdir machine-dahlia.slice in /sys/fs/cgroup/systemd/machine.slice. Is it OK ? I would say there need one.
I can start the container this way :
gabx@hortensia ➤➤ ~ # systemd-nspawn -bD /dahlia
BUT not this way :
gabx@hortensia ➤➤ ~ # virsh start dahlia
error: Failed to start domain dahlia
error: internal error: No valid cgroup for machine dahlia
I can't figure out where does this cgroup issue comes from.
Thank you for help
Last edited by gabx (2014-02-17 11:09:13)
Offline
If it can help, here is part of the output of systemd-cgls:
├─user.slice
│ └─user-1000.slice
│ ├─session-3.scope
│ │ ├─1121 login -- gabx
│ │ ├─1123 -zsh
│ │ ├─1160 sudo systemd-nspawn -bD /dahlia
│ │ └─1161 systemd-nspawn -bD /dahlia
│ └─session-1.scope
│ ├─ 473 login -- gabx
├─session-3.scope
│ │ ├─1121 login -- gabx
│ │ ├─1123 -zsh
│ │ ├─1160 sudo systemd-nspawn -bD /dahlia
│ │ └─1161 systemd-nspawn -bD /dahlia
│ └─session-1.scope
│ ├─ 473 login -- gabx
└─system.slice
├─1 /sbin/init splash
├─machine-dahlia.scope
│ ├─user.slice
│ │ └─user-0.slice
│ │ ├─session-3.scope
│ │ │ ├─1198 login -- root
│ │ │ └─1204 -bash
In this case, I started systemd-nspawn on tty3 when sudoing, outside any X session
What surprises me is I was waiting for the container be registered in /sys/fs/cgroup/systemd/machine.slice (no dahlia.slice inside) and not in the user-1000.slice/session-3.scope dir:
gabx@hortensia ➤➤ ~ % ls -al /sys/fs/cgroup/systemd/user.slice/user-1000.slice
total 0
drwxr-xr-x 4 root root 0 Feb 17 11:50 ./
drwxr-xr-x 3 root root 0 Feb 17 11:49 ../
drwxr-xr-x 2 root root 0 Feb 17 11:50 session-1.scope/
drwxr-xr-x 2 root root 0 Feb 17 11:51 session-3.scope/
-rw-r--r-- 1 root root 0 Feb 17 11:50 cgroup.clone_children
--w--w--w- 1 root root 0 Feb 17 11:50 cgroup.event_control
-rw-r--r-- 1 root root 0 Feb 17 11:50 cgroup.procs
-rw-r--r-- 1 root root 0 Feb 17 11:50 notify_on_release
-rw-r--r-- 1 root root 0 Feb 17 11:50 task
Offline