Xen 3.0.4 et la virtualisation matérielle

Posté par  (site web personnel) . Modéré par rootix.
Étiquettes :
0
4
jan.
2007
Virtualisation
Xen, version 3.0.4 a été annoncé fin décembre. Pas de révolution dans cette version, heureusement, car Xen fonctionne très bien en production. Pour rappel, Xen est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle.

Le code source de cette version a été largement re-travaillé pour améliorer la partie du code 'HVM' (Hardware Virtual Machine) qui permet de prendre en compte de manière identique les instructions de virtualisation matérielle d'Intel et d'AMD.

Ceci a pour conséquence une meilleure prise en compte de l'ACPI et du SMP par les systèmes invités : Linux et Windows.

Les autres points méritant une attention particulière :
  • le support par le domain0 et Xen des fonctionnalités kexec/kdump
  • le support pour les systèmes invités du framebuffer graphique
  • la mise à disposition d'une nouvelle API pour gérer Xen
  • une amélioration de Xen sur les architectures Itanium (IA64) et Power (IBM)

Tout ce travail préfigure la future version 3.0.5 qui devrait sortir prochainement et apportera les fonctions 'save/restore' au module HVM.

On ne peut qu'apprécier la prise en charge de plus en plus performante de la virtualisation matérielle par Xen.

NdM : à noter aussi l'article DeveloperNetworks IBM « Virtual Linux - An overview of virtualization methods, architectures, and implementations » paru le 29 décembre dernier

Aller plus loin

  • # IBM c'est bon mangez-en!

    Posté par  . Évalué à 5.

    A tous ceux qui s'embrouillent un peu dans toutes les solutions d'emulations, virtualisation et paravirtualisation, et qui voudraient se metttre au goût du jour, je recommende l''article sur le DeveloperNetworks d'IBM:
    c'est vite lu, c'est très accessible et ça fait le point sur l'état de l'art et l'intéret des diverses solutions existantes.

    "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

    • [^] # Re: IBM c'est bon mangez-en!

      Posté par  . Évalué à 4.

      Oui, pas mal cette article. En voyant cette article dans mon lecteur RSS. Je me demandais s'il existait une solution assez simple permettant d'utiliser la virtualisation de mon processeur tout en combinant la simplicité de qemu.

      On apprends dans cette article qu'il existe un module dans le prochain kernel 2.6.20: KVM qui effectue un travail semblable au module kqemu mais avec la virtualisation materielle et en étant plus libre.

      Je m'en vais essayer cela sur le champs.
      • [^] # Re: IBM c'est bon mangez-en!

        Posté par  . Évalué à 3.

        Tout à fait, KVM est un hyperviseur (c'est mieux qu'un virtualiseur) qui utilise Qemu en "seconde couche". Il peut utiliser autre chose mais il faut bien commencer quelque part et puis comme il est dit sur la liste "il serait stupide d'ignorer le travail incroyable effectué par Fabrice et son équipe". Effectivement ça pemet de se passer de kqemu mais c'est légèrement plus lent je crois. En revanche comme kqemu ne servait pas pour l'émulation windows, ça la rend plus rapide.

        "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: IBM c'est bon mangez-en!

          Posté par  (site web personnel) . Évalué à 4.

          kqemu sers si tu virtualise Windows dans un Linux. C'est même indispensable car Windows devient alors très réactif.

          Qemu fait donc beaucoup de chose. Par contre, je ne sais pas si Fabrice a réussi à vendre son kqemu (je n'ai jamais vu un endroit ou il était écrit la somme qu'il souhaitait). Ce que je déduis de tout cela est qu'il vaut mieux faire du libre dès le début sinon le code à peu de chance de survivre dans l'environnement Linux a long terme.
          • [^] # kqemu / KVM

            Posté par  . Évalué à 1.

            C'est vrai que je me suis un peu embrouillé avec kqemu et j'ai oublié de mentionner une différence importante avec KVM:
            KVM fait partie du noyau mais ne fonctionne que sur un processeur x86 incorporant des instructions de virtualisation au niveau matériel (c'est à dire les nouveaux processeurs d'Intel et AMD).
            Cf l'email d'un développeur http://lists.gnu.org/archive/html/qemu-devel/2006-12/msg0011(...)
            The differences between the 2 are the following:
            - KVM runs the code on the native CPU using VT/Pacifica. This is true both for user mode code and kernel mode code of the guest.
            - KVM cannot run over platform without VT/Pacfica support while Kqemu can.
            - The Kqemu does not use VT/Pacifica abilities. It runs the user mode guest code natively while the kernel mode guest code is emulated within the kernel.


            Kqemu reste donc intéressant sous Linux pour tous les anciens processeurs. D'autre part, il fonctionne aussi sous Windows (série NT) et FreeBSD.
            je ne sais pas si Fabrice a réussi à vendre son kqemu

            J'avais vu passer un email venant de 2X avec une offre.

            D'ailleurs à propos de Qemu, la version 0.9 pointe son nez:
            http://lists.gnu.org/archive/html/qemu-devel/2006-12/msg0032(...)

            "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: IBM c'est bon mangez-en!

          Posté par  . Évalué à 2.

          L'utilisation du module kqemu ne fonctionnait pas uniquement pendant l'installation de windows. Une fois celui-ci installé, il n'y avait aucun problème.
    • [^] # Re: IBM c'est bon mangez-en!

      Posté par  . Évalué à 2.

      Je ne suis pas sûr que cet article soit si bon que ça, il y a plusieurs erreurs notables dedans.

      QEMU est cité comme une solution d'émulation alors qu'il sait également faire de la virtualisation, au même titre que VMWare et Virtual PC, avec le module propriétaire QEMU Accelerator.

      Xen est décrit comme une solution ne sachant faire que de la paravirtualisation alors qu'il est également capable de faire de la virtualisation si la plate-forme matérielle le supporte.
      • [^] # Re: IBM c'est bon mangez-en!

        Posté par  (site web personnel) . Évalué à 4.

        Et puis, KVM, QEmu et Xen partagent de nombreuses ligne de code. Et QEmu partage aussi avec Boch...

        Bref, ce sont plus des projets qui se consolident les uns les autres petit à petit et qui au final, vont nous donner une grande souplesse d'utilisation et de réglage des possibilités.
        • [^] # Commentaire supprimé

          Posté par  . Évalué à 4.

          Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Re: IBM c'est bon mangez-en!

            Posté par  . Évalué à 2.

            Pour installer windows avec KVM, qui est grandement basé sur qemu, utilise peut-être l'option -no-kwm comme l'on utilise l'option -no-kqemu pour installer windows dans qemu.
          • [^] # Re: IBM c'est bon mangez-en!

            Posté par  . Évalué à 3.

            J'ai testé kvm-8 sur un X2. L'install de XP ne m'a pas posé de probleme ni son utilisation ( faut juste pas oublier le -no-acpi dans les 2 cas ). Et c'est vrai que c'est rapide.
      • [^] # Re: IBM c'est bon mangez-en!

        Posté par  . Évalué à 1.

        C'est normal de simplifier dans un article de vulgarisation, ça ne m'a pas semblé des erreurs involontaires. Evidement, ceux que le sujet intéressent doivent consulter les liens "Ressources" en bas de page (qui pointent aussi sur des solutions non-mentionnées dans l'article).

        "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

        • [^] # Re: IBM c'est bon mangez-en!

          Posté par  . Évalué à 5.

          L'article (qui n'est pas d'IBM mais d'Emulex, une société spécialisée dans la virtualisation) aurait pu rester aussi court et accessible sans ces erreurs, qu'elles soient volontaires ou pas.

          Dans l'état, il induit en erreur sur les réelles possibilités des différentes solutions et présente les solutions commerciales comme les seules étant à même de répondre à une problématique de virtualisation.

          QEMU est écarté puisque présenté comme un émulateur, donc très lent (« a 100 times slowdown is not uncommon », « actual speed difference can be on the order of 1000 times slower »), ce qui est faux en utilisant le module dont j'ai parlé.

          Xen est également écarté puisqu'il est dit que des modifications doivent être effectuées sur le système invité (« only those operating systems that are patched can be virtualized over Xen. », « from the perspective of wide support (...), it's a clear disadvantage. »), ce qui est également faux si on utilise la virtualisation matérielle.
          • [^] # Re: IBM c'est bon mangez-en!

            Posté par  (site web personnel) . Évalué à 2.

            D'ailleurs j'ai remarqué que Qemu est très souvent sous-évalué et mis dans la catégorie émulateur alors qu'il a trois modes de fonctionnement.
          • [^] # les solutions commerciales

            Posté par  . Évalué à 1.

            présente les solutions commerciales comme les seules étant à même de répondre à une problématique de virtualisation.


            Je doute que quelqu'un réellement intéressé se borne à cette lecture. Rappelons la conclusion de l'article: you can choose the approach that works best for you and your application.
            Mais bref, ça n'a pas d'intéret.
            Cet article clarifie un certains nombre de points. Il est court, écrit dans un anglais compréhensible, avec peu dejargon. Je maintiens qu'il est utile pour "ceux qui s'embrouillent un peu". Et il offre des liens complémentaires pour ceux qui en veulent plus.

            "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

  • # xen 3

    Posté par  (site web personnel) . Évalué à 3.

    c'est vrai yen a qui osent utiliser xen 3 en environnement de production? (ceci n'est pas un troll déguisé en question serieux, c'est plutot l'inverse)
  • # XEN et Microsoft

    Posté par  (Mastodon) . Évalué à 2.

    J'ai assisté dernièrement à une présentation "peu convainquante" des produits de virtualisation microsoft et à plusieurs reprise j'ai entendu l'intervenant de chez M$, mettre en avant le partenariat entre Microsoft et XEN.
    Quelqu'un sait-il ce qu'il en est réelement? Xen restara t'il indépendant ou ne risque-t-il pas d'y avoir les mêmes problèmes de brevet qu'avec les solutions Novell?
    • [^] # Re: XEN et Microsoft

      Posté par  (site web personnel) . Évalué à 1.

      Un consultant nous a dit que le produit M$ ne supportait pas bien la charge au delà de 5 VM. Et qu'ils attendent impatiemment le dernier patch...
      Quelqu'un confirme ou c'est un troll velu évadé?
  • # Aime pas la virtualisation. :-(

    Posté par  . Évalué à 2.

    Salut,

    est-ce que quelqu'un a un argument valable pour me montrer nque la virtualisation a un réel intérêt ?

    ça ne ressemble qu'à un gros pansement sur l'amputation d'une jambe.

    C'est à dire émuler des choses au lieu de faire des versions compatibles pour chaque système.

    Après, on te dit : ah ben tu veux faire marcher ton jeu ? Ben t'as qu'à utiliser wine ou transgaming cedega.
    Et pour l'avoir nativement, ben on peut toujours brosser martine, et plus ce type d'émulateurs existent, et moins on est sûr de voir tourner un jour certains logiciels nativement.

    L'émulation, c'est la fainéantise...mais malheureusement la seule option actuellement pour certains.
    • [^] # Re: Aime pas la virtualisation. :-(

      Posté par  (site web personnel) . Évalué à 4.

      Ta question concerne la virtualisation ou l'émulation ?

      Les deux sont intéressants, mais pas pour la même chose. Par exemple, l'amulation est bien pour un développeur, il peut tester sans avoir n machine différente (mais pour un admin système, cela peut être bien aussi pour tester). La virtualisation, cela permet par exemple d'avoir plusieurs serveurs sur la même machine physique.
    • [^] # Re: Aime pas la virtualisation. :-(

      Posté par  . Évalué à 1.

      En utilisation courante d'ordinateur, la virtualisation n'a sans doute aucun intéret. Voilà maintenant des exemples réels, puisque c'est ce que je fais avec en ce moment:
      - support technique - ça épate l'interlocuteur qui pense que je connais par coeur tous les OS.
      - test de programmes, avec comparaison "visuelle"
      - simulation de réseaux (très pratique)
      - ici, la comptable, la responsable de la paye, les documentalistes et l'ingénieur du son lancent ce dont il ont besoin sans m'emmerder
      - en environnement client léger, pour les mêmes raisons et les mêmes personnes que ci-dessus. Les machines virtuelles tournent sur le serveur Linux et un client VNC accède à l'application. Plus commode que Windows + RDP.

      D'ailleurs sur un bi-proc la virtualisation ne ralentit rien (c'est imperceptible en bureautique). Bien plus pratique que de rebooter.

      "La liberté est à l'homme ce que les ailes sont à l'oiseau" Jean-Pierre Rosnay

      • [^] # Re: Aime pas la virtualisation. :-(

        Posté par  . Évalué à 2.

        On peux même parler de datacenter en production.

        Attendez avant de vous exiter, j'ai pas dit de mettre _tout_ en virtualisation, pas d'excès non plus hein.

        - Mais pour faire les dev / validation / préprod, c'est un avantage indéniable.
        - Dans le plan stratégique du système d'information, il peut avoir sa place également. En effect, correctement étudié, il peut apporter souplesse et réduction de cout (le cout matériel n'est pas le seul cout à prendre en compte, c'est même le plus faible).

        On peut même imaginer dans une certaine mesure, de pouvoir avoir une réactivité sur incident vraiment excellente avec ces système.

        Comme d'habitude, une étude appropriée de chaque situation doit être faite, et ne pas foncer tête baissée.
    • [^] # Re: Aime pas la virtualisation. :-(

      Posté par  . Évalué à 3.

      mauvais exemple. Wine n'est pas un emulateur (Wine Is Not an Emulator). C'est une réimplémentation libre de l'API win32. Mais bref, passons.

      La virtualisation a beaucoup d'interet et est déjà enormément utilisé dans le monde professionnel.

      Une utilisation : T'achete un gros serveur avec plein de CPU de mémoire et tout et tout. Quand t'as besoin d'une nouvelle machine pour faire des test, il suffit de créer une machine virtuelle sur le gros serveur, ca te fait une belle machine toute neuve en 5 minutes. Dans ma boite on l'utilise beaucoup. Ca evite de courrir apres les serveur libre quand on a besoin d'une nouvelle machine pour tester tel ou tel machin.

      Autre utilisation : de l'hebergement. Tu diminues les couts en partagent les serveurs entre plusieurs clients grace a la vitualisation.

      Si ce n'était que de la fainéantise, VMWare, QEmu, xen et companie n'existerait pas a un stade aussi avancé.
  • # paravirt_ops

    Posté par  . Évalué à 1.

    Quand est il du support de la nouvelle API paravirt_ops du noyau qui va être (est ?) incluse dans le noyau 2.6.20 ? L'idée me semlait interressante.
  • # Performances de la virtualisation hardware

    Posté par  . Évalué à 2.

    la virtualisation hardware est elle aussi interressante que ca ?

    Il y a quelque temps j'avais lu des articles qui expliquait que pour le moment (avec les instructions de virtualisation actuelle), on avait les memes perfs qu'une virtualisation software (vmware, ...).

    En effet le support hardware ne fait pas tout et loin de la. Si je me souviens bien il y avait notament de grosse perte au niveau de la gestion de la memoire : la mmu est partagée entre les differentes machines virtuelles ce qui implique beaucoup d'exception, sauvegarde/restoration.
    • [^] # Re: Performances de la virtualisation hardware

      Posté par  . Évalué à 1.

      Je suppose que tu fais référence à cet article
      "A Comparison of Software and Hardware Techniques for x86 Virtualization"

      http://www.vmware.com/pdf/asplos235_adams.pdf
      • [^] # Re: Performances de la virtualisation hardware

        Posté par  . Évalué à 2.

        D'après la FAQ de Xen, il semblerait que la virtualisation hardware couplée à la paravirtualisation (pour les entrées/sorties) permette d'obtenir des performances quasi-natives sur processeurs Intel VT sans modifier l'OS invité. Mais ils ne donnent pas de chiffres vérifiables.

        Source : http://www.xensource.com/xen/xen/faqs.html

        Q: How does Xen differ from other virtualization technologies?
        A :
        [...] Xen runs unmodified guests such as Windows, on “the bare metal” at native processor speed on Intel VT enabled hardware. Paravirtualization in this case provides I/O performance that Intel VT cannot provide, while still using the best in hardware support for accelerated performance of virtualization.

        Q: What is paravirtualization?
        A :
        [...] For Windows and other guests that are unaware of Xen, the hardware virtualization of Intel VT, combined with paravirtualizing device drivers in Windows, allows Xen to achieve the same high level of performance as virtualized Linux guests.

        Par contre, en paravirtualisation (donc sans assistance matérielle et avec modification du système invité), il y a des chiffres, et là Xen offre des performances quasi-natives.

        Source : http://www.cl.cam.ac.uk/research/srg/netos/xen/performance.h(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.