2012-07-20 5 views
2

Je suis un débutant avec Xen.Je veux savoir comment fonctionne Xen. C'est vraiment un casse-tête face au code et je ne sais pas par où commencer. Y a-t-il des articles faciles pour moi?Par où commencer avec Xen?

Répondre

13

Puisque vous mentionnez regardant le code, je suppose que vous voulez comprendre les détails techniques de Xen et non pas seulement simplement comment démarrer une machine virtuelle.

Comme pour tous les problèmes, commencez par quelque chose de simple, puis faites votre chemin. Quelques pointeurs:

  1. Assurez-vous d'avoir l'expérience requise sous votre ceinture. En particulier, forte affinité C et Linux, mais aussi pagination x86 et fonctionnement de la mémoire virtualisée.

  2. Assurez-vous d'avoir une bonne compréhension de l'architecture générale de Xen. Par exemple, paravirtualisés par rapport à la virtualisation pris en charge le matériel, le rôle particulier du domaine de la gestion (Dom0) par rapport à des domaines non privilégiés (DomU), etc.

  3. Enquêter sur les composants Xen en cours d'exécution dans Dom0:

    • La bibliothèque Xen contrôle (libxc) qui implémente une grande partie de la logique relative aux hypercalls et ajoute du sucre autour de ceux-ci (voir tools/libxc).

    • Le couteau suisse pour Xen administration, à savoir la bibliothèque légère Xen (LibXL). Cette bibliothèque remplace l'outil obsolète xm par l'outil xl et s'occupe de toutes vos tâches de maintenance telles que démarrer/arrêter une machine virtuelle, répertorier toutes les machines virtuelles en cours d'exécution, etc. Pour toutes ces opérations, elle fonctionne en parallèle avec la bibliothèque libxc. (LibXL vit à tools/libxl.)

    • Le Xenstore est une structure de données arborescente à partir de laquelle tous les domaines en cours d'exécution peuvent récupérer et stocker des données. Ceci est nécessaire car toutes les E/S passent par Dom0 (pas l'hyperviseur!), Et les domaines doivent communiquer avec Dom0 comment ils vont transmettre les E/S. (Regardez dans tools/xenstore.) Vous pouvez inspecter le Xenstore avec un outil tel que xenstore-ls.

    • les pilotes du noyau blkback/netback qui passent les données sur canaux partagés à des machines virtuelles. (Vous trouverez ces pilotes dans un noyau Linux récent (par exemple> = v3.0) qui a ce qu'on appelle le support PVOPS). Regardez le démon de la console (tools/console). Notez que parfois la console Qemu est réellement utilisée. Qemu apparaît également dans les images en tant que backend par défaut si vous choisissez un stockage virtuel sauvegardé sur fichier pour une machine virtuelle.

  4. expérience avec le 'Xen sens' de la communication inter-VM: tables de subvention, les canaux d'événements et la Xenstore. Avec ces principes fondamentaux, vous pouvez créer votre propre canal partagé entre les machines virtuelles. Vous pouvez le faire, par exemple, en écrivant un module noyau que vous utilisez dans deux domaines pour les laisser se parler.

  5. Je peux aussi donner quelques indications à la source que vous pouvez vérifier:

    • xen/xen/include/public/xen.h vous donnera une liste de tous les commentaires hypercalls avec ce qu'ils font.

    • xen/xen/include/xen/mm.h vous donne une introduction aux différentes terminologies de mémoire utilisées par Xen (c'est-à-dire, les adresses réelles et virtualisées et les numéros de pages). Si vous ne comprenez pas ces différences, lire le code de l'hyperviseur sera sûrement frustrant.

    • xen/xen/include/asm-x86/config.h donne un aperçu de la mise en mémoire de Xen.

    • xen/tools/libxc/xenctrl.h exporte une grande liste d'opérations de contrôle de domaine intéressantes, ce qui donne une vue abstraite de la division des tâches entre Dom0 et l'hyperviseur.

Last but not least, le livre 'Le guide définitif de l'hyperviseur Xen' par David Chisnall est fortement recommandé. Il couvre tous ces sujets et plus de manière approfondie et technique avec beaucoup d'exemples de code.

Les listes de diffusion wiki et développeur Xen sont aussi une excellente ressource pour comprendre Xen.

Si vous avez une question plus précise, je peux vous donner une réponse plus précise.

+0

Bonjour Hugo. Je cherchais de la documentation pour la bibliothèque de contrôle Xen (libxc) et je suis venu ici. Je ne peux obtenir aucune documentation décente ou même aucune référence pour la libxc sur le net. Pouvez-vous me montrer une ressource qui parle de la libxc? merci – abhi

0

http://wiki.debian.org/Xen

Pour moi, c'est le meilleur et le tutoriel plus concret avec des exemples et étape par étape pour commencer. Je l'ai utilisé quand j'ai commencé.

Ensuite, vous pouvez lire beaucoup plus sur la documentation Xen elle-même ou sur quelques livres, mais comme point de départ pour installer et tester facilement Xen, je choisis ce tutoriel de Debian Wiki.

0

Si vous voulez juste un aperçu, vous pouvez lire ceci: http://wiki.xenproject.org/wiki/Xen_Project_Beginners_Guide.
Ceci vous présentera l'hyperviseur Xen, suggérera une configuration pour configurer les machines virtuelles, fournira des informations sur le réseau et enfin des détails sur les outils pour la gestion des machines virtuelles.

Cette documentation est d'obtenir le Xen spécifiquement sur ubuntu (Plus important encore, ça marche!) https://help.ubuntu.com/community/Xen

===

Cependant, si vous voulez aller au niveau suivant et comprendre le fonctionnement de Xen; Xen architecture, la gestion de la mémoire, la gestion des périphériques, la planification CPU, etc., je vous recommande de lire le livre "Le Guide définitif de l'hyperviseur Xen".

+0

Pourriez-vous fournir un résumé en plus du lien? – rapvelopment