On Mon, 2012-07-23 at 10:22 +0200, Manuel OZAN wrote:
Heuu... j'était pas au courant qu'on pouvait mettre 20x plus de VM sur LXC que sur VMware (niveau conso CPU) ! ha moins que se soit un coup du "kernel timer" !
Pour une bonne raison, ça n'est pas le cas.
De plus n'oubliez pas que LXC n'est pas un hyperviseur mais un "conteneur" de VM !
Ce n'est pas un conteneur, c'est un gestionnaire de conteneurs. Techniquement, le principe est d'une simplicité exemplaire : tu définis des identifiants de contexte/conteneur par processus, etc. Par ailleurs, tu peux ajouter des règles/quota sur les ressources limitées par contexte, groupe de contextes, etc. Une bonne image pour le sysadmin débutant est celle des VLAN sur un commut : tout le monde est bien directement sur le switch, les trames ne sont pas analysées par des chips différents, juste tu as des VID qui entrent en jeu et donnent l'illusion de plusieurs commutateurs.
Résultat ? Ca ressemble du point de vue de l'utilisateur à une machine à part : il voit ses processus dans son /proc, il voit son interface réseau, il a une quantité de RAM limitée, même si il exécute au final des processus directement sur la machine.
C'est aussi la raison pour laquelle c'est "moins gourmand en processeur". Comprendre que le seul overhead est la gestion des identifiants de conteneur et des quotas côté kernel. En utilisation intensive, la différence relative diminue sensiblement ; toutefois en idle, la différence d'overhead se fait bien sentir à l'avantage de l'isolation de contexte.