Virtualisation

Encore une fois, ceci va être un article chiant.

Ceci reprend en partie la présentation que je fais de la virtualisation, et principalement de VMware, dans les propositions techniques adressées à mes clients.
Je la mets là parce que ça peut être intéressant et parce que c’est en grande partie en refonte. Car j’avais basé cette présentation sur VMware Infrastructure 3 (VMware ESX 3.5) et que la version 4 est sortie depuis quelques temps maintenant et peut commencer à être considérée comme stable et déployable en production.
Toutes les images sont tirées des white papers VMware disponibles sur leur site.

  1. Principes de la virtualisation
    La virtualisation est une couche d’abstraction qui découple la partie matérielle (hardware) du système d’exploitation pour permettre une meilleure utilisation des ressources et une plus grande flexibilité dans l’utilisation de ces ressources. La virtualisation permet à de multiples machines virtuelles, avec des environnements hétérogènes (Windows NT4, Windows 2000, Windows 2003, Windows 2008, Linux, …), de fonctionner sur la même machine physique, tout en étant isolées les unes des autres.
    Une machine virtuelle est la représentation d’une machine physique par un logiciel. La machine virtuelle a son propre ensemble de composants virtuels (RAM, CPU, Carte réseau) sur lesquels le système d’exploitation et les applications sont chargés. Le système d’exploitation ne voit qu’un ensemble de composants consistant et normalisé, totalement indifférent des composants matériels physiques réels.
    Avant virtualisation

    Après virtualisation

    Deux principes existent dans le monde de la virtualisation :

    •    Une approche « hébergée » qui fournit un service partitionnement par-dessus un système d’exploitation standard. Dans ce mode de fonctionnement, la partie chargée de faire tourner les machines virtuelles est considérée comme une application pour son installation et son exécution.
    Architecture "hébergée"

    •    Une approche « hyperviseur ». La partie chargée de faire tourner les machines virtuelles est directement installée sur le matériel. Puisque l’hyperviseur a directement accès aux ressources matérielles, celui-ci est plus robuste, performant et permet une meilleur extensibilité que la version « hébergée ».

    Architecture "Hyperviseur"

  2. Bénéfices de la Virtualisation
    •    Consolidation des serveurs
    La virtualisation va permettre une consolidation des parcs serveurs. Au lieu d’avoir une vingtaine de serveurs ne consommant au mieux qu’à 10 ou 15% des ressources disponibles, vous aurez, par exemple, quatre serveurs consommant 80% de leurs ressources, avec ainsi une marge en cas de nécessité d’augmenter la puissance d’une machine virtuelle à un instant T.
    Dans certains cas, la virtualisation a permis des gains du type 8 à 10 :1.
    Cela permet de sortir du schéma « une application = un serveur ».

    •    Disponibilité

    Grâce à la virtualisation, il est désormais possible de ne plus interrompre la production pour des interventions de maintenance. Notamment grâce à la possibilité de déplacer sans interruption  les environnements virtuels d’un serveur hôte à un autre.
    De même, avec les options de haute disponibilité de certains constructeurs, en cas de défaillance d’un serveur hôte, les machines virtuelles peuvent être redémarrées automatiquement sur un autre serveur hôte.

    •    Performance

    La virtualisation permet de mieux contrôler les performances. En effet, différentes solutions de virtualisation offrent des solutions de monitoring de performances, d’allocation et de réallocations de ressources qui permettent d’affiner au mieux les configurations des serveurs virtuels. De plus, si le besoin se fait sentir, certaines solutions permettent d’automatiquement transférer une machine virtuelle d’un serveur hôte à un autre moins chargé au niveau des ressources.

    •    Flexibilité

    La virtualisation permet une plus grande flexibilité dans la gestion des serveurs et des postes de travail. En effet, la mise en place d’un serveur virtuel peut se faire en quelques heures contre quelques jours pour un serveur physique. Par exemple, gain de temps au niveau de  l’achat de matériel. Pour un serveur physique, vous devez commander le matériel auprès du constructeur, attendre la livraison, mettre en place l’équipement dans un environnement approprié (rack, salle serveurs). Avec un serveur virtuel, il ne suffit que de quelques clics pour qu’un nouveau serveur virtuel soit créé. Et gain de temps en déployant des serveurs virtuels depuis des templates prédéfinis et contenant déjà un certain nombre d’applications de base préconfigurées.

    •    Sécurité

    La portabilité des machines virtuelles offre la possibilité de mettre en œuvre des processus de restauration et de PRA à moindres coûts et réduit considérablement le temps nécessaire à la remise en route d’un serveur. Elle permet entre autre de déplacer facilement la charge de travail d’un serveur physique à un autre.
    Les nouvelles fonctions offertes par la virtualisation permettent de concevoir des systèmes capables de basculer automatiquement en cas de défaillance.
    Enfin, en consolidant des infrastructures complexes dans des environnements et des réseaux virtuels séparés, les administrateurs peuvent configurer des règles spécifiques à chaque environnement et maximiser la sécurité. (Environnements de tests, ou de développement, environnements de production).
    De même, avec les notions de snapshots, il est possible de faire une image figée à un instant T d’un serveur, de continuer à travailler sur le serveur (pour l’application de patchs par exemple) et de faire un retour arrière en cas de problème.

  3. Acteurs
    Dans le monde de la virtualisation, il existe trois acteurs « majeurs » :
    •    Microsoft avec Hyper-V
    Cette solution est assez récente et peu mature. Face à ses concurrentes, elle manque de fonctionnalités critiques et de maturité.

    •    Citrix avec la gamme de produits Xen

    Solution basée sur un ancien projet open-source. (Xen App) Cette solution manque encore de fonctionnalités et de maturité.

    •    VMware

    VMware offre la solution la plus mature et la gamme de produits la plus complète disponible à ce jour dans le monde de la virtualisation.

  4. VMware
    •    VMware Workstation
    C’est la version station de travail du logiciel. Il permet la création d’une ou plusieurs machines virtuelles au sein d’un même système d’exploitation. (Généralement Windows ou Linux). Il s’agit d’une application de virtualisation fonctionnant sur une « architecture hébergée ». Il est possible de faire fonctionner plusieurs machines virtuelles en même temps, la limite correspondant aux performances de l’ordinateur hôte. Cette version gère les snapshots. Elle dispose de Virtual SMP. Elle ne dispose pas d’une console d’administration à distance. Ce produit est payant.

    •    VMware Player

    C’est une Workstation extrêmement allégée, qui permet d’utiliser une machine virtuelle, mais non pas de la créer. Cette version ne gère pas les snapshots. Elle ne dispose pas d’une console d’administration à distance. Ce produit est gratuit.

    •    VMware Server

    VMware Server est la solution serveur en mode « hébergé ». Elle permet la création d’une ou plusieurs machines virtuelles au sein d’un même système d’exploitation. (Windows ou Linux). Cette version gère les snapshots. Elle dispose de Virtual SMP. Elle dispose d’une console d’administration à distance. Elle ne propose aucune fonctionnalité avancée, du type VMotion, DRS, templates, HA… Ce produit est gratuit.

    •    VMware vSphere ( anciennement ESX)

    VMware ESX est le produit phare de Vmware. VMware Server est la solution serveur en mode « hyperviseur ». ESX est basé sur un noyau RedHat. Cette version est la plus poussée et la plus aboutie, disposant de toutes les options : Virtual SMP, VMotion, HA, DRS, snapshots, templates, Virtual Center… Cette version est payante, vendue sous diverses formes.
    Une version gratuite et limitée en termes de fonctionnalité est disponible : ESXi.

  5. Options VMware
    • Virtual SMP
      Il permet d’améliorer les performances des machines virtuelles en permettant à une seule machine virtuelle d’utiliser simultanément plusieurs processeurs physiques.
      Cela offre la possibilité d’exécuter des applications consommant le plus de ressources dans les environnements virtualisés (comme les bases de données et les applications ERP ou CRM).

    • VMotion
      Il s’agit de la capacité de déplacer des machines virtuelles d’un serveur ESX à un autre sans interruption de services de la part des machines virtuelles.
    • VMware HA
      VMware HA signifie VMware High Availability.
      A travers du concept de cluster HA (High Availability), VMware propose une solution de haute disponibilité des serveurs virtuels. Dans le cas de la défaillance d’un serveur ESX, les machines virtuelles hébergées sur ce serveur sont automatiquement redémarrées sur les autres serveurs ESX du cluster.
      Attention, il faut comprendre que la disponibilité des serveurs virtuels n’est en aucun cas de 100% avec cette solution. Cette solution ne fait que minimiser l’indisponibilité des serveurs et permet de redémarrer automatiquement, sans intervention humaine, les serveurs impactés.

    • Virtual DRS
      Virtual DRS signifie Virtual Distributed Resource Scheduler.
      VMware DRS (Distributed Resource Scheduling) et VirtualCenter permettent de gérer toutes les ressources dans un cluster. Un ordonnanceur interne à VirtualCenter permet l’allocation des ressources et la surveillance de toutes les machines virtuelles qui tournent sur les serveurs ESX composant ce cluster.
      DRS procure un placement initial automatique d’une machine virtuelle sur n’importe quel hôte du cluster et fait aussi une répartition automatiques des ressources et prend des décisions d’optimisation au fur et à mesure que des machines virtuelles ou des hôtes sont ajoutées ou supprimées du cluster.
      De façon plus générale, il faut comprendre que DRS équilibre automatiquement la charge sur les différents serveurs ESX composant un cluster.

    • VMware Consolidated Backup
      Il s’agit de l’utilitaire de sauvegarde centralisé adapté aux machines virtuelles.

    • Virtual Center
      Virtual Center est l’outil de gestion de la gamme ESX, cet outil (optionnel) comprend l’ensemble des options liées à ESX telles que VMotion, DRS et HA. Cet outil de gestion permet de gérer l’ensemble des machines virtuelles et des hôtes physiques. Il est également possible à travers de cette interface de gérer :
      o        * les alarmes de supervision (CPU/RAM) ;
      o        * les templates (enveloppes de systèmes d’exploitation pré-configurés) ;
      o        * l’utilisation des options (HA, VMotion, DRS).
      Cet outil nécessite l’installation d’une base de données (Oracle ou MS SQL Server). Pour les petites plateformes, il est possible d’utiliser Virtual Center avec un vase SQL Express. Toutes les données et les statistiques d’utilisation des ressources y sont stockées ainsi que l’ensemble de la configuration.

    • VMware Update Manager
      VMware  Update Manager est l’outil de gestion et de déploiement centralisé des mises à jour de Virtual Infrastructure. Cet outil peut mettre à jour aussi bien les serveurs hôtes ESX (ou ESXi) que les systèmes d’exploitation des machines virtuelles. (Windows, Linux pour les distributions supportées)
      Dans les faits, Update Manager gère surtout les mises à jour pour les serveurs VMware. Les machines virtuelles sont mises à jour par les mêmes outils que les machines physiques, avec des outils type WSUS.
      Cet outil nécessite l’installation d’une base de données. Elle peut être mutualisée avec la base de données de Virtual Center. L’un des points importants est l’espace disque nécessaire au stockage des mies à jour. Plus vous choisirez de mettre à jour des systèmes différents par Update Manager, plus vous aurez besoin d’espace disque pour stocker ces mises à jour.

    • Templates

      Un template est un modèle qui sert à déployer des machines virtuelles facilement et rapidement. Un template est à la base identique à une machine virtuelle. Lors du déploiement d’un template, un paramétrage automatique peut être lancé, permettant de configurer exactement la machine virtuelle comme souhaité.
      Les templates permettent des gains de temps importants dans les déploiements de serveurs et de postes de travail. Là où une installation basique  a partir d’un CD peut prendre deux à trois heures, la même installation à partir d’un template prend une demi-heure.

    • VMTools
      Les VMtools sont un jeu de drivers et de programmes qui permettent le fonctionnement optimal d’une machine virtuelle.
      Entre autres, les VMTools contiennent des drivers vidéo, réseau, permettent de partager des répertoires avec le serveur hôte, facilite l’usage de la machine virtuelle à travers l’interface Virtual Infrasctructure Client et permet un synchronisation de temps entre la machine virtuelle et le serveur hôte.
      Les programmes installés par les VMTools sont paramétrables sans difficulté.

    • VMware Converter
      VMware converter est l’outil de virtualisation de serveurs de VMware. Ce produit est disponible en deux versions : Standalone ou Enterprise.
      Les deux versions sont capables de virtualiser un serveur « à chaud ». (Néanmoins, l’applicatif doit être arrêté) La version standalone est gratuite mais présente certaines limitations.
      La version Enterprise vient en bundle avec Virtual Center et est intégré à celui-ci. Cette version est capable de faire des virtualisations « à froid ».

7 réflexions sur « Virtualisation »

  1. Dans la liste des acteurs tu peux rajouter Sun avec VirtualBox 🙂
    [http://www.virtualbox.org]

    Je le trouve très bien pour mes besoins persos, après il n’est sans doute pas assez complet pour une utilisation en entreprise, quoi que j’en sais rien 🙂

  2. J’avais pensé à VirtualBox a une époque, mais ça ne rentre pas dans la catégorie de produits concernés ici.
    Enfin, ça ne rentrait pas car apparement, dans la dernière version, certaines nouvelles fonctionnalités peuvent être intéressantes.
    M’enfin, VirtualBox reste quand même une solution de virtualisation en mode “hébergée”. La solution Citrix et la solution VMware sont plus efficaces car ce sont des solutions “hyperviseurs”. Microsoft est un peu le cul entre deux chaises sur ce point là.

    Stupidboy : je vois pas pourquoi j’aurais besoin de motivation. J’ai dit que cet article serait chiant car je pense qu’il n’intéressera pas 95% des gens qui ont le malheur de tomber ici.
    En tout cas, moi ça me plaît parce que c’est la techno sur laquelle je bosse et qui m’intéresse.

  3. Oui ORACLE Virtuabox est une solution hébergée mais reste utilisée en entreprise car gratuite (et les boites de + en + radines). Je l’utilise pour faire des installations de logiciels sur différentes versions de windows (et les fonctions de snapshots permettent de faire des installations plusieurs fois, …).
    Sinon c’est très intéressant ton article. Si j’ai bien compris, VMware HA est (comme) un cluster actif/passif tandis que Virtual DRS est un cluster actif/actif.
    @+,
    NicK.

  4. Mmmmh nan.
    VMware HA est un mélange entre le actif / actif, puisque tous les noeuds (sans problème avec plus de deux noeuds) sont actifs et hébergent les VMs et le actif / passif puisque si un noeud tombent, il y a interruption de service sur les VMs hébergées sur le noeud en question puisqu’elels sont redémarrées sur un autre.
    DRS est de la répartition de charge.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.