Linux Containers (LXC) ist eine Container Virtualisierung unter Linux. LXC ist Bestandteil des Linux-Kernels seit Version 2.6.29.
Linux Container basieren auf Kernel Namespaces für die Ressourcen Isolation und auf Cgroups für die Ressourcen Limitierung. LXC kann sowohl für Applikations-Container als auch für komplette System-Container (unterschiedliche Linux Distributionen) verwendet werden.
Hier ein kurzer Auszug von verfügbaren Userspace Tools:
lxc-start -n vm0 -f /lxc/vm0/config# lxc-start -n vm0 -f /lxc/vm0/config -d # lxc-attach -n vm0 root@vm0 # hostname vm0 # exit # lxc-console -n vm0 -t 3 Type <Ctrl+a q> to exit the console Debian GNU/Linux 6.0 vm0 tty3 vm0 login: # lxc-ls vm0 # lxc-freeze -n vm0 # lxc-info -n vm0 'vm0' is FROZEN # lxc-stop -n vm0
Für Pacemaker ist seit 5/2011 ein Resource Agent für LXC verfügbar:
Auch für OpenQRM existiert seit kurzem ein LXC Plugin:
Diese Demo zeigt, dass bei entsprechender Konfiguration der Cgroups, die Linux Container gut gegenseitig abgeschottet sind und sogar eine Fork-Bombe andere System kaum beeinflusst.
bashecho $$cd /sys/fs/cgroup/cpumkdir forktestcd forktestecho 512 > cpu.sharesecho <PID> > taskscd /sys/fs/cgroup/memorymkdir forktestcd forktestecho 512M > memory.limit_in_bytesecho 512M > memory.memsw.limit_in_bytesecho <PID> > tasksperl -e "fork while fork"#!/bin/bash for (( c=1; c<=100; c++ )) do killall -9 perl done
|
Autor: Werner Fischer Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.
|