La virtualisation des systèmes

La technologie

La virtualisation est une technologie de plus en plus utilisée lors de la définition de nouvelles architectures informatiques mais aussi afin d'aider à l'évolution de ces dernières.

Encore peu connue et peut être complexe au départ, la virtualisation peut aboutir à la mise en place de solutions économiques pour tous les types d'entreprises, quelle que soit leur taille. Cette technologie permet de répondre à des problématiques au niveau de la haute disponibilité ou encore de la sécurité.

La virtualisation peut donc être envisagée dans le cadre du déploiement de nouveaux services des Systèmes d'Information ou pour la consolidation de ces derniers.


Le marché


Quelques éditeurs de logiciels travaillent depuis plusieurs années à la mise en place de solution pour permettre l'utilisation et l'exploitation au sein d'une seule et unique machine. On trouve, parmi les acteurs majeurs de cette technologie, des sociétés comme Connectix ou VMWare.

Les logiciels proposés dans un premier temps devaient être installés sur une plate forme hôte Windows ou Macintosh et permettaient de faire fonctionner une machine virtuelle (invitée). Ce système autorisait l'installation, le fonctionnement et l'utilisation d'un autre système d'exploitation comme différentes version de Windows ou encore MS-DOS.

Les avantages principaux de ce type d'installation étaient d'effectuer des opérations de support ou de formation aux utilisateurs sans avoir à reformater les postes lors de chaque session. Cette approche était d'abord proposée sur des postes de travail afin de disposer de plusieurs environnements hétérogènes. Avec l'évolution du matériel, le marché a mûri et le prix des serveurs a diminué tandis que les besoins en nombre de serveurs ont fortement augmenté. La cible des éditeurs s'est donc élargie.


Prinicpe de base


La création d'un serveur virtuel repose sur la mise en place d'un système d'exploitation défini comme étant le système hôte sur un serveur physique. Dans le but d'optimiser ses performances et de le sécuriser au maximum, il sera préférable que ce serveur assure uniquement la fonction de support de machines virtuelles. Dans ce but, certains éditeurs comme VMWare proposent maintenant des solutions basées sur un noyau dédié à la fonction d'hébergement de serveurs virtuels. Au passage, ce système d'exploitation a été durci afin de retirer l'inutile et de limiter ainsi les risques de vulnérabilité de la plate-forme. Une solution dédiée basée sr un noyau Linux est ainsi proposée par VMWare, ESX Server.

Il existe une palette grandissante d'outils développés destinés à différentes plates-formes (Windows, Mac, Linux ...). On trouve différents produits comme VMWare Workstation, Virtual PC ou encore Virtuozzo qui sont destinés à être installés sur des OS hôtes. Lors du choix d'une telle architecture, il faudra être particulièrement vigilant du côté de la sécurité des applications installées sur la plate-forme hôte.

Concernant le matériel, la machine assurant le rôle d'hôte doit être correctement dimensionnée pour assurer un fonctionnement des différentes machines virtuelles dans des conditions optimales. D'une manière générale, il est avantageux de diposer de plusieurs processeurs physiques. Côté mémoire, il n'y a pas de recette miracle, sa taille doit être au moins égale à la somme de la mémoire mise à disposition de toutes les machines virtuelles.


Architecture


Une machine virtuelle est un environnement fourni par un logiciel qui permet de simuler une machine physique au sein d'un système hôte. Ce dernier peut héberger plusieurs machines virtuelles fonctionnant de manière indépendante et ce dans la limite des capacités matérielle de la machine hôte (processeur(s), mémoire vive, espace disque ...).

Chaque machine virutelle dispose de son Bios (virtuel), de ses unités de stockage, de ses ressources processeur et mémoire ainsi que de différents périphériques virtuels. Les ressources sont fournies par l'environnement de l'hôte et sont donc virtuelles. Les interfaces réseau par exemple sont des périphériques simulés pour lesquels les requêtes sont traitées par le système hôte. Ainsi, les opérations de lecture / écriture sur les disques virtuels sont retranscrites dans un fichier au niveau du système hôte. Les interfaces et périphériques de la machine virtuelle sont donc quasiment indépendants de ceux de la machine hôte. Cette relative indépendance vis-à-vis de la plate-forme matérielle permet donc la mise en place de même machine virtuelle sur différentes machines physiques.

Certains périphériques doivent obligatoirement être physiques et d'autres sont émulables à souhait. Contrairement à la mémoire ou aux processeurs, il est possible à partir d'une seule carte réseau de mettre en place plusieurs interfaces réseau au sein d'une même machine virtuelle.


La fin de la multiplication des serveurs


La sécurité et la multiplication des applications sont des facteurs entraînant la multiplication des serveurs. En effet, il a fallu cloisonner les différents processus et séparer les applications critiques. De plus, il devient difficile de faire cohabiter certaines applications sur un même serveur.

Un exemple, il est nécessaire de disposer d'un serveur de fichiers et d'annuaire afin d'offrir un service de messagerie aux utilisateurs. Ces services doivent être hébergés par différentes machines tandis que d'autre part, de nombreux processeurs sont sous-utilisés. Ce sont autant de "mauvaises" utilisations entraînant des coûts non négligeables (consommation d'énergie, d'espace occupé dans les salles serveurs ...) qu'il faut chercher à minimiser. La consolidation des serveurs est donc une tendance actuelle qui vise à diminuer le nombre de serveurs et donc les coûts associés tout en optimisant l'utilisation des machines. Moins il y aura de machines physiques, plus les coûts de maintenance, d'exploitation et d'administration seront faibles.


Nouvelles perspectives


Les éditeurs proposent bien souvent des outils complémentaires aux logiciels de virtualisation. La virtualisation permet en effet une simplification au niveau de la duplication d'un serveur virtuel et cette technologie apporte de nouveaux mécanismes et processus à la mise en place et la gestion des serveurs.

Par exemple, la copie d'une machine virtuelle se résume à la copie d'un fichier. En effet, l'ensemble des données de la machine virtuelle se trouve dans un fichier hébergé par le serveur hôte. Grâce à l'indépendance matérielle des machines virtuelles, migrer une de ces dernières vers un nouveau serveur physique consiste simplement à copier un fichier. Cette technique de clônage peut être utilisée dans plusieurs cas comme par exemple la sauvegarde de la totalité du contenu des disques durs (toutes les données de la machine virtuelle).

Dans le cadre de tests, il est possible d'effectuer un snapshot avant d'effectuer des changements et de revenir à cet état si ces derniers n'ont pas été satisfaisants.

La virtualisation est sur le point de devenir incontournable et est certainement le point de départ d'une nouvelle ère dans le domaine des architectures des systèmes d'information tant au niveau des définitions des nouvelles architectures que dans leur mise à jour ainsi que pour la gestion des coûts au sein des entreprises. Je pense que les administrateurs système de grands réseaux d'entreprises vont vite trouver beaucoup d'avantages à la virtualisation et ses applications en général.


Architecture de la Virtualisation


Avantages"



Inconvénients / Limites