Linux-containers als lichtgewicht virtualisatie
Gepubliceerd: Maandag 12 april 2010
Auteur: Koen Vervloesem
LXC (Linux containers) zorgt onder Linux voor lichtgewicht virtualisatiecontainers. Deze oplossing behaalt een hogere performance dan volledige virtualisatie via bijvoorbeeld Xen of KVM. In dit artikel gaan we ermee aan de slag.
LXC is een vorm van operating-system level virtualization. Dat wil zeggen dat toepassingen binnen een container denken dat ze op een standalone systeem draaien, omdat ze volledig geïsoleerd zijn van toepassingen in andere containers. In realiteit draaien alle containers echter op één Linux-kernel, namelijk diegene van het host-systeem. Eerder al bespraken we de oplossing OpenVZ, maar die heeft als nadeel dat het buiten de kernel ontwikkeld wordt. LXC daarentegen maakt sinds Linux 2.6.29 standaard onderdeel uit van de kernel. Een nadeel is dat het nog niet zo volwassen is als OpenVZ en er nog niet zoveel beheertoepassingen rond bestaan. Maar op lange termijn lijkt de voorkeur van een aantal distributies wel uit te gaan naar LXC. Zo zal Ubuntu 10.04 LTS geen OpenVZ meer ondersteunen, maar wel LXC.
Aan de slag
We gaan aan de slag met LXC op Fedora 12 (die Linux-kernel 2.6.31 bevat), maar in principe werkt de procedure op elke recente Linux-distributie met een moderne kernel (minimum 2.6.29, bij voorkeur 2.6.31). Naast een kernel met ingebouwde LXC hebben we ook de userspace tools van LXC nodig, en bij voorkeur ook het pakket bridge-utils. Verder maken we onder Fedora ook gebruik van het virtuele netwerk van libvirt en de handige tool febootstrap:
# yum install lxc bridge-utils libvirt febootstrap
Nu vind je in /usr/bin allerlei tools waarvan de naam begint met lxc-. Voer eerst het volgende commando uit om te verifiëren dat je kernel LXC ondersteunt:
# lxc-checkconfig
Het programma controleert de aanwezigheid van verschillende deelfunctionaliteiten van LXC. Als overal "enabled" bij staat, dan kun je aan de slag.
De eerste stap is het aanmaken en aankoppelen van een "control group" bestandssysteem voor LXC. Plaats hiervoor de volgende regel in /etc/fstab:
none /cgroup cgroup default 0 0
En daarna:
# mkdir /cgroup
# mount /cgroup
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
