« Linux-VServer » : différence entre les versions

Contenu supprimé Contenu ajouté
Linux VServer : et si on s'y mettait ? - - exemple de start from scratch ^^"
imported>Kyan
Linux VServer : et si on s'y mettait ? - - exemple de start from scratch ^^"
Ligne 7 :
- Introduction<br>
- Concepts<br>
- Techniques de virtualisation<br>
- Linux Vserver <br>
- Introduction<br>
Ligne 31 ⟶ 30 :
 
Ce document a pour objectif d'étudier tous les aspects de la solution Linux Vserver, de sa description à sa mise en oeuvre, en passant par la comparaison avec d'autres outils de virtualisation comme Xen, UML ou encore QEMU. <br>
Dans un premier temps, nousje nousme contenteronscontenterais de décrire les concepts de serveur virtuel, et les techniques mises en oeuvre pour gérer ce type d'instance. Ensuite, nousje nous attacheronsm'attacherais aux caractéristiques propres à la solution Linux Vserver de manière générale, puis nousje passeronspasserais à la partie pratique, en créant « from scratch » une machine capable de faire tourner plusieurs Vserver de manière totalement sécurisée.<br><P>
 
'''Concepts'''
Ligne 48 ⟶ 47 :
La virtualisation peut intervenir sur différents niveaux, et c'est là toute la différence avec d'autres systèmes de virtualisation tels que Xen, UML ou OPENVZ.<br>
<P>
'''''Niveau Emulateur'''''<br>
 
La virtualisation peut être faite via un émulateur, c'est à dire une application qui simule un processeur ou une machine complète. L'émulateur s'occupe entre autre de la traduction dynamique et complète du code. L'émulateur QEMU par exemple, est capable d'utiliser un «accélérateur», qui est actuellement non open source. Avec cet accélérateur, l'émulation peut tourner à une vitesse respectable (50% d'une vitesse native en théorie). PearPC est lui un émulateur PowerPC, capable de faire fonctionner Mac OS X. Cependant, il reste lent, en effet, une émulation émule la totalité d'une machine, y compris ses composants internes et le processeur. Les émulations sont ainsi généralement lentes (en prenant des machines hôtes et cibles de même génération) ; leur intérêt est essentiellement pour mener des tests. <P>
 
 
'''''Niveau Machine'''''<br>
 
La virtualisation de machine, elle, fonctionne sur le même type de matériel. Il n'y a plus de ce fait d'étape d'émulation de processeur, ce qui permet d'obtenir des performances proches, sinon celles de la machine originale dans les phases de calcul. Néanmoins, un certain nombre de composants ou pilotes de matériel sont virtualisés, dégradant généralement les entrées/sorties, parfois de façon très significative. Cette technologie existe depuis fort longtemps sur de nombreuses architectures. IBM avait déjà introduit ces concepts au milieu des années 1960 et existe toujours dans leurs systèmes actuels (AIX 5L 5.2, OS400). Cette technologie est par contre récente sur les PC, car l'architecture IA-32 n'a pas été prévue pour cela. Des astuces techniques ont du être trouvées. <P>
 
 
'''''Niveau Application'''''<br>
 
Elle peut avoir lieu au niveau application, l'application fait alors croire qu'il y a plusieurs services (Hôtes virtuels Apache, domaines virtuels Postfix...). Les performances sont en générale excellentes, du fait que l'application fonctionne tout à fait en tant que telle, il n'y a aucune traduction de code, et aucune virtualisation des composants.<P>
 
 
 
'''''Niveau Kernel'''''<br>
 
Il s'agit d'un partitionnement logique, ou serveur virtuel. Dans ce cas, il n'y a plus aucune émulation. C'est le noyau du système d'exploitation qui fait une isolation entre des machines logiques, tout comme il isole déjà les processus entre eux. Des exemples existent au moins sur FreeBSD (jails) et Solaris 10 (zones). Sous Linux, le projet Linux-vserver représente cette catégorie.<P>