LXC mit lxc-attach unter wheezy
LXC ist als Container-Virtualisierung echt praktisch, nur leider gibt es unter wheezy einen lästigen bug: lxc-attach funktioniert nicht, aber mit etwas Trickserei bekommt man das in den Griff.
ACHTUNG: das hier sollte bloß Leute machen, die wissen was Sie da tun !!!
Als erstes braucht man einen halbwegs aktuellen Kernel aus den Backports, dem wheezy Kernel fehlt leider /proc/$pid/ns/pid
:
/etc/apt/sources.list.d/backports.list
deb http://ftp.debian.org/debian/ wheezy-backports main contrib non-free
installieren kann man ihn mit dem Befehl:
apt-get install -t wheezy-backports linux-image-3.9-0.bpo.1-amd64 firmware-linux-nonfree
und dann muss man noch einen lästigen Verzeichnis Bug in lxc-attach beheben, ein Pfad ist falsch einkompiliert:
lxc-attach: No such file or directory - failed to open '/sys/fs/cgroup/<strong>/lxc/lxc</strong>/guest/tasks'
Wenn man den nicht neu kompilieren will, ändert man halt /sys. Das geht am einfachsten in dem man die /etc/rc.local um den folgenden Inhalt erweitert:
mkdir /sys/fs/cgroup/lxc/lxc
mount -o bind /sys/fs/cgroup/lxc/ /sys/fs/cgroup/lxc/lxc
UPDATE: In Version 0.9.0 von LXC ist der lxc-attach-Bug behoben. Das deb aus Debian Jessie funktioniert auch unter wheezy und man bekommt es fertig kompiliert unter: http://packages.debian.org/search?keywords=lxc&searchon=names&suite=all&section=all
UPDATE2: Version 1.0 aus jessie ist leider nicht mehr kompatibel mit wheezy. Daher hier Version 0.9 aus jessie.
dann noch ein reboot und es sollte laufen. Ich weiß das das keine schöne Lösung ist, sondern eher ein dirty-hack, aber zumindest funktioniert dann lxc-attach so wie man das erwartet:
# lxc-attach -n bart
bart:~#
PS: damit die memory Limits funktionieren muss man noch /etc/default/grub ändern:
GRUB_CMDLINE_LINUX="cgroup_enable=memory"
Created: 2013-07-06
Tags: linux lxc wheezy
Words: 231