FLASH INFORMATIQUE FI



Virtualisation pour tous


Comment la virtualisation change notre approche de l’informatique  ?



How virtualization is changing our approach to IT ?



Laurent KLING


Nous utilisons une technologie stupéfiante, la virtualisation, quand :

  • nous exécutons une application Java sur un navigateur Web,
  • nous émulons un logiciel obsolète,
  • notre fournisseur favori décide de changer de fabricant de processeurs,
  • notre service informatique emploie ces outils.

En simplifiant, la virtualisation consiste à encapsuler des processus informatiques en dehors du contrôle direct du système. Pour reprendre l’exemple de Java, le code est transformé pour être exécuté dans un environnement sécurisé isolé de l’ordinateur. Si ce mécanisme est disponible pour différentes plates-formes, cela offre une comptabilité entre toutes, la panacée  !
A priori, cette technologie semble réservée aux spécialistes. En réalité, elle est abordable par presque chacun d’entre nous. Son agrément est tellement fort que maintenant ce sont les systèmes d’exploitation qui intègrent cette technique :

  • Microsoft, dans Windows 7 pour émuler Windows XP,
  • Apple, cette technique a permis de changer de famille de processeur en émulant le précédent :
    • 68’000 vers PowerPC,
    • PowerPC vers Intel.
      Cette simulation d’un autre processeur physique entraîne naturellement des pertes de performance importantes.

Cerise sur le gâteau, des outils sont accessibles dans presque toutes les plates-formes. Un bémol cependant, uniquement un Macintosh peut reproduire un Macintosh. Dans Wikipédia, vous trouverez un résumé des produits disponibles.

Quel logiciel choisir pour virtualiser  ?

À l’EPFL, quatre écosystèmes de virtualisation cohabitent :

Nous trouvons rapidement des adeptes de chaque fournisseur dont les zélotes vanteront les caractéristiques uniques.
Pour dépasser cette vision partisane, nous devons effectuer un choix raisonné de l’écosystème, trois éléments sont à considérer : l’étendue, le coût et l’interopérabilité.
Pour l’étendue, la possibilité de déplacer une machine virtuelle entre des hébergements de qualité croissante est un critère important. Au départ, on crée une machine virtuelle sur son poste de travail, puis, on désire l’accueillir dans un environnement performant. Pour le coût, il faut tenir compte des éléments nécessaires pour bâtir un milieu performant avec les coûts de licence. Finalement, la portabilité de votre travail pour éviter une dépendance a un seul constructeur. Au départ, le choix est quasi cornélien, il paraît impossible de changer de fournisseur.

Open Virtualisation Format (OVF)

Heureusement, une méthode permet d’échanger les machines virtuelles. Dans un esprit de concorde, cinq constructeurs, conscients de la nécessité d’ouvrir le marché entre concurrents, décidèrent en 2007 de créer un format commun.

En pratique, un conteneur OVF se décompose en trois parties :

  1. un fichier descriptif au format XML,
  2. la copie du disque dur,
  3. le tout dans un dossier compressé avec le format TAR.



conteneur au format OVF

Dans l’idéal, on doit pouvoir déplacer une machine virtuelle entre les écosystèmes. Malheureusement, ce ne sont que des promesses car les machines virtuelles sont aussi des machines.

Pourquoi décrire le matériel alors qu’on souhaite utiliser une machine virtuelle  ?

Elles ne sont pas immatérielles, elles singent une machine réelle. Et quand on désire transférer des machines virtuelles, on doit transporter également les composants sous-jacents. Pour compliquer le travail, chaque fabricant interprète à sa manière la description des périphériques.



VirtualBox – configuration des périphériques pour une machine virtuelle

Si on essaye de réaliser ce transfert entre constructeurs rivaux, le résultat est décevant. Il n’est pas possible de transmettre simplement des machines. De nombreux forums vous suggèrent d’éditer directement le fichier de description XML de la machine virtuelle. Compte tenu des différentes variantes, c’est un travail de titan que de tenter d’énumérer toutes les modifications à faire. La solution la plus aisée est de s’occuper simplement du disque dur. Il faut procéder à une autopsie de l’ordinateur pour comprendre les limites. Une machine est composée d’un processeur, de mémoires et de ses périphériques :

  • la compatibilité pour le processeur est assurée, car tous utilisent des puces Intel,
  • la mémoire se décompose en deux parties :
    • vive, pour le système d’exploitation et les programmes,
    • permanente, sous forme de disque dur qui conserve les données,
  • Les périphériques sont multiples : cartes vidéo, audio, réseau, port USB.

Sur le papier, pour disposer d’un format d’échange parfaitement fonctionnel, les constructeurs devraient définir en commun tous ces composants. La diversité commerciale et technologique a rendu cet accord impossible.
Si le format du disque dur est parfaitement décrit dans OVF, il reste une question subsidiaire, le contrôleur de disque dur. Tel un archéologue industriel, nous devons remonter dans le temps.

année d’arrivée technologie
Interface parallèle1982SCSI (Small Computer System Interface)
1986IDE (Integrated Drive Elelectronic) ou ATA
Interface série2003 SATA (serial ATA)
2005 SAS (attached serial SCSI)

Les deux premières sont des technologies parallèles, cela signifie que chaque bit de formation est transmis dans le câble sur un fil défini, 16 bits = 16 câbles.
Les deux dernières utilisent une transmission série, trois fils sont suffisants, un pour une référence électrique (la masse), un autre pour émettre, et le troisième pour recevoir.
En réalité, le connecteur SATA possède sept fils, deux paires de fils pour une transmission différentielle des données, trois fils pour la masse. Pour rendre la situation plus opaque, les deux standard SAS et SATA possèdent la même interface physique  !
Avec ce principe sériel, on peut atteindre des vitesses de débit très élevées, dans la norme actuelle. Avec SATA version 3, le débit maximum est de 600 Mo/s. Les performances annoncées par les constructeurs de disque dur semblent merveilleuses, autour de 100 Mo/s. Si on prend en compte l’ensemble de la chaîne, matériel, système d’exploitation et application, la performance chute drastiquement et il est rare de dépasser 10 Mo/s. Pour éviter des allers-retours inutiles, voici la charte de comptabilité dans des transferts de machines virtuelles :

IDE IDE OK
IDE SATA OK
SCSI SCSI OK
SATA SAS impossible

Au premier degré, on ne comprend pas pourquoi SAS n’est pas compatible avec SATA. Le connecteur est le même, mais les protocoles utilisés sont fondamentalement différents.
Pour cet article, j’ai transféré des machines virtuelles entre les deux environnements largement utilisés dans l’EPFL : VMware vers VirtualBox et VirtualBox vers VMware.

Notre institution dispose de licences VMware éducation gratuite  !

Thierry Charles l’annonçait dans cette revue en 2010, flashinformatique.epfl.ch/spip.php ?article2000. La principale contrainte pour l’utilisation de ces licences est leur durée, une année avec un renouvellement possible pour le personnel. Pour les étudiants, l’usage est limité à un an non reconductible, vmware-edu.epfl.ch. Actuellement, la liste des logiciels VMware accessibles pour le personnel EPFL est particulièrement étendue. Cerise sur le gâteau, les licences avancées sont également disponibles dans le modèle éducatif de VMware. L’environnement virtuel utilisé par le service informatique central de l’EPFL (DIT) est aussi lié à cette entreprise.



licences éducation de VMware disponible pour le personnel EPFL

Naturellement, ces licences éducation sont réservées pour un usage académique ; si vous désirez une utilisation en dehors des conditions contractuelles, il faudra passer par la case Start et acquérir un produit commercial.

VMware vers VirtualBox

Pour simuler l’écosystème complètement, j’ai choisi comme point de départ un environnement professionnel, VMware vSphere 4.1 accompagné par l’OS Windows 7. La machine cliente est un Macintosh avec VirtualBox. Pour éviter de perdre du temps dans chacun des tests des différentes technologies de disque dur, j’ai utilisé l’outil d’installation automatique install-os.epfl.ch développé en collaboration avec le DIT.
Comme expliqué au préalable, le point crucial est le type d’interface du disque dur. Sans transformation ésotérique, uniquement les normes IDE et SATA sont compatibles pour des échanges entre ces deux plates-formes concurrentes.

  1. La première étape consiste à exporter la machine virtuelle au format OVF. Attention, on transfère une machine virtuelle, mais dont la taille du disque est conséquente, 30 ou 40 Go pour Windows 7. Cela équivaut à copier toute une bibliothèque de musique ou d’images  !
  2. Pour la deuxième étape, il faut partager ce volumineux document entre la source et la destination. De nouveau, le temps de transfert n’est pas négligeable.
  3. Ensuite on essaie d’ouvrir la machine virtuelle avec VirtualBox. Le temps d’attente est important, car l’outil décomprime les données du disque dur dans un format utilisable.
    Le résultat est désastreux, le transfert a apparemment échoué.

    VirtualBox : échec importation OVF
    Sur le poste de travail, la situation n’est pas aussi catastrophique, le disque dur virtuel a été créé correctement.

  4. La quatrième étape consiste à réutiliser ce disque dur dans une nouvelle machine virtuelle dans VitualBox. On recrée la machine virtuelle avec les mêmes caractéristiques de mémoires, de périphériques, et du système d’exploitation.

    VirtualBox : création d’une nouvelle machine à l’identique
    Il ne faut pas créer de disque dur, car celui-ci existe déjà.

    VirtualBox : ne pas créer de disque dur
    Après il faut créer le composant virtuel disque dur avec une interface IDE. Sur un Macintosh il faut désactiver la case Use host I/O cache.

    VirtualBox : ajout d’un disque IDE

  5. Ensuite le moment de vérité, démarrer la machine virtuelle et miracle la conversion est réalisée  ! Windows va se réparer automatiquement en installant les différents pilotes.

    VirtualBox : réparation des pilotes par Windows 7

  6. Puis installer les extensions VirtualBox dans la machine virtuelle.

    VirtualBox : ajout des extensions client

VirtualBox vers VMware

Pour transférer une machine de VirtualBox vers VMware, les étapes d’exportation, de transfert et d’importation sont les mêmes. De manière similaire à VirtualBox, VMware m’informe que l’opération a échoué  !



VMware vSphere : échec importation OVF
Il faut appliquer exactement la même méthode qu’avec Virtual Box :

  1. exporter la machine virtuelle ou format OVF,
  2. transférer le disque dur de la machine virtuelle,
  3. créer la machine virtuelle sans disque dur,
  4. ajouter le disque dur,
  5. laisser Windows réparer les pilotes,
  6. ajouter les extensions VMwareTools dans la machine virtuelle.



VMware vSphere : réparation des pilotes par Windows 7

Conclusion, du monde virtuel au réel

Les machines virtuelles ne sont que des métaphores du monde réel, elles présentent les mêmes inconvénients, comme des connexions avec des composants matériels, même virtualisés.
Premièrement, les machines virtuelles sont utiles pour compléter votre ordinateur en ajoutant par exemple Windows 7 sur un Macintosh, pour compenser les lacunes de la mise à disposition de certains outils.
Deuxièmement, c’est tout ce qui dépasse ce portage d’application. En particulier quand il est possible de conserver les états successifs d’un ordinateur allumé ou déplacer un serveur sans l’éteindre. Ces fonctionnalités seront décrites dans un prochain article.
Troisièmement, on peut même utiliser les possibilités de virtualisation d’un système d’exploitation pour dépasser les limites du temps. Cette possibilité est décrite dans ce numéro dans l’article ... jusqu’où aller dans la virtualisation  ?.
Pour conclure cette série sur la virtualisation, je présenterai dans un dernier article les capacités du logiciel Atempo pour sauvegarder le contenant ou le contenu d’une machine.
Des pirates ont compris les avantages de la virtualisation. Plutôt que d’écrire un virus pour chaque cible, il est plus simple d’exploiter les failles de sécurité présentes dans la machine virtuelle de Java. Quand une brèche permet l’exécution d’un code malicieux en dehors de la machine virtuelle, vous avez un problème de sécurité universel pour toutes les machines possédant Java. Il devient particulièrement plus grave quand l’extension Java est présente dans le navigateur. Ironiquement, c’est la méthode qui vient d’être utilisée pour attaquer Facebook, Apple et Microsoft malgré la décision d’Apple de désinstaller l’extension Java dans le butineur  !



Cherchez ...

- dans tous les Flash informatique
(entre 1986 et 2001: seulement sur les titres et auteurs)
- par mot-clé

Avertissement

Cette page est un article d'une publication de l'EPFL.
Le contenu et certains liens ne sont peut-être plus d'actualité.

Responsabilité

Les articles n'engagent que leurs auteurs, sauf ceux qui concernent de façon évidente des prestations officielles (sous la responsabilité du DIT ou d'autres entités). Toute reproduction, même partielle, n'est autorisée qu'avec l'accord de la rédaction et des auteurs.


Archives sur clé USB

Le Flash informatique ne paraîtra plus. Le dernier numéro est daté de décembre 2013.

Taguage des articles

Depuis 2010, pour aider le lecteur, les articles sont taggués:
  •   tout public
    que vous soyiez utilisateur occasionnel du PC familial, ou bien simplement propriétaire d'un iPhone, lisez l'article marqué tout public, vous y apprendrez plein de choses qui vous permettront de mieux appréhender ces technologies qui envahissent votre quotidien
  •   public averti
    l'article parle de concepts techniques, mais à la portée de toute personne intéressée par les dessous des nouvelles technologies
  •   expert
    le sujet abordé n'intéresse que peu de lecteurs, mais ceux-là seront ravis d'approfondir un thème, d'en savoir plus sur un nouveau langage.