Il parait que c’est mal vu de parler réseau lorsque l’on est développeur. Tant pis, je prend le risque. J’aime ça après tout.

Depuis quelques temps, l’idée de m’essayer à la virtualisation de serveurs me trotte dans la tête. Pourquoi ? J’en sais trop rien. Il faut dire qu’à mes yeux, une machine virtuelle est avant tout un moyen de tester sous Windows sans trop salir ma machine.

J’ai donc pas mal cherché avant de me pencher vers OpenVZ. Les solutions sont si nombreuses que ces recherches m’ont par ailleurs coûté pas mal d’heure de sommeil ! Il n’y a plus qu’à espérer que cet article vous permette d’économiser les votres.

Pourquoi virtualiser ses serveurs ?

Virtualiser un serveur présente un grand nombre d’avantage, à commencer par la sécurité. En effet, si quelqu’un parvient a entrer sur le serveur, seule la machine virtuelle cible sera en danger. Bien entendu, cela implique que les différents services que l’on heberge tournent sur des machines distinctes.

En second avantage vient la scalabilité puisqu’en virtualisant il devient très simple d’allouer des ressources dynamiquement à une machine ou une autre. C’est donc idéal pour tenir des montées en charge.

Arrive ensuite l’optimisation des ressources matérielles. La virtualisation permet de faire tourner sur une seule machine des services qui auraient peut-être necessité des systèmes distincts. M’y mettre m’a permis de libérer un Raspberry Pi et d’éteindre une machine devenue superflue.

La virtualisation facilite également les tests et le déploiement. Vous verrez dans la suite de cet article que déployer un environement à des fins de tests ou de production prend moins d’une minute, là où auparavant il m’aurait fallu trouver une machine, y installer un OS et les différents services.

Enfin, le dépanage et la remise en service d’une machine tombée devient incroyablement rapide. D’ailleurs, en automatisant les dumps des machines virtuelles, on peut bien souvent “jeter la machine” puis en restaurer un backup en une fraction de seconde.

Que d’avantages, n’est-ce pas ? Et jouer avec sa ferme de serveurs est très plaisant. Voici quelques jours que je suis comme un enfant un jour de Noël, mais c’est une autre histoire.

Pourquoi OpenVZ ?

Il existe plusieurs types de virtualisation. Je ne parlerais ici que des Isolateurs et des Hyperviseur de type 1 ; les autres solutions n’étant pas adaptées ou peu accessibles.

Les Hyperviseurs de type 1

Pour vulgariser le principe de cette solution, disons qu’elle revient à faire tourner un OS très léger dédié à virtualiser des système invités. Parmis ces hyperviseurs, on retrouve par exemple VMWare ESXi ou Hyper-V.

L’idée consiste alors à se rapprocher au plus du hardware. Le problème est que cette solution est souvent assez complexe à mettre en place et demande une configuration matérielle relativement importante (par exemple, ESXi exige au minimum 8Go de RAM).

De plus, l’hyperviseur n’apporte pas la flexibilité que peut procurer l’isolateur.

Les isolateurs

Contrairement aux hyperviseurs de type 1, les isolateurs sont des solutions de virtualisation côté OS. Il est donc necessaire d’installer un système d’exploitation sur l’hôte afin que ce dernier puisse accueillir un isolateur tel qu’OpenVZ.

Les isolateurs sont généralement simples à prendre en main et permette une très grande flexibilité. Ils présentent cependant quelques inconvénients comme par exemple l’impossibilité de faire tourner autre chose qu’un Linux en système invité.

Les isolateurs sont par contre très performants et peuvent parfaitement fonctionner sur des configurations plus modestes.

OpenVZ est donc une solution parmis tant d’autres qui a le mérite de correspondre à mes attentes. Il va s’en dire que ce choix ne conviendra pas à tout le monde.

Cloner pour mieux tester

Un des grands interêt de cette solution est de pouvoir créer ses propres containers pour ensuite être en mesure de déployer très rapidement des environements de tests prêts à l’emploi. D’ailleurs, en cherchant un moyen de cloner proprement, je suis tomber sur ce lien.

J’ai donc fait un petit script permettant d’automatiser le processus, quand soudain :





Ok, je me le garde mon script.

Et ensuite ?

Ceux qui auront fait quelques recherches sur le sujet auront certainement entendu parler de Proxmox VE. Il s’agit d’une distribution permettant de gérer à la fois des containers OpenVZ et des machines virtuelles basées sur KVM.

Proxmox VE semble donc être un compromis efficace pour qui cherche à la fois la performance des containers OpenVZ et la souplesse des machines virtuelles.

Je vous prépare un petit article sur le sujet, je pense switcher prochainement.


En attendant, amusez-vous bien !