FLASH INFORMATIQUE FI



Virtualisation




Fabien FIGUERAS


PREMIERE PARTIE

Introduction

La virtualisation, un thème brillamment abordé par Laurent Kling [1] il y a presque un an dans les colonnes de Flash Informatique. Son article présentait un exemple d’utilisation du système d’exploitation VMware ESX 2.5. Il concluait en affirmant que lorsqu’on a goûté à la virtualisation on ne peut plus revenir en arrière ! Cependant, comme avec tous les outils il faut choisir le bon modèle et rester dans les limites d’utilisation optimale.
Dans ce premier article, nous présenterons les problèmes que la virtualisation cherche à résoudre puis les différentes technologies de virtualisation. Ensuite nous détaillerons les solutions offertes par VMware et nous terminerons par quelques points à ne pas négliger avant de se lancer dans un projet de virtualisation.

Les problèmes

Même si la loi de Moore [2] est de moins en moins vraie, ses conséquences ont conduit à une multiplication des machines de petite et moyenne puissance dans les centres de calcul. Les parcs de machines ne sont pas homogènes, les applications évoluent rapidement, ce qui implique de fréquentes adaptations des ressources. Les mises à jour des logiciels système (Microcode, Pilotes,...) obligent les administrateurs à interrompre régulièrement les services. Ces arrêts, beaucoup trop fréquents, sont un surcroît de travail pour les administrateurs et sont ressentis, à juste titre, par les utilisateurs comme des perturbations inacceptables.
Mais avant que l’utilisateur ne soit interrompu dans son travail, il doit obtenir sa ou ses machines. Prenons l’exemple d’un collaborateur de l’école qui, pour un projet de 6 mois, souhaite disposer de trois serveurs. Voilà les tâches principales qui jalonnent son processus d’acquisition :

  • choix du matériel (nombre de processeurs, mémoire, taille des disques,...) ;
  • demande de prix à un fournisseur ;
  • attente de la réponse ;
  • selon le budget demande de prix à 2 autres fournisseurs ;
  • négociation des prix ;
  • commande du matériel ;
  • attente de livraison ;
  • demande des câbles électriques et réseau ;
  • réception et installation des machines ;
  • ajout des machines dans l’inventaire.

À ce processus qui va durer en moyenne de 4 à 6 semaines on pourrait ajouter des pertes de temps dues au collaborateur (mauvais dimensionnement des machines, problèmes d’installation liés à des matériels peu ou pas connu...) ou du fournisseur (erreur dans l’offre, la livraison, matériel partiellement défectueux, ...). Une fois les machines installées le projet pourra, enfin, commencer, en espérant qu’aucune panne matérielle ne viendra l’interrompre et que les ressources prévues seront suffisantes.
Nous voilà à la fin du projet, que vont devenir ces machines maintenant ? Avec de la chance, elles serviront pour un autre projet ! Sinon ne pourrait-on pas trouver un fournisseur qui veuille les reprendre ? Il ne faut pas rêver !
La virtualisation est une très bonne solution pour ce type de problème. En effet, les ressources virtuelles sont rapidement disponibles, peuvent être modifiées facilement et peuvent être rendues !

Les différentes approches

La virtualisation consiste à partager les ressources d’une machine physique pour les mettre à disposition de machines dites virtuelles. Les technologies sous-jacentes sont au nombre de quatre : invité, hyperviseur, paravirtualisation et matériel.

Architecture invitée (hosted architecture)

Ce type d’approche fournit les services de virtualisation à l’intérieur d’un système d’exploitation. Le principal avantage est le support d’autant de matériels que le système sous-jacent le permet. Le gros défaut est que le système virtualisé reste étroitement lié au matériel.
Utilisée par Microsoft Virtual PC, VMware Workstation et Server (anciennement GSX).

Architecture à hyperviseur (Hypervisor)

L’hyperviseur est la première couche logicielle installée sur le matériel. L’accès aux ressources est direct, la robustesse et les performances sont donc meilleures. Mais la liste des matériels supportés peut être plus restreinte.
Utilisée par VMware ESX.

Paravirtualisation (Para-virtualization)

Dans la paravirtualisation, la machine virtuelle utilise un système d’exploitation qui est modifié. Chaque système est conscient de partager le matériel avec d’autres. L’avantage est que le système a un accès direct aux ressources, ce qui doit apporter un gain de performance, mais c’est aussi un inconvénient, car on garde le lien entre système et matériel.
Utilisée par Xen qui demande un OS avec noyau modifié. Les VMware Tools sont aussi un ajout au système d’exploitation.

Virtualisation matérielle (Virtualization hardware assist)

Les fabricants de processeurs proposent des fonctions de virtualisation de très bas niveau, il y a VT pour Intel et Pacifica pour AMD [3].
Elles ne fournissent pas à elles seules une infrastructure de virtualisation, mais elles pourront aider, surtout si les fabricants de microprocesseurs se mettent d’accord pour arriver à un certain degré de compatibilité.
Utilisée par VMware Workstation pour faire du 64 bits sur les CPU Intel, par Xen pour utiliser des OS non modifiés et annoncé par Microsoft pour Longhorn.

Aucune de ces architectures ne donne entière satisfaction pour tous les types d’applications. Pour obtenir satisfaction il faut combiner les technologies, mais en gardant des possibilités de passage d’un type à un autre. Actuellement VMware offre la plus grande gamme de produits. Du simple outil gratuit pour essayer un logiciel préconfiguré dans une machine virtuelle, à l’infrastructure complète avec système d’exploitation dédié et logiciel d’administration.

La gamme VMware

VMware propose deux gammes, une gratuite et une payante. Il existe en plus des programmes bêta, par exemple Fusion qui propose un logiciel de virtualisation pour Mac OSX.
Le choix du produit doit être guidé par les fonctionnalités recherchées, les systèmes d’exploitation à virtualiser (en effet tous les OS ne sont pas supportés sur toute la gamme [4]) et le système d’exploitation de la machine hôte.
Un programme académique vient juste d’être lancé en Europe, l’EPFL a été choisi par VMware pour inaugurer ce programme. Celui-ci ne propose pas de nouveau produit, mais permet d’utiliser gratuitement dans un cadre éducatif universitaire des produits normalement payants. De nombreux détails restant à préciser, je reviendrai donc sur ce sujet dans le prochain article.

Les produits gratuits

www.vmware.com/products/free_virtualization.html
Ces produits gratuits permettent de travailler avec des systèmes d’exploitation Linux ou Windows. Les machines obtenues peuvent être migrées par la suite vers les infrastructures de virtualisation.

Player

www.vmware.com/products/player/

  • Permet de démarrer des machines virtuelles, de construire avec d’autres produits VMware (ACE, Workstation,...).
  • Existe pour Windows et Linux (rpm et tar).

Server

www.vmware.com/products/server/

  • Logiciel de virtualisation permettant le partitionnement d’une machine physique en de multiples machines virtuelles. Peut être géré par Virtual Center. Il est possible d’accéder aux machines virtuelles à distance avec une console.
  • Existe pour Windows 2000/2003 server et Linux (rpm et tar).
  • Le produit est gratuit, mais il existe du support payant.

Converter Starter

www.vmware.com/products/converter/

  • Utilitaire de transformation d’une machine physique en machine virtuelle et de copie d’image de machine virtuelle entre environnements virtuels (VMware, Microsoft, Ghost). À chaud ou à froid avec un CD de boot.
  • Le logiciel est disponible seulement sous Windows pour convertir des machines, physiques ou virtuelles, avec des OS Windows ! Pour des machines avec des OS Linux nous disposons d’autres solutions et VMware annonce le support Linux pour la prochaine version.

Virtual Appliances Marketplace

www.vmware.com/vmtn/appliances/

  • Une Virtual Appliance est une machine virtuelle qui contient un logiciel préconfiguré prêt à être utilisé.
  • Il suffit du VMware Player pour l’utiliser.
  • La place du marché virtuelle compte plus de 400 Virtual appliances dans des domaines qui vont du réseau à la messagerie (Zimbra, Exchange...) en passant par les systèmes d’exploitation (Fedora, BSD, Knoppix, Windows...).

Les produits payants

La gamme des produits payants offre, heureusement, plus de fonctionnalités et de support que la gamme des produits gratuits. Les tarifs donnés sont les prix publics à ce jour.

ACE ($795 Manager Server et $99 par Package)

http://www.vmware.com/products/ace/

  • Destiné aux administrateurs de PC très sensibles à la sécurité.
  • Avec le Manager Server l’administrateur prépare des paquets ACE qui incluent un player et une image de PC. Le paquet est ensuite distribuable (CD, DVD, Flash...) et utilisable. L’image est cryptée et l’utilisation sécurisée.
  • Les paquets sont utilisables avec Windows et en bêta pour Linux.
  • ACE Management Server existe pour Windows et Linux.

Virtual Desktop Infrastructure ($18’000 pour 25 PC plus Virtual Infrastructure)

www.vmware.com/products/vdi/

  • Hébergement et gestion centralisés de PC virtuels. Les utilisateurs accèdent au bureau virtuel avec un client léger qui supporte un protocole d’affichage distant (RDP, X...).
  • Nécessite une infrastructure Virtual Center et ESX Server !

Workstation ($189 en téléchargement, support en sus)

www.vmware.com/products/ws/

  • Créer des machines virtuelles 32 et 64 bits (Windows, Linux, NetWare, Solaris) pour faire des tests, démonstrations ou développements.
  • Existe pour Linux et Windows (en bêta pour MAC).

Lab Manager (pas de prix public disponible)

www.vmware.com/products/labmanager/

  • Pour la gestion de bibliothèques de serveurs de tests et de développement. Les machines sont regroupées par projet et sont démarrées par groupe à la demande.
  • Nécessite Virtual Infrastructure (Virtual Center et ESX).

ESX Server 3 ($5’750 pour 2 cpu en version Enterprise)

www.vmware.com/products/vi/esx/

  • ESX est la solution la plus industrielle de la gamme. L’impératif de robustesse et de performance limite le nombre de systèmes d’exploitation clients supportés ainsi que le nombre de machines hôtes.
  • Système d’exploitation basé sur une distribution Linux, spécialement conçu pour faire fonctionner le noyau du système, le vmkernel. ESX permet de gérer et de hiérarchiser l’ensemble des ressources (mémoire, CPU, disques, réseaux) en fonction de chaque machine, ou groupe de machines.
  • La gestion de chaque serveur ESX est possible avec un navigateur ou par la console. Il existe aussi un outil optionnel de gestion centralisée, Virtual Center.
  • Les fichiers disque des serveurs virtuels sont créés sur un système de fichiers propriétaire appelé vmfs. Ce système de fichiers a la particularité de pouvoir gérer des fichiers de plusieurs Téraoctets (maxi 64 To pour vmfs3). Autre particularité, si le système de fichiers est créé sur l’espace-disque d’un SAN, il est possible d’y accéder depuis plusieurs serveurs ESX simultanément, car le système de fichier lui-même gère nativement les accès simultanés. Chaque fichier n’est bien sûr accessible en écriture que depuis un seul serveur à la fois.
  • Virtual SMP : c’est une option qui permet d’avoir jusqu’à 4 cpu sur les machines virtuelles.

Virtual Center

Permet de contrôler plusieurs serveurs VMware afin de mieux gérer les ressources. Conçu pour le déploiement, le contrôle et la gestion de machines virtuelles, ainsi que pour la supervision de l’ensemble des ressources des serveurs hôtes. Par exemple, on peut suivre l’utilisation des ressources au niveau des chaque machine virtuelle (CPU, mémoire, IO,...), d’un groupe de machines ou d’un ou plusieurs serveurs ESX. On peut aussi automatiser des tâches.
Il existe deux versions : l’une pour gérer des serveurs ESX, l’autre pour gérer des serveurs VMware Server. Ce logiciel ne fonctionne que sous Windows, il utilise une base de données MS-SQL ou Oracle. L’interface utilisateur est un client Windows, pour les linuxiens on peut utiliser un navigateur, mais les fonctionnalités sont moins riches.

  • Pour ESX Server ( $ 5000 + support 21% par an)
    www.vmware.com/products/vi/vc/
    Cette version permet de disposer de toutes les fonctionnalités d’ESX.
  • VMotion :
    www.vmware.com/products/vi/vc/vmotion.html
    Permet de déplacer une machine virtuelle d’un serveur ESX vers un autre sans l’arrêter. Cette opération est possible lorsque les serveurs hôtes utilisent des microprocesseurs identiques et que l’espace-disque des serveurs virtuels se trouve partagé sur un SAN.

  • High Avalability (HA) :
    www.vmware.com/products/vi/vc/ha.html
    C’est un mécanisme de redémarrage automatique des machines virtuelles d’un serveur ESX qui est tombé en panne vers un autre serveur ESX. Il faut disposer d’un SAN.

  • Distribute Ressource Scheduler (DRS) :
    www.vmware.com/products/vi/vc/drs.html
    Permet de faire aussi de la répartition de charges entre différents serveurs et en fonction des besoins de chacune des machines virtuelles de les migrer vers un autre serveur moins chargé. On peut créer des règles qui permettent, par exemple, d’avoir deux éléments sur le même serveur ou inversement sur deux serveurs ESX différents. On peut ainsi jouer sur le fait qu’un élément actif et son backup ne soient pas sur le même serveur pour permettre qu’en cas de grosse panne sur un des serveurs la fonction soit toujours assurée par un des deux serveurs virtuels. Cette option utilise VMotion.

  • Pour VMware Server ($1’000 plus $400 par 2cpu) :
    www.vmware.com/products/server/vc.html
    Même interface que pour ESX mais avec les limitations qui découlent des fonctionnalités limitées de VMware Server.

Converter Enterprise (Gratuit pour les utilisateurs de Virtual Center)

www.vmware.com/products/converter/

  • Mêmes fonctionnalités que la version starter avec en plus la possibilité de planifier des tâches et d’obtenir du support.
  • Le logiciel est disponible seulement sous Windows pour convertir des machines, physiques ou virtuelles, avec des OS Windows ! Pour des machines avec des OS Linux nous disposons d’autres solutions et VMware annonce le support Linux pour la prochaine version.

Point important

Pour profiter pleinement des avantages de la virtualisation, il faut être conscient des limites.

  • Si on souhaite virtualiser des machines physiques, il est impératif qu’elles ne consomment pas intensivement une ou plusieurs ressources (processeur, mémoire ou accès disques).
  • Les mécanismes de partages mis en oeuvre par VMware permettent de faire de la surréservation de ressources. Tolérable pour des machines de tests, la surréservation est à proscrire si on souhaite des performances correctes. Le dimensionnement des serveurs a donc une grande importance sur les performances futures. Nous avons mis au point une méthode de calcul pour dimensionner au plus juste les infrastructures.
  • Le gain de temps pour l’administration quotidienne des systèmes d’exploitation est relativement faible.

Conclusion

Dans ce premier article, nous avons commencé par présenter le contexte de développement des technologies de virtualisation ainsi que les différents modèles. Puis nous avons détaillé les produits VMware et enfin les limites du modèle.
Dans le prochain article, nous donnerons les caractéristiques du service d’hébergement des machines virtuelles que le DIT va ouvrir cette année. En particulier nous décrirons l’architecture, les logiciels, les ressources humaines, les services offerts ainsi que quelques exemples d’utilisation.

Références

[1] FI6/06, Laurent Kling, À la carte, ou la virtualisation avec VMware ESX
[2] Wikipédia, Loi de Moore
[3] Intel and AMD Harware Virtualization
[4] Liste des OS supportés en fonction des produits et spécificités d’installation ou la version pdf.



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.