Outils pour utilisateurs

Outils du site


reseau:virtu

La quincaillerie... virtuelle !!

Qu'est-ce que la virtualisation, Madame Michu ?

Essai de définition

Le dictionnaire Larousse donne une définition du mot “virtuel” :

Du latin médiéval “virtualis” : qui comporte en soi-même les conditions de sa réalisation ; potentiel, possible.

La virtualisation est donc la possibilité de faire “comme si”

Un serveur virtuel va offrir les mêmes potentialités, les mêmes fonctionnalités qu'un serveur physique… mais… avec un certain nombre d'avantages par rapport à un serveur physique réel… (et parfois aussi… des inconvénients !).

Que peut-on "virtualiser" dans le monde informatique ?

Absolument TOUT

  • les serveurs,
  • les applications,
  • les postes de travail,
  • les réseaux (VLAN),
  • les composants des réseaux (switchs, routeurs… ),
  • et même les Datacenters…
  • ou encore… des câbles !!!
Ici, nous allons plutôt nous intéresser à la virtualisation des serveurs

Qu'est-ce que la virtualisation de serveurs ?

On appelle communément virtualisation la possibilité d’utiliser un même hardware (un même serveur physique) pour faire tourner plusieurs Machines Virtuelles (MV).

La machine “hôte” (host) est le serveur physique qui héberge les serveurs virtuels appelés « machines invitées » ou “guests”.
Les MV (guests) peuvent être du même type de système d’exploitation que l'hôte ou pas.

Pourquoi virtualiser les serveurs ?

2 objectifs sont visés par les administrateurs d'infrastructure informatique :
  • économie,
  • optimisation.

Et je crois qu'il faut avoir le courage de le dire… La virtualisation permet d'économiser de la main d'oeuvre qualifiée !

Plus précisément :

  • utilisation optimale des ressources d’un parc de machines,
  • économie sur le matériel par mutualisation (consommation électrique, entretien physique, monitoring, support, compatibilité matérielle, etc.)
  • installation, tests, développements, cassage et possibilité de recommencer sans casser le système d’exploitation hôte,
  • allocation dynamique de la puissance de calcul en fonction des besoins de chaque application à un instant donné,
  • diminution des risques liés au dimensionnement des serveurs lors de la définition de l’architecture d’une application, l’ajout de puissance (nouveau serveur etc) étant alors transparent.
  • installation, déploiement et migration facile des machines virtuelles d’une machine physique à une autre, notamment dans le contexte d’une mise en production à partir d’un environnement de qualification ou de pré-production, livraison facilitée,
  • et… apprentissage sans risque des techniques informatiques (économie de machines physiques, les étudiants peuvent “casser” un objet virtuel sans conséquence aucune sur l'infrastructure de production ! :-)

Techniques de virtualisation de serveurs

Notion d'hyperviseur

Toutes les techniques de virtualisation de serveurs font appel à un système d'exploitation dédié à la virtualisation appelé hyperviseur.

Un hyperviseur est un OS dont le seul rôle est de gérer les machines virtuelles.

Hyperviseur de type 1

Un hyperviseur de type 1 s'exécute directement sur une plateforme hardware : on parle d'architecture “bare-metal”. Il permet aux systèmes d'exploitation invités de rester relativement près du matériel et donc de conserver d'excellentes performances.

bare-metal (métal nu): “directement opérationnel sur la machine, sans nécessité de système d'exploitation”
Exemples de solutions

Hyperviseur de type 2

Un hyperviseur de type 2 s'exécute à l'intérieur d'un système d'exploitation “classique” comme Windows, Linux ou Mac OS), le système hôte.

Les système invités devront donc traverser 2 couches logicielles avant d'accéder au hardware ce qui diminue les performances mais la facilité d'installation et de configuration de ce type de virtualisation reste un gros avantage.

Cette solution, peu performante, n'est généralement pas retenue pour virtualiser les serveurs.
Exemples de solutions

Le compromis de la "virtualisation légère" : la technique d'isolation

L'isolation, souvent appelée “virtualisation légère” est une technique permettant d'emprisonner l'exécution des applications dans des contextes (des containers disent certains). Cette solution est très performante (le surcoût d'une application isolée/virtualisée est minime par rapport au temps d'exécution de la même application installée sur un système d'exploitation)

On ne peut pas parler de virtualisation de systèmes d'exploitation car l'isolation ne consiste à virtualiser que des applications. Chaque contexte isolé utilise en fait le noyau de la machine hôte.

Exemples de solutions

Ici, nous mettrons en avant 2 solutions :

Docker
LXC

Exemple de montage un peu sophistiqué utilisant 2 niveaux de virtualisation : l'appliance netLXC

netLXC ou comment apprendre les techniques réseaux sur une terrasse de café !

reseau/virtu.txt · Dernière modification: 2020/06/08 12:13 (modification externe)