memo

2011-01-11

systemd な環境下で lxc が動いてくれない

systemd な環境下で lxc を動かそうとすると、以下のようなエラーで起動してくれない:

lxc-start: No such file or directory - failed to rename cgroup /sys/fs/cgroup/systemd/4633->/sys/fs/cgroup/systemd/lxc-host
lxc-start: failed to spawn 'lxc-host'
lxc-start: No such file or directory - failed to remove cgroup '/sys/fs/cgroup/systemd/lxc-host'

/sys/fs/cgroup 以下を見てみると、 /sys/fs/cgroup/ns/4633 というのはある。

systemd 環境だと cgroup は以下のように subsystem 毎に mount されるのだけど、:

$ mount | grep cgroup
tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,release_agent=//lib64/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/ns type cgroup (rw,nosuid,nodev,noexec,relatime,ns)
cgroup on /sys/fs/cgroup/cpu type cgroup (rw,nosuid,nodev,noexec,relatime,cpu)
cgroup on /sys/fs/cgroup/cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)

それがダメってこと?

試しに init=/bin/sh をつけてシステムを起動させ、 :

# mount -t tmpfs none /sys/fs/cgroup
# mkdir /sys/fs/cgroup/all
# mount -t cgroup none /sys/fs/cgroup/all
# exec /sbin/init

とした後に lxc-start しみたら起動成功。そういうことっぽい。

この辺も同じ話題かな。

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=604631 http://blog.flameeyes.eu/2011/01/10/cgroups-woes