Beruflich Dokumente
Kultur Dokumente
Copyright 2007 Red Hat, Inc. Ce guide contient des informations sur la configuration, la cration et le contrle de systmes d'exploitation invits sur Red Hat Enterprise Linux 5, en utilisant virsh, xm, vmm et xend. Nous vous invitons vivement nous crire si vous trouvez des fautes de frappe dans le Guide de Virtualisation ou si vous souhaitez nous faire part de vos suggestions pour amliorer ce manuel. Pour ce faire, veuillez nous soumettre un rapport par l'entremise de Bugzilla ( l'adresse suivante : http://bugzilla.redhat.com/bugzilla/) aprs le produit Red Hat Enterprise Linux et le composant Virtualization_Guide.
1801 Varsity Drive Raleigh, NC 27606-2072 USA Phone: +1 919 754 3700 Phone: 888 733 4281 Fax: +1 919 754 3701 PO Box 13588 Research Triangle Park, NC 27709 USA Documentation-Deployment Copyright 2007 by Red Hat, Inc. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, V1.0 or later (the latest version is presently available at http://www.opencontent.org/openpub/). Distribution of substantively modified versions of this document is prohibited without the explicit permission of the copyright holder. Distribution of the work or derivative of the work in any standard (paper) book form for commercial purposes is prohibited unless prior permission is obtained from the copyright holder. Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries. All other trademarks referenced herein are the property of their respective owners. The GPG fingerprint of the security@redhat.com key is: CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E
Guide de virtualisation 2.5. Arrt d'un domaine ............................................................................32 2.6. Rtablir un domaine ..........................................................................32 2.7. Suspendre un domaine ......................................................................33 2.8. Reprendre un domaine ......................................................................33 2.9. Redmarrer un domaine ....................................................................33 2.10. Renommer un domaine ...................................................................33 2.11. Mettre en pause un domaine ............................................................33 2.12. Reprendre un domaine (aprs une pause) ........................................33 2.13. Conversion d'un nom de domaine en un ID de domaine .....................34 2.14. Convertion d'un ID de domaine en un nom de domaine .....................34 2.15. Configuration de l'allocation mmoire ................................................34 2.16. Configuration de la mmoire maximum .............................................34 2.17. Configuration du nombre de VCPU ...................................................34 2.18. Immobiliser un VCPU ......................................................................35 2.19. Migration d'un domaine ....................................................................35 3. Contrles et diagnostics ...............................................................................35 3.1. Effectuer un vidage mmoire (Core Dump) .........................................35 3.2. Contrle des domaines en temps rel .................................................36 3.3. Affichage des tats de domaine .........................................................36 4. Affichage du temps de fonctionnement ..........................................................37 5. Affichage des informations VCPU .................................................................37 6. Affichage des informations de domaine .........................................................37 7. Affichage des priphriques TPM ..................................................................38 8. Affichage du fichier journal xend ...................................................................38 9. Affichage du tampon des messages ..............................................................38 10. Affichage des informations sur les tats ACM ...............................................38 11. Affichage des Vnet .....................................................................................39 12. Affichage des priphriques blocs virtuels ....................................................39 13. Affichage des interfaces rseau virtuelles ....................................................39 14. Cration d'un nouveau priphrique rseau virtuel .......................................39 15. Arrt brutal d'un priphrique rseau virtuel .................................................40 16. Cration d'un nouveau Vnet ........................................................................40 17. Arrt brutal d'un Vnet ..................................................................................40 18. Cration d'une tiquette de scurit de domaine ..........................................40 19. Tester les ressources d'un domaine ............................................................41 20. Affichage des ressources systme ..............................................................41 21. Configuration de la programmation du crdit ................................................41 22. Cration d'un nouveau priphrique bloc virtuel ...........................................41 23. Arrt brutal d'un priphrique bloc virtuel .....................................................42 24. Scurit .....................................................................................................42 24.1. Supprimer une tiquette de scurit de domaine ...............................42 24.2. Cration d'une tiquette de scurit de ressources ............................42 24.3. Supprimer une tiquette de scurit de ressources ............................42 24.4. Configuration du contrle d'accs .....................................................43 24.5. Cration d'une politique ...................................................................43 24.6. Chargement d'une politique ..............................................................43 24.7. Cration d'une politique pour la configuration de dmarrage ...............44 24.8. Cration d'une tiquette ...................................................................44 24.9. Affichage des tiquettes de politique .................................................44 24.10. Affichage des tiquettes de scurit de domaine .............................44 v
Guide de virtualisation 24.11. Affichage des tiquettes de scurit de ressources ..........................44 24.12. Configuration de la scurit de contrle d'accs ..............................45 24.13. Compilation d'une politique de scurit ...........................................45 24.14. Chargement de la politique de scurit ...........................................45 24.15. Configuration d'une politique de scurit de dmarrage ...................45 24.16. Affichage des tiquettes de scurit ................................................45 24.17. Attacher une tiquette de scurit ...................................................46 18. Gestion des machines virtuelles avec le gestionnaire de machines virtuelles .........47 1. Architecture du gestionnaire de machines virtuelles .......................................47 2. La fentre Ouvrir une connexion ...................................................................47 3. La fentre Gestionnaire de machines virtuelles ..............................................48 4. La fentre Dtails d'une machine virtuelle ......................................................48 5. La console graphique d'une machine virtuelle ................................................49 6. Dmarrage du gestionnaire de machines virtuelles .........................................50 7. Cration d'une nouvelle machine virtuelle ......................................................51 8. Restauration d'une machine enregistre ........................................................60 9. Affichage des dtails d'une machine virtuelle .................................................62 10. Configuration de la surveillance des tats ....................................................65 11. Affichage de l'ID du domaine .......................................................................67 12. Affichage de l'tat d'une machine virtuelle ....................................................68 13. Affichage des CPU virtuels .........................................................................69 14. Affiche de l'utilisation CPU ..........................................................................70 15. Affichage de l'utilisation mmoire ................................................................72 19. Rsolution des pannes de la Virtualisation Red Hat ..............................................74 1. Vue d'ensemble sur les fichiers journaux et emplacements .............................74 2. Descriptions des fichiers journaux .................................................................74 3. Emplacements importants dans les rpertoires ..............................................75 4. Outils de rsolution des pannes ....................................................................75 5. Rsolution des pannes avec les fichiers journaux ...........................................77 6. Rsolution des pannes avec la console srie .................................................78 7. Accs la console de l'invit paravirtualis ....................................................78 8. Accs la console de l'invit pleinement virtualis .........................................78 9. Implementation de la persistance Lun ...........................................................79 10. Considrations avec SELinux .....................................................................80 11. Accs aux donnes sur l'image disque de l'invit ..........................................81 12. Situations frquentes dans la rsolution des pannes ....................................82 13. Erreurs de priphriques loop .....................................................................82 14. Erreurs de cration d'invits ........................................................................83 15. Erreurs de la console srie .........................................................................83 16. Erreurs de pont rseau ...............................................................................83 17. Configurations des ordinateurs portables .....................................................85 18. Dmarrage automatique des domaines au lancement du systme ................86 19. Modification de Domain0 ............................................................................87 20. Fichiers de configuration des invits ............................................................88 21. Clonage des fichiers de configuration des invits ..........................................88 22. Creation d'un script pour gnrer des adresses MAC ...................................89 23. Configuration de la migration en direct de machines virtuelles .......................89 24. Interprtation des messages d'erreur ...........................................................90 25. Ressources de rsolution des pannes en ligne .............................................93 20. Ressources supplmentaires ..............................................................................95 vi
1. Sites Web utiles ...........................................................................................95 2. Documentation installe ...............................................................................95 A. Historique des versions ........................................................................................97 B. Exercice 1 ...........................................................................................................98 C. Exercice 2 ......................................................................................................... 104
sur l'hte. Le priphrique sur l'hte contient l'image disque complte pour l'invit et inclut gnralement des tables de partition, de multiples partitions et potentiellement des volumes physiques LVM. Les interfaces de mise en rseau virtuelle dmarrent sur l'invit. Les autres interfaces peuvent dmarrer sur l'invit comme des cartes internet ethernet virtuelles (VNIC, de l'anglais Virtual Ethernet Internet Cards). Ces interfaces rseau sont configures avec une adresse de contrle d'accs au mdia (MAC, de l'anglais Media Access Control) virtuelle persistante. L'installation par dfaut d'un nouvel invit installe la VNIC avec une adresse MAC slectionne au hasard partir d'un groupement rserv de plus de 16 millions d'adresses, ainsi il y a vraiment peu de chances que deux invits reoivent la mme adresse MAC. Les sites complexes avec beaucoup d'invits peuvent allouer des adresses MAC manuellement afin de s'assurer qu'elles soient uniques sur le rseau. Chaque invit a une console texte virtuelle qui se connecte l'hte. Vous pouvez rediriger les logins invits et les sorties de console vers la console texte. Vous pouvez configurer les invits pour qu'ils utilisent une console graphique virtuelle qui correspond la console vido normale sur l'hte physique. Vous pouvez faire cela pour les invits pleinement virtuels et partiellement virtuels. Elle emploie les fonctionnalits de l'adaptateur graphique standard telles que la messagerie de dmarrage, le dmarrage graphique, de multiples terminaux virtuels et peut dmarrer le systme X Window. Vous pouvez galement utiliser le clavier graphique pour configurer le clavier et la souris virtuels. Les invits peuvent tre identifis avec l'une des ces trois identits : le nom de domaine (domain-name), l'identit (domain-id) ou L'UUID. Le domain-name est une chane de caractres qui correspond un fichier de configuration invit. Le domain-name est utilis pour dmarrer les invits et lorsque l'invit est en cours d'excution, le mme nom est utilis pour l'identifier et le contrler. Le domain-id est unique. C'est un nombre non persistant qui est assign un domaine actif et est utilis pour l'identifier et le contrler. L'UUID est un identificateur unique, persistant qui est contrl partir du fichier de configuration de l'invit. Il garantit dans le temps l'identit de l'invit par des outils de gestion systme. Il est visible par l'invit lorsqu'il est en cours d'excution. Un nouveau UUID est automatiquement assign chaque invit avec les outils systme lorsque l'invit est install pour la premire fois.
Pour dmarrer les invits de virtualisation complte sur des systmes avec du matriel assist par des machines virtuelles (HVM, de l'anglais Hardware-assisted Virtual Machine), Intel ou des plateformes AMD, vous devez vous assurer que votre CPU dispose des capacits requises. Pour vrifier si vous avez les indicateurs CPU pour le support Intel, saisissez ce qui suit :
grep vmx /proc/cpuinfo
La sortie affiche :
flags :
fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht
Si un indicateur vmx apparat, vous disposez alors du support Intel. Pour vrifier si vous avez les indicateurs CPU pour le support AMD, saisissez ce qui suit :
grep svm /proc/cpuinfo cat /proc/cpuinfo | grep vmx
La sortie affiche :
flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat pse36 clflush dt acpi mmx fxsr sse sse2 ss ht
Remarque
En plus de vrifier les indicateurs CPU, vous devez activer la virtualisation complte au sein de votre systme BIOS.
Avec la Virtualisation Red Hat, les htes 32 bit dmarrent uniquement des invits paravirtuels 32 bit. Les htes 64 bit dmarrent seulement des invits paravirtuels 64 bit. Un hte 64 bit de virtualisation complte, dmarre les invits 32 bit, 32 bit PAE, 64 bit. Un hte 32 bit de virtualisation complte, dmarre les invits PAE et non PAE pleinement virtualiss. Le noyau de Virtualisation Red Hat Enterprise Linux ne supporte pas plus de 32 Go de mmoire pour les systmes x86_64. Si vous devez dmarrer le noyau de virtualisation sur des systmes avec plus de 32 Go de mmoire physique, vous devez ajouter mem=32G la ligne de commande du noyau. Cet exemple illustre comment activer le paramtre appropri dans le fichier grub.conf :
title Red Hat Enterprise Linux Server (2.6.18-4.elxen) root (hd0, 0) kernel /xen.gz-2.6.18-4-el5 mem=32G module /vmlinuz -2.6.18-4.el5xen ro root=LABEL=/ module /initrd-2.6.18-4.el5xen.img
PAE (de l'anglais Physical Address Extension) est une technologie qui augmente la quantit de mmoire virtuelle ou physique disponible aux utilisateurs d'applications. La Virtualisation Red Hat requiert que PAE soit actif sur vos systmes. L'architecture 32 bit de la Virtualisation Red Hat avec PAE supporte jusqu' 16 Go de mmoire physique. Nous vous recommandons d'avoir au moins 256 mga-octets de mmoire RAM pour chaque invit dmarr sur le systme. La Virtualisation Red Hat active les machines x86/64 pour adresser jusqu' 64 Go de mmoire physique. Les noyaux de Virtualisation Red Hat ne dmarreront pas sur un systme non PAE. Pour dterminer si votre systme supporte PAE, saisissez les commandes suivantes :
grep pae /proc/cpuinfo
Si votre sortie correspond (ou ressemble) celle ci-dessus, cela signifie que votre CPU supporte PAE. Si l'invite de commande n'affiche rien, cela signifie que votre CPU ne supporte pas PAE.
xend
Le dmon de contrle xend effectue des fonctions de gestion systme en relation aux machines virtuelles. Ce dmon contrle les ressources virtualises, et xend doit tre en cours d'excution pour interagir avec les machines virtuelles. Avant de dmarrer xend, vous devez spcifier les paramtres d'opration en modifiant le fichier de configuration xend xend-config.sxp qui se situe dans le rpertoire etc/xen.
rhgb quiet
Si vous paramtrez vos entres grub Linux pour qu'elles refltent cet exemple, le chargeur de dmarrage charge l'hyperviseur, l'image initrd et le noyau Linux. tant donn que l'entre du noyau est la premire des entres, le noyau se charge en mmoire en premier. Le chargeur de dmarrage envoie (et reoit) des arguments en ligne de commande vers et en provenance de l'hyperviseur et du noyau Linux. Cet exemple d'entre illustre comment restreindre la mmoire du noyau Linux de Domain0 800 Mo :
title Red Hat Enterprise Linux Server (2.6.18-3.el5xen) root (hd0; 0) kernel /xen.gz.-2.6.18-3.el5 dom0_mem=800M module /vmlinuz-2.6..18-3.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.18-3. el5xenxen.img
rhgb quiet
Vous pouvez utiliser les paramtres GRUB pour configurer l'hyperviseur de Virtualisation :
mem
Active le premier port srie dans le systme de faon agir comme une console srie (com2 est assign au prochain port, et ainsi de suite...).
dom0_mem
dom0_max_vcpus
Alterne l'hyperviseur ACPI avec l'hyperviseur et domain0. Les options du paramtre ACPI incluent :
/* /* /* /* /* /* **** Linux config options: propagated to domain0 ****/ "acpi=off": Disables both ACPI table parsing and interpreter. "acpi=force": Overrides the disable blacklist. "acpi=strict": Disables out-of-spec workarounds. "acpi=ht": Limits ACPI from boot-time to enable HT. "acpi=noirq": Disables ACPI interrupt routing.
*/ */ */ */ */
noacpi
10
Le guestdomain1 est le fichier de configuration pour le domaine que vous dmarrez. L'option -c permet de se connecter la console aprs le dmarrage.
11
La commande chkconfig xendomains on ne dmarre pas automatiquement les domaines ; la place, elle dmarre les domaines au prochain dmarrage.
chkconfig xendomains off
Arrte tous les domaines de Virtualisation Red Hat en cours d'excution. La commande chkconfig xendomains off arrte les domaines au prochain dmarrage.
12
apic
mmoire
vcpus console
nic
vif
disque
dhcp netmask
gateway
acpi
lment
14
15
Vous pouvez utiliser la commande de migration xm pour effectuer une migration en direct :
xm migrate domain-id -l [destination domain]
Il est possible que vous ayez vous reconnecter la console du domaine sur la nouvelle machine. Vous pouvez utiliser la commande de domaine xm pour vous reconnecter.
16
est un script, invoqu pour toutes les interfaces virtuelles sur le domaine. Il configure les rgles du pare-feu et peut ajouter vif au pont appropri.
vif-bridge
Afin que la Virtualisation Red Hat fonctionne sur votre rseau, vous pouvez utiliser d'autres scripts, tels que network-route, network-nat, vif-route, et vif-nat qui vous aideront la configuration. Ces scripts peuvent aussi tre remplacs par des variantes personnalises.
17
18
19
1. Connexion un hyperviseur
Vous pouvez utiliser virsh pour initier une session hyperviseur :
virsh connect <name>
O <name> est le nom de la machine de l'hyperviseur. Si vous voulez initier une connexion en lecture-seule, excutez la commande ci-dessus avec readonly.
Cette commande renvoie les informations du domaine (au format XML) stdout. Si vous sauvegardez les donnes sur un fichier, vous pouvez utiliser l'option create pour recrer la machine virtuelle.
20
Lorsqu'un domaine est dans un tat suspendu, il consomme encore la mmoire RAM du systme. De plus, il n'y a pas d'E/S de disque ou rseau lorsque le domaine est suspendu. Cette opration est immdiate et la machine virtuelle doit tre redmarre avec l'option resume.
Cette opration est immdiate et les paramtres de la machine virtuelle sont prservs dans un cycle suspend et resume.
Cette commande arrte la machine virtuelle spcifie et enregistre les donnes dans un fichier. Cette opration peut prendre du temps tant donn la quantit de mmoire utilise par votre machine virtuelle. Vous pouvez restaurer l'tat de la machine virtuelle avec l'option restore.
Cette commande redmarre la machine virtuelle enregistre. Cette opration peut prendre du temps. Le nom de la machine virtuelle et l'UUID sont prservs mais on leur assigne un nouvel id.
21
Vous pouvez contrler le comportement au dmarrage de la machine virtuelle en modifiant le paramtre on_shutdown du fichier xmdomain.cfg.
Vous pouvez contrler le comportement au dmarrage de la machine virtuelle en modifiant le paramtre on_reboot du fichier xmdomain.cfg.
Cette commande effectue un arrt brutal immdiat et stoppe toutes sessions de domaine invit (cela pourrait entraner la corruption de systmes de fichiers encore utiliss par la machine virtuelle). N'utilisez l'option destroy que lorsque le systme d'exploitation de la machine virtuelle ne rpond plus. Pour une machine virtualise partiellement, utilisez l'option shutdown.
22
Voici les informations du noeud et les machines qui supportent le processus de virtualisation.
L'option inactive liste les domaines inactifs (les domaines qui ont t dfinis mais qui actuellement ne sont pas actifs). Le domaine -all liste tous les domaines, qu'ils soient actifs ou pas. Votre sortie devrait ressembler celle-ci :
ID 0 1 2 3 Name Domain0 Domain202 Domain010 Domain9600 State running paused inactive crashed
shutdown liste les domaines qui sont en cours d'arrt shutoff crashed liste les domaines qui sont compltement arrts liste les domaines qui ont chou
O [vcpu] correspond au nombre de VCPU virtuels et [cpulist] liste le nombre de CPU physiques.
Notez que le nouveau nombre ne peut pas excder la quantit de CPU que vous avez spcifie lorsque vous avez cr la machine virtuelle.
Vous devez spcifier [count] en kilo-octets. Remarquez que le nouveau nombre ne peut pas excder la quantit que vous avez spcifie lors de la cration de la machine virtuelle. Les valeurs infrieures 64 Mo ne fonctionneront probablement pas. Vous pouvez ajuster la mmoire de la machine virtuelle lorsque c'est ncessaire.
Vous devez spcifier [count] en kilo-octets. Remarquez que le nouveau nombre ne peut pas excder la quantit que vous avez spcifie lors de la cration de la machine virtuelle. Les valeurs infrieures 64 Mo ne fonctionneront probablement pas. La mmoire maximum n'affecte pas l'utilisation courante de la machine virtuelle ( moins que la nouvelle valeur soit infrieure, ce qui devrait rduire l'utilisation de la mmoire).
min-mem
dom0 cpus
enable-dump
external-migration-tool
logfile
loglevel
network-script
26
lment xend-http-server
Description Active le serveur de gestion des paquets de flux http (par dfaut ce paramtre est dsactiv). Active le serveur de sockets de domaine unix (un serveur de sockets est un point d'accs de communication qui traite les connexions rseau de bas niveau et accepte ou rejette les conneen relationxions entrantes). Active le serveur de dlocalisation pour les migrations entre-machines (par dfaut ce paramtre est dsactiv). Dtermine l'emplacement o la commande xend-unix-server envoie les donnes (la valeur par dfaut est var/ lib/xend/xend-socket). Dtermine le port utilis par le serveur de gestion http (la valeur par dfaut est 8000). Dtermine le port utilis par le serveur de dlocalisation (la valeur par dfaut est 8002). Dtermine les adresses de la machine virtuelle qui sont autorises pour la migration systme. Dtermine l'adresse laquelle le serveur de sockets de domaine est li.
xend-unix-server
xend-relocation-server
xend-unix-path
xend-port
xend-relocation-port
xend-relocation-address
xend-address
Aprs avoir configur ces paramtres d'opration, vrifiez que xend est en cours d'excution et, si ce n'est pas le cas, initialisez le dmon. l'invite de commande, vous pouvez dmarrer le dmon xend en saisissant ce qui suit :
service xend start
27
Cela arrte le dmon en cours d'excution. Vous pouvez utiliser xend pour redmarrer le dmon :
service xend restart
Le dmon dmarre une nouvelle fois. Vous pouvez vrifier le statut du dmon xend.
service xend status
28
1. Fichier de configuration xm
Les paramtres d'opration qui doivent tre modifis rsident dans le fichier xmdomain.cfg, situ dans le rpertoire etc/xen. Voici les paramtres que vous pouvez activer ou dsactiver dans le fichier de configuration xmdomain.cfg : lment kernel Description Dtermine le chemin pleinement qualifi vers l'image du noyau Dtermine le chemin pleinement qualifi vers initrd pour le ramdisk initial Dtermine la quantit de mmoire RAM (en Mo) allouer au domaine quand il dmarre Dtermine le nom unique pour un domaine Dtermine le priphrique root pour un domaine Dtermine le nombre de cartes d'interfaces rseau pour un domaine (par dfaut 1) Dtermine les tableaux de priphriques blocs stanzas les trois stanzas sont : mode - mode d'accs au priphrique backend-dev - le domaine backend qui exporte au domaine invit frontend-dev - dtermine comment le priphrique apparat dans un domaine invit vif Dtermine des tableaux d'interfaces virtuelles stanzas (chaque stanza reprsente un
ramdisk
memory
name root
nic
disk
29
1.1. Configurer vfb lment Description ensemble d'oprations nom=valeur) builder Dtermine le constructeur qui cre le domaine (par dfaut linux) Dtermine le CPU o le domaine doit dmarrer. 0 indique le premier CPU, 1 le second, etc. (par dfaut -1) Dtermine quels CPU sur les VCPU du domaine sont excutables Dtermine les informations supplmentaires ajouter la fin de la ligne de paramtres du noyau Dtermine l'adresse IP du serveur NFS utiliser pour le priphrique root Dtermine le rpertoire root en tant que chemin pleinement qualifi pour le serveur NFS Dtermine le nombre de CPU virtuels allouer un domaine (par dfaut 1) Dtermine le paramtre d'arrt du domaine pour dclencher un arrt gracieux (ou un arrt xm) partir de l'intrieur de DomU Dtermine le paramtre d'arrt du domaine pour dclencher un redmarrage gracieux (ou un xm reboot) partir de l'intrieur de DomU Dtermine le paramtre d'arrt du domaine qui dclenche les plantages DomU
cpu
cpus
extra
nfs_server
nfs_root
vcpus
on_shutdown
on_reboot
on_crash
30
2. Cration et gestion de domaines avec xm doivent tre spares par des virgules. L'entre vfb dans votre fichier de configuration ressemble ceci :
vfb = [ "stanza" ] "name1=value1, name2=value2, "
Vous pouvez configurer votre environnement vfb en incorporant les options affiches dans le tableau 16.2 : lment type Description Cette option type vnc initie une session serveur VNC qui se connecte une visionneuse VNC externe. L'option sdl initie la visionneuse interne Dtermine le numro d'affichage VNC utiliser (par dfaut la valeur de l'ID du domaine). Le serveur VNC coute le port 5900 + le numro d'affichage L'adresse d'coute du serveur VNC (par dfaut 127.0.0.1) Dtermine la valeur numrique et si ce n'est pas zro, active le serveur VNC pour qu'il coute le premier port non utilis sur 5900 Surcharge le mot de passe par dfaut configur par Xend Active l'affichage de la visionneuse interne utiliser (par dfaut une variable d'environnement DISPLAY) Active le fichier d'autorit pour la visionneuse interne utiliser (par dfaut une variable d'environnement XAUTHORITY)
vncdisplay
vnclisten
vncunused
vncpasswd
display
xauthority
Vous pouvez utiliser xm pour vous connecter un domaine ou une machine virtuelle :
xm console domain-id
Cela cre un domaine appel domain001 avec le fichier qui rside dans le rpertoire /etc/xen/. L'option [-c] aide dans la rsolution des pannes en vous permettant de vous connecter la console texte.
Cela termine immdiatement le domain-id. Si vous prfrez une autre mthode pour arrter votre session de faon sre, vous pouvez utiliser le paramtre shutdown la place.
L'option [ -a] arrte tous les domaines sur votre systme. L'option [-w] attend qu'un domaine s'arrte compltement.
xm restore [state-file]
L'option [ -a] redmarre tous les domaines dans votre systme. L'option [-w] attend que le domaine redmarre compltement. Vous pouvez contrler le comportement du domaine qui redmarre en modifiant le paramtre on_boot du fichier xmdomain.cfg.
Le renommage de domaine gardera les mmes paramtres (le mme disque dur, la mme mmoire, etc.).
Remarque
Vous ne pouvez pas augmenter la mmoire d'un domaine au-del de la taille maximum spcifie quand vous avez cr le domaine initialement.
Remarque
Vous ne pouvez pas augmenter la mmoire d'un domaine au-del de la taille maximum spcifie quand vous avez cr le domaine initialement.
O [vcpu] est le VCPU que vous dsirez attacher et[cpus] est la cible. L'immobilisation assure que certains VCPU peuvent uniquement dmarrer sur certains CPU.
O [domain-id] est le domaine que vous dsirez migrer, et[host] est la cible. Les [options] incluent live (ou -l) pour une migration, ou resource (ou -r) pour spcifier une vitesse de migration maximum (en mga-octets par seconde). Pour garantir une migration russie, vous devez vous assurer que le dmon xend soit en cours d'excution sur tous les domaines htes. Tous les htes doivent galement dmarrer Red Hat RHEL 5.0+ et avoir des ports TCP de migration ouverts pour accepter les connexions des htes source.
3. Contrles et diagnostics
3.1. Effectuer un vidage mmoire (Core Dump)
Vous pouvez utiliser xm pour effectuer un vidage de mmoire d'une machine virtuelle existante.
xm dump-core [-C] [domain-id]
Cette commande vide la mmoire de la machine virtuelle dans le fichier xendump situ dans le
rpertoire /var/xen/dump/. Vous pouvez terminer la machine virtuelle en incluant l'option -C.
Vous pouvez spcifier un ou plusieurs noms de domaine. L'option [long] offre une analyse plus dtaille du domaine spcifi. L'option [label] ajoute une colonne supplmentaire qui affiche le statut de l'tiquette. La sortie affiche :
Name ID Domain0 0 Domain202 1 DomainQ/A 2 Domain9600 3 Mem(MiB) 927 927 927 927 VCPUs 8 8 8 8 State Time r s b c Label 204.9 INACTIVE 205.0/command ACTIVE INACTIVE 205.1 ACTIVE
Voici les 6 tats de domaine par VCPU : tat running blocked Description liste les domaines actifs sur un CPU liste les domaines qui sont bloqus (un domaine est bloqu quand le vcpu attend qu'un vnement externe ait lieu) liste les domaines qui sont suspendus liste les domaines qui sont en cours d'arrt liste les domaines qui sont compltement arrts liste les domaines qui ont chou liste les domaines qui sont des instances 36
crashed inactive
tat
Description inactives
all
liste les domaines qui sont des instances vcpu la fois actives et inactives
La sortie affiche :
Name Domain0 Domain202 Domain9600 DomainR&D ID 0 1 2 3 Uptime 4:45:02 3:32:00 0:09:14 2:21:41
Vous devez spcifier les vcpu que vous dsirez lister. Si vous ne les spcifiez pas, les vcpu seront affichs pour tous les domaines.
La sortie affiche :
host release version machine nr_cpus : : : : : redhat83-157.brisbane.redhat.com 2.6..18-1.2714.el5xen #1 SMP Mon Oct 21 17:57:21 EDT 2006 x86_64 8
37
nr_nodes sockets_per_node cores_per_socket threads_per_core cpu_mhz hw_caps total_mememory free_memory xen_major xen_minor xen_extra xen_caps xen_pagesize platform_params xen_changeset cc_compiler cc_compile_by cc_compile_domain cc_compile_date xend_config_format
: : : : : : : : : : : : : : : : : : : :
1 2 2 2 2992 bfeebbef:20100000:00000000:00000000 1022 68 3 0 -unstable xen-3.0-x86_84 4096 virt_start=0xffff88000000000000000000 unavailable gcc compiler version 4.1.1 200060928 brewbuilder build.redhat.com Mon Oct 2 17:00 EDT 2006 2
xm dumppolicy [policy.bin]
La sortie affiche :
List Vnets -l, long
Les cinq options de paramtrage sont dfinies ci-dessous : Paramtre [script=scriptname] Description Utilise le nom de script spcifi pour afficher le rseau
Paramtre
Description
[ip=ipaddr] [mac-macaddr]
Passe le nom de script spcifi l'adaptateur L'adresse MAC que le domaine voit sur son priphrique ethernet Le nom du priphrique pour attacher le vif L'id du domaine backend
[bridge-bridgename] [backend=bedomain-id]
Cela vrifie chaque ressource liste dans votre fichier de configuration et liste le statut de chaque ressource de mme que la dcision de scurit finale.
La sortie affiche les ressources pour les domaines sur votre systme.
-w].
Vous pouvez attacher (ou dtacher) les priphriques rseau virtuels mme si les invits sont en cours d'excution. Les cinq options de paramtrage sont dfinies ci-dessous : Paramtre [domain-id] Description Le domain-id du domaine invit qui s'attache au priphrique Le priphrique dans le domaine backend qui sera export
[be-dev]
23. Arrt brutal d'un priphrique bloc virtuel Paramtre [fe-dev] Description Le priphrique qui est prsent au domaine invit Le mode d'accs au priphrique du domaine invit Le domaine backend qui hberge le priphrique
[mode]
[bedomain-id]
24. Scurit
24.1. Supprimer une tiquette de scurit de domaine
Vous pouvez utiliser xm pour supprimer une tiquette de scurit de domaine :
xm rmlabel [domain-id] [configfile]
42
Une politique est une liste spare de noms, traduite en un chemin local, qui pointe vers le fichier XML de la politique (le fichier se rapportant au rpertoire root de la politque globale). Par exemple, le fichier de domaine chinese_wall.client_V1 se rapporte au fichier de la politique / example/chinese_wall.client_v1.xml. La Virtualisation Red Hat inclut les paramtres qui vous permettent de grer les politiques de scurit et assigne les tiquettes aux domaines :
Cela cre une politique binaire et l'enregistre en tant que fichier binaire [policy.bin].
43
Cela copie la politique binaire dans le rpertoire /boot et modifie la ligne correspondante dans le fichier /boot/grub/menu.1st.
Ajoute une tiquette de scurit un fichier de configuration de domaine. Cela vrifie galement que la dfinition des politiques respectives correspond au nom d'tiquette.
Cela affiche les tiquettes d'un type spcifi (par dfaut dom) quand vous crez la politique.
Cela amne ACM utiliser cette tiquette pour amorcer la virtualisation Red Hat.
Attacher l'tiquette de scurit garantit que le domaine ne partagera pas de donnes avec d'autres domaines utilisateur non-SoftwareDev. Cet exemple inclut le fichier de configuration myconfig.xm et reprsente un domaine qui excute des charges de travail associes l'infrastructure de SoftwareDev. ditez votre fichier de configuration respectif et vrifiez que la commande addlabel a ajout correctement l'entre access_control (et les paramtres associs) la fin du fichier :
kernel = "/boot/vmlinuz 2.6.16 xen" ramdisk="/boot/U1_SoftwareDev_ramdisk.img" memory = 164 name = "SoftwareDev" vif = [ '' ] dhcp = "dhcp" access_control = [policy=example.chwall_ste.client_v1, label=dom_SoftwareDev]
Si quelque chose semble incorrect, effectuez les modifications ncessaires et enregistrez le fichier.
Chapitre 18. Gestion des machines virtuelles avec le gestionnaire de machines virtuelles
Cette section dcrit les fentres, botes de dialogue et divers contrles GUI du gestionnaire de machines virtuelles de la Virtualisation Red Hat (VMM, de l'anglais Virtual Machine Manager).
47
48
49
Votre bureau local peut intercepter les combinaisons de touches (par exemple, Ctrl+Alt+F11) afin d'empcher qu'elles soient envoyes la machine invit. Vous pouvez utiliser les "sticky key" du gestionnaire de machines virtuelles pour envoyer ces squences. Vous devez appuyer 3 fois sur n'importe quelle touche de modification (par exemple Ctrl ou Alt) pour que la touche spcifie soit active. La touche reste active jusqu' ce la prochaine touche de modification soit presse. Ensuite, vous pouvez envoyer Ctrl-Alt-F11 l'invit en entrant la combinaison de touches "Ctrl Ctrl Ctrl Alt+F1".
Remarque :
Vous devez installer Red Hat Enterprise Linux 5.0, virt-manager et les paquetages de noyau sur tous les systmes qui requirent la virtualisation. Tous les systmes doivent ensuite tre chargs et dmarrer le noyau de Virtualisation Red Hat.
Voici les tapes requises pour installer un systme d'exploitation invit sur Red Hat Enterprise Linux 5 en utilisant le contrleur de machines virtuelles :
1.
partir du menu Applications, slectionnez Outils de systme et Gestionnaire de machines virtuelles. La fentre principale du gestionnaire de machines virtuelles apparat.
2.
L'assistant de cration d'un nouveau systme virtuel apparat. 3. Cliquez sur Suivant.
4.
5.
Saisissez l'emplacement de votre support d'installation. L'emplacement du fichier kickstart est optionnel. Cliquez sur Suivant.
54
6.
Installez-le sur une partition de disque physique ou sur un systme de fichiers virtuels dans un fichier.
Remarque
Cet exemple installe un systme virtuel dans un fichier. La politique SELinux par dfaut permet aux images disque xen d'tre situes dans /var/lib/xen. Si SELinux est activ et que voulez spcifier un chemin d'accs personnalis pour le disque virtuel vous devez changer la politique SELinux de faon approprie.
Ouvrez un terminal, crez le rpertoire /xen et paramtrez la politique SELinux avec la commande restorecon -v /xen. Spcifiez votre emplacement et la taille du disque virtuel et cliquez sur Suivant.
55
7.
Slectionnez la mmoire allouer l'invit, le nombre de CPU virtuels et cliquez sur Suivant.
8.
Slectionnez Suivant pour ouvrir une console. Les fichiers commencent s'installer.
9.
10. Saisissez xm create -c xen-guest pour dmarrer l'invit Red Hat Enterprise Linux 5.0. Cliquez avec le bouton droit de votre souris dans le gestionnaire de machines virtuelles et choisissez l'option Ouvrir pour ouvrir une console virtuelle.
11. Saisissez le nom d'utilisateur et le mot de passe pour continuer utiliser le gestionnaire de machines virtuelles.
1.
60
2.
3. 4.
Naviguez dans le rpertoire appropri et slectionnez le fichier enregistr. Cliquez sur Ouvrir.
61
Les systmes virtuels enregistrs apparaissent dans la fentre principale du gestionnaire de machines virtuelles.
1.
Dans la fentre principale du gestionnaire de machines virtuelles, slectionnez la machine virtuelle que vous voulez afficher.
2.
la machine (ou cliquez sur le bouton Dtails au bas de la fentre principale du gestionnaire de machines virtuelles).
La fentre d'aperu des dtails d'une machine virtuelle apparat. Cette fentre rsume l'utilisation du CPU et de la mmoire pour le/les domaine(s) spcifi(s).
3.
Sur la fentre des dtails d'une machine virtuelle, cliquez sur l'onglet Matriel.
4.
Sur l'onglet Matriel, cliquez sur Processeur pour voir ou changer l'allocation mmoire du processeur.
5.
Sur l'onglet Matriel, cliquez sur Memoire pour voir ou changer l'allocation de la mmoire RAM.
6.
Sur l'onglet Hardware, cliquez sur Disque pour voir ou changer la configuration du disque dur.
7.
Sur l'onglet Matriel, cliquez sur Rseau pour voir ou changer la configuration du rseau.
1.
La fentre des prfrences du gestionnaire de machines virtuelles apparat. 2. partir de la bote de dialogue de surveillance des tats, spcifiez le dlai d'attente (en secondes) avant que le systme soit mis jour.
3.
partir de la zone des consoles, spcifiez la faon d'ouvrir une console ainsi qu'un
66
priphrique d'entre.
1.
2.
Le gestionnaire de machines virtuelles liste l'ID de domaine de tous les domaines de votre systme :
67
2.
Le gestionnaire de machines virtuelles liste l'tat de toutes les machines virtuelles de votre systme :
1.
2.
Le gestionnaire de machines virtuelles liste les CPU virtuels pour toutes les machines virtuelles sur votre systme.
1.
2.
Le gestionnaire de machines virtuelles liste le pourcentage de CPU en cours d'utilisation de toutes les machines virtuelles de votre systme.
1.
72
2.
Le gestionnaire de machines virtuelles liste le pourcentage de mmoire en cours d'utilisation (en mga-octets) de toutes les machines virtuelles de votre systme.
73
est le fichier qui contient des donnes d'erreurs dans les vnements partir de xend et les sous-systmes de virtualisation (comme la mmoire tampon, les scripts
xend-debug.log
74
Python, etc.). est le fichier journal contenant les donnes des vnements "hotplug". Si un priphrique ou un script rseau ne vient pas en ligne, l'vnement apparat ici.
xen-hotplug-log
est le fichier journal cr par le processus qemu-dm pour chaque invit pleinement virtualis. Quand vous utilisez ce fichier journal, vous devez rcuprer le processus PID qemu-dm en utilisant la commande ps pour examiner les arguments du processus afin d'isoler le processus qemu-dm sur la machine virtuelle. Notez que vous devez remplacer le symbole [PID] par le processus PID qemu-dm.
qemu-dm.[PID].log
Si des erreurs surviennent avec le gestionnaire de machines virtuelles (Virtual Machine Manager), vous pouvez revoir les donnes gnres dans le fichier virt-manager.log qui rside dans le rpertoire /.virt-manager. Notez que chaque fois que vous dmarrer le gestionnaire de machines virtuelles, il surcharge le contenu des fichiers journaux existants. Assurez-vous de sauvegarder le fichier virt-manager.log avant de redmarrer le gestionnaire de machines virtuelles aprs une erreur systme.
Le rpertoire /etc/xen contient les fichiers de configuration que vous utilisez pour grer les ressources systme. Le fichier de configuration du dmon xend est appel xend-config.sxp et vous pouvez utiliser ce fichier pour implmenter les modifications sur tout le systme et configurer les callouts de mise en rseau. Les commandes proc sont une autre ressource qui vous permet de rassembler des informations systme. Ces entres proc rsident dans le rpertoire /proc/xen :
75
rseau, et les outils de dbogage avancs, (pour plus d'informations sur l'utilisation des ces outils pour configurer les services de Virtualisation Red Hat, veuillez consulter la documentation de configuration qui s'y rapporte). Vous pouvez employer ces mmes outils standards de l'administrateur de systme et les fichiers journaux pour vous assister dans la rsolution des pannes.
Utilisez les outils de dbogage avancs et les fichiers journaux pour vous assister dans la rsolution des pannes :
Vous pouvez employer ces outils de mise en rseau pour vous assister dans la rsolution des pannes :
est un outil de mise en rseau qui inspecte et configure la configuration de pont ethernet dans le noyau de Virtualisation Linux. Vous devez possder un accs super-utilisateur avant d'excuter ces exemples de commandes :
brctl # brctl show bridge-name bridge-id STP enabled interfaces ----------------------------------------------------------------------------xenbr0 8000.feffffff no vif13.0 xenbr1 8000.ffffefff yes pddummy0 xenbr2 8000.ffffffef no vif0.0 # btcrl showmacs xenbr0
76
port-no 1 2
# btcrl showstp xenbr0 xenbr0 bridge-id designated-root root-port max-age hello-time forward-delay ageing-time hello-timer topology-change-timer 8000.fefffffffff 8000.fefffffffff 0 20.00 2.00 0.00 300.01 1.43 0.00 tcn-timer gc-timer 0.00 0.02 path-cost bridge-max-age bridge-hello-time bridge-forward-delay 0 20.00 2.00 0.00
[2006-12-27 02:23:02 xend] ERROR (SrvBase: 163) op=create: Error creating domain: (0, 'Error') Traceback (most recent call list) File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvBase.py" line 107 in_perform val = op_method ( File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDomainDir.py line 71 in op_create raise XendError ("Error creating domain: " + str(ex)) XendError: Error creating domain: (0, 'Error')
L'autre fichier journal xend-debug.log, est trs utile aux administrateurs systme puisqu'il contient des informations encore plus dtailles que le xend.log. Voici les mmes donnes d'erreurs que pour le mme problme de cration de domaine de noyau :
ERROR: Will only load images built for Xen v3.0 ERROR: Actually saw: GUEST_OS=netbsd, GUEST_VER=2.0, XEN_VER=2.0; LOADER=generic, BSD_SYMTAB' ERROR: Error constructing guest OS
Quand vous appelez l'assistance clientle, incluez toujours une copie de ces deux fichiers
journaux.
title Red Hat Enterprise Linix (2.6.18-8.2080_RHEL5xen0) root (hd0,2) kernel /xen.gz-2.6.18-8.el5 com1=38400,8n1 module /vmlinuz-2.618-8.el5xen ro root=LABEL=/rhgb quiet console=xvc console=tty xencons module /initrd-2.6.18-8.el5xen.img
La sync_console peut vous aider dterminer un problme qui cause des "hangs" (suspensions de systme) avec des sorties de console d'hyperviseur asynchrone, et le "pnpacpi=off" se charge d'un problme qui casse les saisies sur la console srie. Les paramtres "console=ttyS0" et "console=tty" signifient que les erreurs de noyau sont journalises avec la fois la console normale VGA et la console srie. Ensuite vous pouvez installer ttywatch pour capturer les donnes sur un hte distant connect avec un cable "null-modem" standard. Par exemple, sur l'hte distant vous pouvez saisir :
ttywatch --name myhost --port /dev/ttyS0
O domain100 reprsente un nom ou un nombre en excution. Vous pouvez galement utiliser le gestionnaire de machines virtuelles pour afficher la console texte virtuelle. Dans la fentre des informations sur la machine virtuelle, slectionnez Console srie partir du menu Affichage.
configur. Pour amener la console srie virtuelle de l'invit fonctionner avec l'invit pleinement virtualis vous devez modifier le fichier grub.conf de l'invit et inclure le paramtre 'console =ttyS0 console=tty0'. Cela assure que les messages du noyau sont envoys la console srie virtuelle (et la console graphique ordinaire). Si vous avez l'intention d'utiliser la console srie virtuelle dans un invit pleinement virtualis, vous devez diter le fichier de configuration dans le rpertoire /etc/xen/. Sur le domaine hte, vous pouvez ensuite accder la console texte en saisissant :
xm console
Vous pouvez galement utiliser le gestionnaire de machines virtuelles pour afficher la console srie. Dans la fentre des informations sur la machine virtuelle, slectionnez la console srie du menu Affichage.
# options=-b
Cela indique udev de contrler tous les priphriques systme SCSI pour retourner les UUID. Pour dterminer les UUID systme, saisissez :
# scsi_id -g -s /block/sdc
La longue chane de caractres est l'UUID. Pour faire en sorte que les noms de priphriques suppriment l'UUID, vrifiez chaque chemin de priphrique pour assurer que le numro du UUID est le mme pour chaque priphrique. Les UUID ne changent pas quand vous ajoutez un nouveau priphrique votre systme. Une fois les chemins de priphriques vrifis, vous
devez crer des rgles pour le nommage de priphriques. Pour crer ces rgles, modifiez le fichier 20-names.rules qui rside dans le rpertoire /etc/udev/rules.d. Les rgles de nommage de priphrique que vous crez ici devraient suivre ce format :
# KERNEL="sd*", BUS="scsi", PROGRAM="sbin/scsi_id", RESULT="UUID", NAME="devicename"
Remplacez votre UUID existant et le nom du priphrique par l'entre rcupre du UUID cidessus. Ainsi la rgle devrait ressembler ce qui suit :
KERNEL="sd*", BUS="scsi", ", NAME="mydevicename" PROGRAM="sbin/scsi_id", RESULT="3600a0b80001327510000015427b625e
Cela fait en sorte que le systme active tous les priphriques qui correspondent /dev/sd* pour inspecter un UUID donn. Quand il trouve un priphrique correspondant, il cre un noeud de priphrique appel /dev/devicename. Pour cet exemple, le noeud de priphrique est / dev/mydevice. Enfin, vous devez ajouter le fichier rc.local qui rside dans le rpertoire /etc avec ce chemin :
/sbin/start_udev
IMPLEMENTATION DE LA PERSISTANCE LUN AVEC MULTIPATH Pour implmenter la persistance lun dans un environnement multipath, vous devez dfinir les noms d'alias pour les priphriques multipath. Pour cet exemple, vous devez dfinir quatre alias de priphrique en ditant le fichier multipath.conf qui rside dans le rpertoire /etc/ :
multipath { wwid alias } multipath { wwid alias } multipath { wwid alias } multipath { wwid alias } 3600a0b80001327510000015427b625e oramp4 3600a0b80001327510000015427b625e orafonctionnermp3 3600a0b80001327510000015427b6 oramp2 3600a0b80001327510000015427b625e oramp1
Cela dfinit 4 lun : /dev/mpath/oramp1, /dev/mpath/oramp2, /dev/mpath/oramp3, et dev/ mpath/oramp4. Les priphriques rsideront dans le rpertoire /dev/mpath. Ces noms lun sont persistants sur les redmarrages car cela cre les noms d'alias sur le wwid des lun.
Cette section contient des informations que vous devez considrer quand vous implmentez SELinux dans votre environnement de Virtualisation Red Hat. Quand vous dployez des modifications de systme ou ajouter des priphriques, vous devez mettre jour votre politique SELinux en fonction de ces modifications. Pour configurer un volume LVM pour un invit, vous devez modifier le contexte SELinux pour le priphrique bloc sous-jacent et le groupe de volume respectivement.
# semanage fcontext -a -t xen_image _t -f -b /dev/sda2 # restorecon /dev/sda2
Le paramtre bolen xend_disable_trans place xend dans un mode unconfined (sans limitation) aprs le redmarrage du dmon. Il est recommand de dsactiver la protection pour un dmon unique plutt que pour tout le systme. De mme il vaut mieux ne pas r-tiqueter les rpertoires comme xen_image_t que vous utiliserez ailleurs.
Pour accder aux volumes sur une seconde partition, vous devez rescanner LVM avec vgscan et activer le groupe de volume sur la partition (appele VolGroup00 par dfaut) en utilisant la commande vgchange -ay :
# kpartx -a /dev/xen/guest1 #vgscan Reading all physical volumes . This may take a while... Found volume group "VolGroup00" using metadata type 1vm2 # vgchange -ay VolGroup00now 2 logical volume(s) in volume group VolGroup00 now active. # lvs LV VG Attr Lsize Origin Snap% Move Log Copy% LogVol00 VolGroup00 -wi-a- 5.06G LogVol01 VolGroup00 -wi-a- 800.00M # mount /dev/VolGroup00/LogVol00 /mnt/ .... #umount /mnt/ #vchange -an VolGroup00 #kpartx -d /dev/xen/guest1
81
Rappelez-vous de dsactiver les volumes logiques avec vgchange -an, supprimer les partitions avec kpartx-d et supprimer le priphrique loop avec losetup -d quand vous terminez.
et
Vous essayez d'excuter xend manuellement et vous obtenez des erreurs supplmentaires :
Error: Could not obtain handle on privileged command interfaces (2 = No such file or directory) Traceback (most recent call last:) File "/usr/sbin/xend/", line 33 in ? from xen.xend.server. import SrvDaemon File "/usr/lib/python2.4/site-packages/xen/xend/server/SrvDaemon.py" , line 26 in ? from xen.xend import XendDomain File "/usr//lib/python2.4/site-packages/xen/xend/XendDomain.py" , line 33, in ? from xen.xend import XendDomainInfo File "/usr/lib/python2.4/site-packages/xen/xend/image.py" , line37, in ? import images File "/usr/lib/python2.4/site-packages/xen/xend/image.py" , line30, in ? xc = xen.lowlevel.xc.xc () RuntimeError: (2, 'No such file or directory' )
Il est probable que vous ayez relanc votre hte dans un noyau qui n'est pas un xen-hypervisor kernel. Pour corriger cela, vous devez slectionner le noyau xen-hypervisor au moment du lancement (ou configurer par dfaut, le noyau xen-hypervisor dans votre fichier grub.conf).
Cet exemple utilise la valeur 64 mais vous pouvez spcifier un autre nombre pour configurer la 82
valeur loop maximum. Vous aurez peut-tre aussi implmenter des invits supports par un priphrique loop sur votre systme. Pour employer un invit support par un priphrique loop pour un systme paravirtuel, utilisez les commandes phy: block device ou tap:aio. Pour employer des invits supports par un priphrique loop pour un systme totalement virtualis, utilisez le fichier phy: device ou les commandes file: file.
title RHEL5 i386 Xen (2.6.18-1.2910.el5xen) root (hd0, 8) kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200, 8n1 module /boot/vmlinuz-2.6.18-1.2910.el5xen to root=LABEL=RHEL5_i386 console=tty console=ttyS1115200 module /boot/initrd-2.8.6.18-12910.el5xen.img title RHEL5 i386 xen (2.6.18.-1.2910.el5xen root (hd0, 8) kernel /boot/xen.gz-2.6.18-1.2910.el5 com2=115200 console=com2l module /boot/vmlinuz2.6.18-1.2910.el5xen to root=LABEL=RHEL5_i386 console=xvc xencons=xvc module /boot/ititrd-2.6.18-1.2910.el5xen.img
Ces modifications sur le fichier grub.conf devraient activer votre console srie pour qu'elle fonctionne correctement. Vous devriez tre en mesure d'utiliser tout nombre pour le ttyS et il devrait fonctionner comme ttyS0.
Vous devriez utiliser un processus pour installer de multiples ponts Xen. Voici un exemple de fichier de configuration pour un second NIC appel 'eth1' :
#/etc/sysconfig/network-scripts/fcfg-eth1 DEVICE=eth1 BOOTPROTO=static ONBOOT=yes USERCTL=no IPV6INIT=no PEERDNS=yes TYPE=Ethernet NETMASK=255.255.255.0 IPADDR=10.1.1.1 GATEWAY=10.1.1.254 ARP=yes
Copiez le fichier /etc/xen/scripts/network-bridge sur /etc/xen/scripts/network-bridge.xen. ditez /etc/xen/xend-config.sxp et ajoutez une ligne votre nouveau script de pont rseau (cet exemple utilise "network-Virtualisation-multi-bridge"). Dans le fichier xend-config.sxp, la nouvelle ligne devrait reflter votre nouveau script :
network-script network-xen-multi-bridge
Si vous dsirez crer de multiples ponts Xen, vous devez crer un script personnalis. L'exemple ci-dessous cre deux ponts Xen (appels xenbr0 et xenbr1) et les attache eth1 et eth0, respectivement :
# !/bin/sh # network-xen-multi-bridge # Exit if anything goes wrong set -e # First arg is operation. OP=$1 shift script=/etc/xen/scripts/network-bridge.xen case ${op} in start) $script start vifnum=1 bridge=xenbr1 netdev=eth1 $script start vifnum=0 bridge=xenbr0 netdev=eth0 .. ,, stop) $script stop vifnum=1 bridge=xenbr1 netdev=eth1 $script stop vifnum=0 bridge=xenbr0 netdev=eth0 .. ,, status) $script status vifnum=1 bridge=xenbr1 netdev=eth1 $script status vifnum=0 bridge=xenbr0 netdev=eth0 .. ,,
*) echo 'Unknown command: ' ${OP} echo 'Valid commands are: start, stop, status' exit 1 esac
Si vous dsirez crer des ponts supplmentaires, utilisez simplement le script d'exemple et copier/coller le fichier de faon approprie.
Vous devez lier xenbr0 dummy0 pour permettre la connexion rseau mme lorsque la connexion au rseau physique n'est pas tablie. Il vous faudra faire des modifications supplmentaires sur le fichier xend-config.sxp. Vous devez localiser la section (network-script 'network-bridge' bridge=xenbr0 ) et ajouter ce qui suit la fin de la ligne :
netdev=dummy0
Vous devez galement effectuer des modifications sur la configuration de la mise en rseau domU de l'invit afin d'amener la passerelle par dfaut pointer vers dummy0. Vous devez diter le fichier "rseau" DomU qui rside dans le rpertoire /etc/sysconfig/ pour reflter l'exemple ci-dessous :
NETWORKING=yes HOSTNAME=localhost.localdomain GATEWAY=10.1.1.1 IPADDR=10.1.1.10 NETMASK=255.255.255.0
Il est recommand d'activer NAT dans domain0 afin que domU puisse accder au rseau public. Ainsi, mme les utilisateurs sans fil peuvent contourner les limitations de la Virtualisation Red Hat. Pour ce faire, vous devez modifier le fichier S99XenLaptopNAT qui rside dans le rpertoire /etc/rc3.d pour reflter l'exemple ci-dessous :
#!/bin/bash/ PATH=/usr/bin:/sbin:/bin:/usr:/sbin export PATH GATEWAYDEV= "ip route | grep default | awk {print $5'}' iptables -F case "$1" in start) if test -z "$GATEWAYDEV"; then echo "No gateway device found" else echo "Masquerading using $GATEWAYDEV" /sbin/iptables -t nat -A POSTROUTING -o $GATEWAYDEV -j MASQUERADE fi echo "Enabling IP forwarding" echo 1 . /proc/sys/net/ipv4/ip_forward echo "IP forwarding set to 'cat /proc/sys/net/ipv4/ip_forward'" echo "done" .. '' *) echo "Usage: $0 {start | restart | status}" .. ,, esac
Si vous dsirez que le rseau soit automatiquement configur au lancement, vous devez crer un lien symbolique vers /etc/rc3.d/S99XenLaptopNAT. Quand vous modifiez le fichier modprobe.conf, vous devez inclure ces lignes :
alias dummy0 dummy options dummy numdummies=1
Dmarrage automatique des domaines au lancement du systme Vous pouvez configurer vos invits pour qu'ils dmarrent automatiquement quand vous lancer le systme. Pour ce faire, vous devez modifier les liens symboliques qui rsident dans / etc/xen/auto. Ce fichier pointe vers les fichiers de configuration des invits que vous devez dmarrer automatiquement. Le processus de dmarrage est srialis, c'est--dire que plus le nombre d'invits est lev, plus le processus de lancement prendra de temps. Cet exemple vous montre comment utiliser les liens symboliques pour l'invit rhel5vm01 :
[root@python [root@python [root@python [root@python [root@python xen]# cd /etc/xen xen]# cd auto auto]# ls auto]# ln -s ../rhel5vm01 . auto]# ls -l
lrwxrwxrwx 1 root root 14 Dec 14 10:02 rhel5vm01 -> ../rhel5vm01 [root@python auto]#
Par exemple, si vous devez modifier votre mmoire d'hyperviseur dom0 256Mo au lancement, vous devez diter la ligne "xen" et l'ajouter avec l'entre correcte, 'dom0_mem=256M'. Cet exemple reprsente l'entre xen dans grub.conf :
# boot=/dev/sda default=0 timeout=15 #splashimage=(hd0,0)/grubs/splash.xpm.gz hiddenmenu serial --unit=0 --speed =115200 --word=8 --parity=no --stop=1 terminal --timeout=10 serial console
87
title Red Hat Enterprise Linux Server (2.6.17-1.2519.4.21. el5xen) root (hd0,0) kernel /xen.gz-2.6.17-1.2519.4.21.el5 com1=115200, 8n1 dom0_mem=256MB module /vmlinuz-2.6.17-1.2519.4.21.el5xen ro root=/dev/VolGroup00/LogVol00 module /initrd-2.6.17-1.2519.4.21.el5xen.img
Notez que serial="pty" est la valeur par dfaut pour le fichier de configuration. Cet exemple de fichier de configuration est pour l'invit pleinement virtualis :
name = "rhel5u5-86_64" builder = "hvm" memory = 500 disk = ['file:/xen/images/rhel5u5-x86_64.dsk.hda,w [../../../home/mhideo/.evolution//xen/images/rhel5u5vif = [ 'type=ioemu, mac=00:16:3e:09:f0:12, bridge=xenbr0', 'type=ieomu, mac=00:16:3e:09:f0:13, bridge=x uuid = "b10372f9-91d7-ao5f-12ff-372100c99af5' device_model = "/usr/lib64/xen/bin/qemu-dm" kernel = "/usr/lib/xen/boot/hvmloader/" vnc = 1 vncunused = 1 apic = 1 acpi = 1 pae = 1 vcpus =1 serial ="pty" # enable serial console on_boot = 'restart'
88
). Ensuite pour les entres vif dfinissez une adresse MAC unique pour chaque invit (si vous copiez une configuration invit partir d'un invit existant, vous pouvez crer un script pour le manipuler). Pour les informations de pont xen, si vous dplacez un fichier de configuration invit existant vers un nouvel hte, vous devez mettre jour l'entre xenbr pour faire correspondre votre configuration de mise en rseau locale. Pour les entres de priphrique, vous devez modifier les entres dans la section 'disk=' pour pointer vers l'image d'invit correcte. Vous devez galement modifier les paramtres de configuration systme sur votre invit, de mme que l'entre HOSTNAME du fichier /etc/sysconfig/network pour faire correspondre le nouveau nom d'hte de l'invit. Vous devez modifier l'adresse HWADDR du fichier /etc/sysconfig/network-scripts/ifcfg-eth0 pour faire correspondre la sortie du fichier ifconfig eth0 et si vous utilisez des adresses IP statiques, vous devez modifier l'entre IPADDR.
(xend-relocation-server yes)
La valeur par dfaut pour ce paramtre est "no", ce qui permet au serveur de dlocalisation/migration de rester dsactiv ( moins d'tre sur un rseau scuris), la
mmoire virtuelle de domaine est change sous forme brute sans cryptage.
(xend-relocation-port 8002)
Ce paramtre dtermine le port utilis par xend pour la migration. La valeur est correcte, veuillez simplement vous assurer que vous enlevez le commentaire qui est plac devant.
(xend-relocation-address )
Ce paramtre reprsente l'adresse qui coute les connexions socket de dlocalisation. l'coute, elle restreint la migration vers une interface particulire.
(xend-relocation-hosts-allow )
Ce paramtre contrle l'hte qui communique avec le port de dlocalisation. Si la valeur est vide, toutes les connexions entrantes sont permises. Vous devez changer cela des squences spares par un espace, d'expressions rgulires (comme xendrelocation-hosts-allow- '^localhost\\.localdomain$'). Un hte avec un nom de domaine pleinement qualifi ou une adresse IP qui correspond ces expressions est accept. Aprs la configuration de ces paramtres, vous devez redmarrer l'hte pour que la virtualisation Red Hat accepte vos nouveaux paramtres.
Un domaine peut chouer quand il n'y a pas assez de RAM disponible. Domain0 ne fournit pas suffisamment d'espace pour l'invit nouvellement cr. Vous pouvez vrifier le xend.log suite cette erreur :
[2006-12-21] 20:33:31 xend 3198] DEBUG (balloon:133) Balloon: 558432 Kib free; 0 to scrub; need 1048576; [2006-12-21] 20:33:31 xend. XendDomainInfo 3198] ERROR (XendDomainInfo: 202 Domain construction failed
Vous pouvez vrifier la quantit de mmoire utilise par domain0 en utilisant la commande xm list Domain0. Si le domain0 n'est pas rduit, vous utiliserez la commande "xm mem-set Domain-0 NewMemSize" pour vrifier la mmoire. Vous recevez le message d'erreur suivant :
wrong kernel image: non-PAE kernel on a PAE
Ce message indique que vous tentez d'excuter une image de noyau d'invit qui n'est pas prise en charge sur votre hyperviseur. Cela arrive quand vous essayez de dmarrer un noyau d'invit paravirtuel non PAE sur un hyperviseur RHEL 5.0. La Virtualisation Red Hat ne prend en charge que des noyaux invits avec PAE et des architectures 64 bit. Saisissez cette commande :
[root@smith]# xm create -c va base Using config file "va-base" Error: (22, 'invalid argument') [2006-12-14 14:55:46 xend.XendDomainInfo 3874] ERRORs (XendDomainInfo:202) Domain construction failed
Traceback (most recent call last) File "/usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 195 in create vm.initDomain() File " /usr/lib/python2.4/site-packages/xen/xend/XendDomainInfo.py", line 1363 in initDomain raise VmErr VmError: (22, 'Invalid argument') [2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1449] XendDlomainInfo.destroy: domin=1 [2006-12-14 14:55:46 xend.XendDomainInfo 3874] DEBUG (XenDomainInfo: 1457] XendDlomainInfo.destroy:Domain(1)
Si vous dsirez excuter un noyau 32bit/non-PAE, il faudra excuter votre invit en tant que machine virtuelle pleinement virtualise. Pour les invits paravirtualiss, si vous devez excuter un invit PAE 32bit, il vous faudra un hyperviseur PAE 32bit. Pour les invits paravirtualiss, si vous devez excuter un invit PAE 64bit, il vous faudra un hyperviseur PAE 64bit. Pour les invits pleinement virtualiss, vous devez excuter un invit 64bit avec un hyperviseur 64bit. L'hyperviseur PAE 32bit qui accompagne RHEL 5 i686 ne prend en charge que l'excution du PAE 32 bit paravirtualis et l'invit OSes 32bit pleinement virtualis. L'hyperviseur 64bit ne prend en charge que les invits paravirtualiss 64bit. Cela a lieu quand vous dplacez l'invit HVM pleinement virtualis sur un systme RHEL 5.0. Le dmarrage de votre invit peut chouer et vous verrez une erreur sur l'cran de la console. Vrifiez l'entre PAE dans votre fichier de configuration et assurez vous que pae=1. Vous utiliserez une distribution 32bit. Vous recevez le message d'erreur suivant :
Unable to open a connection to the Xen hypervisor or daemon
Cela arrive quand le dmarrage de l'application virt-manager choue. Cette erreur a lieu quand il n'y a pas d'entre d'hte local (localhost) dans le fichier de configuration /etc/hosts. Vrifiez le fichier et vrifiez que l'entre de l'hte local est active. Voici un exemple d'entre d'hte local incorrecte :
# Do not remove the following line, or various programs # that require network functionality will fail. localhost.localdomain localhost
file)
Cela arrive quand le pont des invits n'est pas configur correctement et cela force les scripts hotplug Xen un timeout. Si vous dplacez les fichiers de configuration entre les htes, vous devez vous assurer de mettre jour les fichiers de configuration des invits pour reflter la topologie de mise en rseau et les modifications de configuration. Quand vous tentez de dmarrer un invit dont la configuration de pont Xen n'existe pas ou est incorrecte, vous obtenez les erreurs suivantes :
[root@trumble virt]# xm create r5b2-mySQL01 Using config file " r5b2-mySQL01" Going to boot Red Hat Enterprise Linux Server (2.6.18.-1.2747 .el5xen) kernel: /vmlinuz-2.6.18-12747.el5xen initrd: /initrd-2.6.18-1.2747.el5xen.img Error: Device 0 (vif) could not be connected. Hotplug scripts not working.
[2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1449) XendDomainInfo.destroy: domid [2006-11-14 15:08:09 xend.XendDomainInfo 3875] DEBUG (XendDomainInfo:1457) XendDomainInfo.destroyDomain( [2006-11-14 15:07:08 xend 3875] DEBUG (DevController:464) hotplugStatusCallback /local/domain/0/backend/vif/2/0/hotplug-status
Pour rsoudre ce problme, vous devez diter votre fichier de configuration invit et modifier l'entre vif. Quand vous localisez l'entre vif du fichier de configuration, en supposant que vous utilisiez xenbr0 comme pont par dfaut, assurez-vous que l'entre approprie ressemble ce qui suit :
# vif = ['mac=00:16:3e:49:1d:11, bridge=xenbr0',]
Python gnre ces messages quand un fichier de configuration est invalide (ou incorrect). Pour rsoudre ce problme, vous devez modifier le fichier de configuration incorrect, ou vous pouvez en crer un nouveau.
http://www.openvirtualization.com [http://www.openvirtualization.com/]
http://www.redhat.com/docs/manuals/enterprise/RHEL-5-manual/index.html
API Libvirt
http://www.libvirt.org [http://www.libvirt.org/]
http://virt-manager.et.redhat.com [http://virt-manager.et.redhat.com/]
http://www.xensource.com/xen/xen/
http://virt.kernelnewbies.org
93
[http://virt.kernelnewbies.org/]
http://et.redhat.com [http://et.redhat.com/]
94
2. Documentation installe
. Ce rpertoire contient beaucoup d'informations propos de l'hyperviseur de virtualisation partielle Xen et d'outils de gestion qui lui sont associs, y compris un aperu des diffrents exemples de configurations, des informations spcifiques au matriel et la documentation utilisateur en amont de Xen.
/usr/share/doc/xen-<version-number>/
et /usr/share/doc/libvirt-<version-number> Contient des sous-commandes et options pour l'utilitaire de gestion de la machine virtuelle virsh ainsi que des informations claires propos de l'API de la bibliothque de virtualisation libvirt.
man virsh
Contient de la documentation sur l'applet graphique du tableau de bord GNOME qui contrle et gre les machines virtuelles qui sont excutes en local.
/usr/share/doc/gnome-applet-vm-<version-number>
Fournit des dtails sur les associations Python pour la bibliothque libvirt. Le paquetage libvirt-python permet aux dveloppeurs python de crer des programmes qui s'interfacent avec la bibliothque de gestion de la virtualisation libvirt.
/usr/share/doc/libvirt-python-<version-number>
Fournit de la documentation sur la commande virt-install qui aide au dmarrage d'installations de distributions Fedora et Red Hat Enterprise Linux au sein des machines virtuelles.
/usr/share/doc/python-virtinst-<version-number>
Fournit de la documentation sur le gestionnaire de machines virtuelles qui fournit un outil graphique pour administrer les machines virtuelles.
/usr/share/doc/virt-manager-<version-number>
95
2. Documentation installe
96
97
Annexe B. Exercice 1
Installation de l'invit Xen Objectif : installer les invits Xen RHEL 3, 4, ou 5 et Windows XP. Prrequis : un poste de travail install avec Red Hat Enterprise Linux 5.0 et le composant de Virtualisation. Pour cet exercice, vous configurez et installez les invits Xen RHEL 3, 4, ou 5 et Win XP au moyen de divers outils de virtualisation. Exercice 1, squence 1 : vrification de la prise en charge PAE Vous devez dterminer si votre systme comporte la prise en charge PAE. La Virtualisation Red Hat prend en charge les architectures CPU bases sur x86_64 ou ia64 pour excuter des invits paravirtualiss. Pour excuter les invits i386, le systme requiert un CPU avec des extensions PAE. De nombreux ordinateurs portables (surtout ceux bass sur Pentium Mobile ou Centrino) ne prennent pas en charge PAE. 1. Afin de dterminer si votre CPU comporte la prise en charge PAE, saisissez :
grep pae /proc/cpuinfo
2.
La sortie suivante illustre un CPU qui possde la prise en charge PAE. Si la commande ne retourne rien, le CPU ne possde pas de prise en charge PAE. Tous les exercices de ce chapitre requirent un CPU i386 avec extension PAE ou x86_64 ou ia64 pour fonctionner.
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss tm pbe nx up est tm2
Exercice 1, squence 2 : installer l'invit paravirtualis Xen RHEL5 Beta 2 au moyen de virtinstall. Pour cet exercice, vous devez installer un invit Xen Red Hat Enterprise Linux 5 Beta 2 au moyen de virt-install. 1. Pour installer votre invit Xen Red Hat Enterprise Linux 5 Beta 2, l'invite de commande, saisissez : virt-install. Lorsqu'on vous demande d'installer un invit pleinement virtualis, saisissez : no. Saisissez rhel5b2-pv1 pour le nom de votre machine virtuelle. Saisissez 500 pour l'allocation de la mmoire RAM. Saisissez /xen/rhel5b2-pv1.img pour votre disque (image invit). 98
2. 3. 4. 5.
6. 7. 8. 9.
Saisissez 6 pour la taille de votre disque (image invit). Saisissez yes pour activer la prise en charge graphique. Saisissez nfs:server:/path/to/rhel5b2 pour votre emplacement d'installation. L'installation commence. Compltez votre installation comme prvu.
10. Aprs la finalisation de l'installation, saisissez /etc/xen/rhel5b2-pv1 et effectuez les modifications suivantes : #vnc=1#vncunused=1sdl=1 11. Utilisez un diteur de texte pour modifier /etc/inittab et ajoutez ceci au fichier : init
5.#id:3:initdefault:id:5:initdefault:
Exercice 1, squence 3 : installer les invits Xen paravirtualiss RHEL5 Beta 2 au moyen de virt-manager. Pour cet exercice, vous installez un invit paravirtualis Xen Red Hat Enterprise Linux 5 Beta 2 au moyen de virt-manager. 1. Pour installer votre invit paravirtualis Xen Red Hat Enterprise Linux 5 Beta 2, l'invite de commande, saisissez : virt-manager. Dans la fentre Ouvrir la connexion, slectionnez l'hte Xen local et cliquez sur Connecter. Dmarrez l'application Gestionnaire de machines virtuelles de Red Hat et partir du menu Fichier, cliquez sur Nouveau. Cliquez sur Continuer. Saisissez rhel5b2-pv2 pour le nom de votre systme et cliquez surContinuer. Slectionnez Paravirtualis et cliquez sur Continuer. Saisissez nfs:server:/path/to/rhel5b2 pour l'URL de votre mdia d'installation et cliquez sur Continuer. Slectionnez Fichier unique, saisissez /xen/rhel5b2-pv2.img pour l'emplacement de votre fichier. Choisissez 6000 Mo et cliquez sur Continuer. Choisissez 500 pour la mmoire de votre MV lors du dmarrage et la mmoire maximum, et cliquez sur Continuer.
2. 3.
4. 5. 6. 7.
8.
9.
10. Cliquez sur Arrter. La fentre Console de la machine virtuelle s'affiche. Effectuez les oprations comme prvu et terminez votre installation. Exercice 1, squence 4 : vrifier la prise en charge Intel-VT ou AMD-V Pour cet exercice, vous devez dterminer si votre systme prend en charge le matriel Intel-VT ou AMD-V. Votre systme doit prendre en charge les CPU Intel-VT ou AMD-V pour russir l'installation de systmes d'exploitation invits pleinement virtualiss. La Virtualisation Red Hat incorpore une couche gnrique HVM pour supporter ces vendeurs CPU.
99
1.
Pour dterminer si votre CPU prend en charge Intel-VT ou AMD-V, saisissez la commande suivante : egrep -e 'vmx|svm' /proc/cpuinfo La sortie suivante indique un CPU qui prend en charge Intel-VT :
.flags : fpu tsc msr pae mce cx8 apic mtrr mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe constant_tsc pni monitor vmx est tm2 xtpr
2.
Si la commande ne retourne rien le CPU ne prend pas en charge Intel-VT ou AMD-V. 3. Pour dterminer si votre CPU prend en charge Intel-VT ou AMD-V, saisissez la commande suivante :
at /sys/hypervisor/properties/capabilities
4.
La sortie suivante indique que la prise en charge Intel-VT a t active dans le BIOS. Si la commande ne retourne rien, allez dans l'utilitaire de configuration du BIOS et cherchez un paramtre associ la 'Virtualisation', c'est--dire 'Intel(R) Virtualization Technology' dans la section 'CPU' sur un T60p IBM. Activez et sauvegardez le paramtrage et arrtez le systme pour que les changements prennent effet.
xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p
Exercice 1, squence 5 : installer l'invit pleinement virtualis Xen RHEL5 Beta 2 au moyen de virt-install. Pour cet exercice, vous installez un invit pleinement virtualis Xen Red Hat Enterprise Linux 5 Beta 2 au moyen de virt-install : 1. Pour installer votre invit Xen Red Hat Enterprise Linux 5 Beta 2, l'invite de commande, saisissez : virt-install. Quand on vous demande d'installer un invit pleinement virtualis, saisissez yes. Saisissez rhel5b2-pv2 pour un nom de machine virtuelle. Saisissez 500 pour l'allocation de la mmoire. Saisissez /xen/rhel5b2-fv1.img pour votre disque (image invit). Saisissez 6 pour la taille de votre disque (image invit). Saisissez yes pour activer la prise en charge graphique. Saisissez /dev/cdrom pour l'image du CD virtuel. La visionneuse VNC s'affiche dans la fentre d'installation. S'il y a un message d'erreur qui indique main: Unable to connect to host: Connection refused (111), saisissez la 100
2. 3. 4. 5. 6. 7. 8. 9.
commande suivante pour continuer : vncviewer localhost:5900. Le port VNC 5900 se rfre au premier invit Xen en cours d'excution sur VNC. S'il ne fonctionne pas, il vous faudra utiliser 5901, 5902, etc. L'installation commence. Compltez votre installation comme prvu. Exercice 1, squence 6 : installer l'invit pleinement virtualis Xen RHEL5 Beta 2 au moyen de virt-manager. Pour cet exercice, vous installez un invit pleinement virtualis Xen Red Hat Enterprise Linux 5 Beta 2 au moyen de virt-manager : 1. Pour installer votre invit paravirtualis Xen Red Hat Enterprise Linux 5 Beta 2, l'invite de commande, saisissez : virt-manager. Dans la fentre Ouvrir la connexion, slectionnez l'hte Xen local et cliquez sur Connecter. Dmarrez l'application Contrleur de machines virtuelles de Red Hat et partir du menu Fichier, cliquez sur Nouveau. Cliquez sur Continuer. Saisissez rhel5b2-fv2 pour votre nom de systme et cliquez sur Continuer. Slectionnez Pleinement virtualis et cliquez sur Continuer. Spcifiez CD-ROM ou DVD et entrez le chemin du mdia d'installation. Spcifiez l'emplacement de l'image ISO si vous installez partir d'une image ISO. Cliquez sur Continuer Slectionnez Fichier unique, saisissez /xen/rhel5b2-fv2.img pour l'emplacement de votre fichier. Spcifiez 6000 Mo et cliquez sur Continuer. Choisissez 500 pour la mmoire de votre MV lors du dmarrage et la mmoire maximum, et cliquez sur Continuer.
2.
3.
4. 5. 6. 7.
8.
9.
10. Cliquez sur Arrter. 11. La fentre Console de la machine virtuelle s'affiche. Effectuez les oprations comme prvu et compltez l'installation. Exercice 1, squence 7 : installer un invit pleinement virtualis Xen RHEL3 au moyen de virtmanager. Pour cet exercice, vous installez un invit Xen Red Hat Enterprise Linux 3 au moyen de virtmanager: 1. Les mmes instructions que pour la squence 6 sont applicables ici.
Exercice 1, squence 8 : installer un invit pleinement virtualis Xen RHEL4 au moyen de virtmanager
Pour cet exercice, vous installez un invit pleinement virtualis Xen Red Hat Enterprise Linux RHEL4 au moyen devirt-manager : 1. Les mmes instructions que pour la squence 6 sont applicables ici.
Exercice 1, squence 9 : installer un invit pleinement virtualis Xen Windows XP au moyen de virt-manager. Pour cet exercice, vous installez un invit pleinement virtualis Xen Windows XP au moyen de virt-manager : 1. Pour installer votre Red Hat Enterprise Linux 5 sur votre hte Windows XP, l'invite de commande, saisissez : virt-manager. Dans la fentre Ouvrir la connexion, slectionnez l'hte Xen local, et cliquez sur Connecter. Dmarrez l'application Gestionnaire de machines virtuelles de Red Hat et depuis le menu Fichier, cliquez sur Nouveau. Cliquez sur Continuer. Saisissez winxp pour votre nom de systme et cliquez sur Continuer. Slectionnez Pleinement virtualis et cliquez sur Continuer. Spcifiez CD-ROM ou DVD et entrez le chemin du mdia d'installation. Spcifiez l'emplacement de l'image ISO si vous installez partir d'une image ISO. Cliquez sur Continuer. Slectionnez Fichier unique, saisissez /xen/winxp.img pour l'emplacement de votre fichier. Spcifiez 6000 Mo et cliquez sur Continuer. Slectionnez 1024 pour la mmoire de votre MV lors du dmarrage et la mmoire maximum, et slectionnez 2 pour les VCPU. Cliquez sur Continuer.
2.
3.
4. 5. 6. 7.
8.
9.
10. Cliquez sur Arrter. 11. La fentre Console de la machine virtuelle s'affiche. Effectuez les oprations comme prvu et terminez votre installation. 12. Choisissez de formater la partition C:\ dans un format de systme de fichiers FAT. Red Hat Enterprise Linux 5 ne comporte pas de modules de noyau NTFS. Si vous formatez la partition dans un format de systme de fichiers NTFS, monter ou crire des fichiers dans l'image de l'invit Xen n'est pas aussi simple. 13. Aprs le redmarrage du systme pour la premire fois, ditez l'image de l'invit winxp :
losetup /dev/loop0 /xen/winxp.imgkpartx -av /dev/loop0mount /dev/mapper/loop0p1 / mntcp -prv $WINDOWS/i386 /mnt/.
15. Dans la fentre du Gestionnaire de machines virtuelles, slectionnez l'invit Xen winxp et cliquez sur Ouvrir. 16. La console de la machine virtuelle s'affiche. Effectuez les oprations comme prvu et compltez l'installation. 17. Chaque fois qu'une bote de dialogue 'Fichiers ncessaires' apparat, changez le chemin GLOBALROOT\DEVICE\CDROM0\I386 C:\I386. Selon votre installation, vous verrez ou ne verrez pas ce problme. Il se peut que l'on vous demande des fichiers manquants durant l'installation. Changer le chemin C:\I386 devrait rsoudre ce problme. 18. Si la console de l'invit Xen se bloque, cliquez sur arrter et effectuez les modifications suivantes dans /etc/xen/winxp:#vnc=1#vncunused=1sdl=1#vcpus=2 19. Rptez l'tape 14 et effectuez votre installation comme prvu.
Annexe C. Exercice 2
Migration en direct (Live Migration) Objectif : configurer et effectuer une migration en direct entre deux htes. Prrequis : deux postes de travail installs avec Red Hat Enterprise Linux 5.0 Beta 2 avec la plateforme de Virtualisation et un invit Xen Fedora Core 6 sur un des deux postes de travail. Pour cet exercice, vous configurez la migration et excutez une migration en direct entre deux htes. Introduction : avant de commencer Pour cet exercice, il vous faudra deux htes de virtualisation : un invit Xen et un stockage partag. Vous devez connecter les deux htes de virtualisation via un cble UTP. Un des htes de virtualisation exporte un stockage partag via NFS. Vous devez configurer les deux htes de virtualisation afin qu'ils russissent la migration. L'invit Xen rside dans le stockage partag. Sur l'invit Xen, il vous faudra installer un serveur de flux. Vous devez vous assurer que le serveur de flux s'excute sans interruption sur l'invit Xen, ainsi la migration en direct a lieu entre un hte de virtualisation et l'autre. Pour l'exercice 2, vous dsignez les deux htes de virtualisation, comme host1 et host2. Squence 1 : configurer xend (les deux htes Xen) Dans cet exercice, vous configurez xend pour dmarrer en tant que serveur HTTP et serveur de dlocalisation. Le dmon xend n'initie pas le serveur HTTP par dfaut. Il dmarre le serveur de gestion de sockets de domaine UNIX (pour xm) et communique avec xend. Pour activer la migration en direct entre-machines vous devez le configurer de faon ce qu'il prenne en charge la migration en direct :
1.
2.
3.
restart.
Dans cet exercice, vous configurez NFS et vous l'utilisez pour exporter un stockage partag.
1. 2.
*(rw,sync,no_root_squash)/
Enregistrez /etc/exports et redmarrez le serveur NFS. Assurez-vous que le serveur NFS dmarre par default:service nfs startchkconfig nfs on. Aprs avoir dmarr le serveur NFS sur host1 vous pouvez le monter sur host2:mount host1:/xen . Maintenant dmarrez l'invit Xen sur host1 et slectionnez fc6-pv1 (ou fc6-pv2 depuis l'exercice 1) :
xm create -c fc6-pv1
3.
4.
Squence 3 : installer le serveur de flux de l'invit Xen Pour cette tape, vous installez un serveur de flux, gnump3d, pour vos dmonstrations. Vous slectionnez gnump3d parce qu'il prend en charge les fichiers vorbis OGG et il est facile installer, configurer et modifier.
1.
Tlchargez le tarball gnump3d-2.9.9.9.tar.bz2 depuis http://www.gnump3d.org/. Dsempaquetez le tarball et dans le rpertoire gnump3d-2.9.9.9/, compilez et installez le
gnump3d application:tar xvjf gnump3d-2.9.9.9.tar.bz2cd gnump3d-2.9.9.9/make install
2.
Crez un rpertoire /home/mp3 et copiez TruthHappens.ogg depuis la page Truth Happens de Red Hat page.mkdir /home/mp3wget -c http://www.redhat.com/v/ogg/TruthHappens.ogg Dmarrez le serveur de flux en saisissant :
command:gnump3d
3.
4.
Sur l'un des deux htes Xen, excutez Movie Player. S'il n'est pas install, installez le totem et les rpms iso-codecs avant d'excuter Movie Player. Cliquez sur Applications, ensuite Son & Vido et enfin Movie Player. Cliquez sur Movie, ensuite Ouvrir l'emplacement. Entrez http://guest:8888/TruthHappens.ogg.
5.
1. 2.
Excutez le fichier TruthHappens.ogg sur l'un des deux htes Xen. Effectuez la migration en direct de host1 host2 :
xm migrate live fc6-pv1 host2
105
3.
Ouvrez des terminaux fentres multiples sur les deux htes Xen avec la commande suivante :
watch -n1 xm list
4.
Squence challenge : configurer le serveur VNC partir de l'invit Xen Si vous avez le temps de le faire, configurez le serveur VNC partir de l'invit Xen, pour dfinir quand est-ce que gdm dmarre. Excutez la visionneuse VNC et connectez-la l'invit Xen. Effectuez quelques oprations sur l'invit Xen quand la migration en direct a lieu. Essayez de mettre en pause/reprendre et de sauvegarder/restaurer l'invit Xen et observez ce qui se passe avec la visionneuse VNC. Si vous vous connectez la visionneuse VNC via localhost:590x et que vous effectuez une migration en direct, vous ne serez pas en mesure de vous reconnecter la visionneuse VNC si elle s'interrompt. C'est un bogue connu.
106