Lichtgewicht virtuele machines op Linux
Gepubliceerd: Vrijdag 11 september 2009
Auteur: Koen Vervloesem
Het OpenVZ-subsysteem zorgt onder Linux voor lichtgewicht virtualisatiecontainers. Deze virtualisatieoplossing behaalt een hogere performance dan volledige virtualisatie via bijvoorbeeld Xen of KVM. In dit artikel gaan we ermee aan de slag.
Terwijl zowel FreeBSD als OpenSolaris een officieel systeem voor operating-system level virtualization hebben dat standaard in de kernel ondersteund is (jails respectievelijk zones), heeft Linux die luxe niet. Er zijn minstens twee populaire systemen voor Linux, en geen van beiden is officieel ondersteund in de kernel: OpenVZ en Linux-VServer. Vooral OpenVZ is populair bij ISP's die zo eenvoudig virtual private servers kunnen aanbieden. In dit artikel focussen we ons op OpenVZ omdat het populair is, er uitstekende documentatie voor bestaat, en de ontwikkelaars nauw samenwerken met de Linux kernelontwikkelaars. Overigens is er ook een propriëtair product dat op OpenVZ voortbouwt: Parallels Virtuozzo Containers.
Nog eens ter opfrissing: bij operating-system level virtualization denken toepassingen binnen een container 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. Dat betekent ook dat deze virtualisatieoplossing een verwaarloosbare impact heeft op de performance van de containers. Omdat de kernel door alle containers gedeeld wordt, kun je wel geen ander besturingssysteem in een container draaien dan het host-systeem. Linux-only dus bij OpenVZ. Maar anders dan bij FreeBSD jails en OpenSolaris zones hoeven de containers niet dezelfde distributie te bevatten dan de host, zolang de distributie in de container compatibel is met de kernel van de host.
Aan de slag
Genoeg theorie, we gaan OpenVZ installeren op CentOS 5.3. We kiezen hiervoor omdat het OpenVZ-project heel nauw de ontwikkeling van Red Hat Enterprise Linux volgt. De RHEL-gebaseerde OpenVZ-kernels zorgen dus voor weinig problemen op een RHEL- of CentOS-host.
