Introduction à la virtualisation

Il m'est arrivé plusieurs fois de rencontrer des clients ou participants à des présentations, qui ne connaissaient pas les principes de la virtualisation ni les produits gratuits comme Virtual PC et Virtual Server. Souvent, le sujet a été abordé parce certaines situations seraient résolues ou simplifiées par l'utilisation de machines virtuelles. L'idée de cet article est donc de décrire simplement en quoi consiste la virtualisation, ainsi que quelques applications utiles. Si vous avez déjà utilisé un logiciel tel que Virtual PC ou les produits de VMware, cet article ne vous apportera sans doute rien : consultez plutôt l'excellent blog de Ben Armstrong sur la virtualisation pour en savoir plus.

La virtualisation peut concerner les serveurs ou les postes de travail. Restons pour l'instant sur le PC de l'utilisateur et voyons ce que la virtualisation peut apporter.

Qu'est-ce qu'une machine virtuelle ?

Appelons votre PC, celui que vous pouvez toucher, une machine physique. Sur cette machine physique tourne un système d'exploitation (Windows, Linux, etc.) Dans ce système tournent des applications (traitement de texte, navigateur Internet, etc.) Une application de virtualisation permet de simuler (émuler) un PC : c'est ce qu'on appelle une machine virtuelle. L'application de virtualisation simule un processeur, de la mémoire, un BIOS, un disque dur, un lecteur de DVD, etc. Par exemple, une partie de la mémoire de la machine physique est réservée à la machine virtuelle que l'on exécute ; un fichier sur le disque de la machine physique représente le disque dur de la machine virtuelle ; une fenêtre affichée sur l'écran de la machine physique représente l'écran de la machine virtuelle.

Virtual PC 2007 sous Windows Vista, exécutant deux machines virtuelles sous Ubuntu et Windows XP

Une fois la machine virtuelle configurée et démarrée, on peut y installer un système d'exploitation et des applications. Pour ceci, la machine virtuelle dispose en général d'un lecteur de CD/DVD virtuel qui peut être représenté par le lecteur de la machine physique (on utilise alors un CD ou DVD physique) ou un fichier .iso (image d'un CD ou DVD) sur le disque de la machine physique. La machine virtuelle dispose en général aussi d'une carte réseau virtuelle qui, en passant par la carte réseau physique, peut accéder au réseau ou à l'Internet.

Configuration d'une machine virtuelle dans Virtual PC 2007

Une machine virtuelle est représentée par deux fichiers : un fichier pour sa configuration, et un fichier pour son disque dur. Le fichier de configuration d'une machine virtuelle contient des éléments tels que sa quantité de mémoire, la façon dont sa carte réseau va se connecter au réseau physique et le nom du fichier représentant son disque dur. Ce sont toutes les informations dont l'application de virtualisation a besoin pour exécuter la machine virtuelle.

La virtualisation a une caractéristique très intéressante qui consiste à sauvegarder un état de la machine virtuelle à un moment, continuer à l'utiliser, puis revenir à l'état sauvegardé quasiment immédiatement. De cette façon, toutes les manipulations risquées peuvent être tentées sur une machine virtuelle sans craindre de devoir réinstaller une machine. D'où un intérêt particulier pour les tests et expérimentations en tout genre.

A quoi peut servir une machine virtuelle ?

Utiliser un système d'exploitation différent ce celui qui est installé sur votre machine physique. Par exemple, j'utilise fréquemment Windows XP, Windows Server 2003 et 2008 et différentes versions de Linux dans des machines virtuelles sur ma machine Windows Vista.

Applications pratiques :

  • Les personnes du help desk peuvent disposer dans des machines virtuelles des différents environnements de leurs utilisateurs.
  • Les développeurs peuvent tester leurs applications dans différents environnements.
  • Avant une migration de postes de travail, les utilisateurs peuvent tester le nouveau système ou la nouvelle application dans une machine virtuelle.
  • Après une migration de postes de travail, les utilisateurs peuvent disposer de leur ancien système dans une machine virtuelle, pour exécuter les applications qui posent problèmes dans le nouveau système.
  • Vous pouvez conserver une machine virtuelle et l'utiliser successivement sur plusieurs machines physiques, sans avoir à réinstaller vos applications et données : il suffit de sauvegarder et copier les fichiers de la machine virtuelle d'une machine physique à l'autre, ou de les conserver sur un disque externe.

Simuler des configurations complexes. Sur une machine avec suffisamment de mémoire, il est possible d'exécuter plusieurs machines virtuelles simultanément, communiquant entre elles sur un réseau virtuel ou le réseau physique. Il est donc possible de tester ou démontrer des environnements complexes (Clients et serveurs, etc.)

Isoler des systèmes de niveau de sécurité différents. Il est naturel par mon métier que la sécurité soit ma principale préoccupation. La virtualisation est une méthode abordable pour fournir un certain niveau d'isolement entre environnements "risqués" et environnements "sensibles". Par exemple, si j'ai besoin de tester des utilitaires de sources douteuses, voire des logiciels malveillants, je le ferai dans une machine virtuelle sans connexion réseau, et avec possibilité de la rétablir à son état initial. De même, j'effectue mes opérations personnelles sensibles (banque, impôts, commandes en ligne) dans une machine virtuelle dédiée à cela. Quant à ma machine physique, elle sert à l'usage courant, ni risqué, ni sensible : musique, photos, mail, bureautique courante, etc.

En entreprise, nous savons que les portables sont les postes les plus coûteux à gérer et à maintenir, et concentrent le plus de risques de sécurité. Les administrateurs ont donc tendance à imposer sur les portables des contraintes de sécurité plus importantes que sur les postes fixes. Une machine virtuelle réinitialisée à chaque exécution peut être un moyen d'offrir à l'utilisateur un espace de liberté sur son portable, dans lequel il pourrait par exemple naviguer librement sur Internet sans craindre de compromettre sa machine.

Un autre usage de cette isolation est de maintenir la machine physique plus stable et fiable, puisque tous les tests de nouvelles applications, impliquant des installations et désinstallations hasardeuses, peuvent être effectués dans une machine virtuelle.

En savoir plus

Pour en savoir plus sur la virtualisation, vous pouvez consulter les produits suivants :