6. Virtualization
This section contains information about updates made to Red Hat Enterprise Linux suite of Virtualization tools.
6.1. Feature Updates
- La boîte à outil d'espace utilisateur blktap (blocktap) a été mise à jour, fournissant la fonctionnalité qu'il faut pour contrôler le transfert de statistiques des invités virtuels possédant blktap.
- On a ajouté un support à la fonctionnalité Intel EPT (Extended Page Table), pour améliorer la performance des invités pleinement virtuels sur le matériel qui supporte EPT.
- L'émulation du périphérique réseau
e1000
pour les invités, a été ajouté à cette mise à jour, prenant en charge les invités Windows 2003 sur l'architecture ia64. Pour utiliser l'émulation e1000, la commande xm doit être utilisée. - Les pilotes pour
virtio
, la plateforme pour la virtualisation E/S dans KVM, ont été réactualisés dans Red Hat Enterprise Linux 5.3 depuis Linux Kernel 2.6.27. Ces pilotes vont permettre aux invités KVM de réaliser des niveaux de performance E/S plus élevés. De nombreux composants d'espace utilisateur comme :anaconda
,kudzu
,lvm
,selinux
etmkinitrd
ont également été mis à jour pour prendre en charge les périphériques virtio. - Le noyau natif Linux supporte
vmcoreinfo
automatiquement, mais, pour configurer les domaines kdump sur dom0, on avait besoin du paquetagekernel-xen-debuginfo
Dans cette mise à jour, le noyau et l'hyperviseur ont été modifiés et supportent maintenant vmcoreinfo lisant et écrivant kdump nativement. Les utilisateurs qui ont besoin d'utiliser kdump pour débboguer ou pour procéder à toute autre recherche sur dom0, peuvent maintenant le faire sans installer les paquetagesdebuginfo
oudebuginfo-common
. - Les invités pleinement virtuels Red Hat Enterprise Linux 5 rencontraient une performance sous-optimale lorsqu'ils utilisaient les périphériques de réseau et les disques émulés. Dans cette mise à jour, le paquetage kmod-xenpv a été inclus pour simplifier l'utilisation des réseaux et des disques paravirtuels pour les invités pleinement virtuels.L'utilisation de ces pilotes pour les invités pleinement virtuels peut énormément améliorer la performance et la fonctionnalité des invités pleinement virtuels. Les résolutions de bogues pour les pilotes block front et netfront sont effectuées et synchronisées immédiatement dans le paquetage du noyau.
- Les invités ont la possibilité d'utiliser les tables de mémoire de pages de sauvegarde de 2 Mo, qui peuvent améliorer la performance du système.
6.2. Resolved Issues
6.2.1. All Architectures
- Fermer un invité paravirtuel aurait pu entraîner dom0 à cesser de répondre pendant un certain temps. Certains invités possédant des grands volumes de mémoire (comme par ex. 12 Go et plus) ont pu connaître des délais de plusieurs secondes. Dans cette mise à jour, le noyau virtuel permet que la fermeture d'un grand nombre d'invités paravirtuels soit agrémentée d'un droit de préemption, ce qui résout ce problème.
crash
was unable to read the relocation address of the hypervisor from a vmcore file. Consequently, opening a Virtualized kernel vmcore file with crash would fail, resulting in the error:crash: cannot resolve "idle_pg_table_4"
In this update, the hypervisor now saves the address correctly, which resolves this issue.- Auparavant, les invités paravirtuels ne pouvaient accumuler que 16 disques au maximum. Dans cette mise à jour, cette limite a été augmentée à 256.
- La mémoire allouée au noyau kdump était incorrecte, résultant à des vidages sur incidents inutilisables. Dans cette mise à jour, l'allocation de mémoire a été rectifiée, ce qui permet la génération de vidages sur incidents correcte.
- Attacher un nom précis à un disque (c'est à dire
/dev/xvdaa
,/dev/xvdab
,/dev/xvdbc
etc.) d'un invité paravirtuel aboutissait à un périphérique corrompu/dev
à l'intérieur d'un invité. Cette mise à jour a résolu ce problème de façon à ce qu'attacher ces noms aux disques d'un invité paravirtuel crée le périphérique/dev
qui convient à l'intérieur de l'invité. - Auparavant, le nombre de périphériques de bouclage était limité à 4. Cela limitait donc la possibilité de créer des ponts sur des systèmes comprenant plus de 4 interfaces de réseau. Dans cette mise à jour, le pilote
netloop
peut maintenant créer des périphériques de bouclage supplémentaires suivant les besoins. - On peut faire face à un état de concurrence lors de la création ou de la destruction de périphériques de réseaux virtuels. Dans certaines circonstances - surtout dans les situations de charges importantes - cela amenait le périphérique virtuel à ne pas répondre. Dans cette mise à jour, l'état du périphérique virtuel est contrôlé pour éviter l'état de concurrence.
- Une fuite de mémoire dans
virt-manager
pouvait survenir si on laissait l'application continuer d'exécuter. De ce fait, l'application consommait toujours de plus en plus de ressources, ce qui entrainait une perte de mémoire. Dans cette mise à jour, cette fuite a été résolue, et le problème réglé. - the
crash
utility could not analyzex86_64
vmcores from systems runningkernel-xen
because the Red Hat Enterprise Linux hypervisor was relocatable and the relocated physical base address is not passed in the vmcore file's ELF header. The new--xen_phys_start
command line option for the crash utility allows the user to pass crash the relocated base physical address. - Tous les événements générés par la souris étaient saisis et traités par le
Paravirtual Frame Buffer (PVFB)
. De ce fait, la molette de défilement ne fonctionnait pas en interaction avec un invité paravirtuel dans laVirtual Machine Console
(console MV). Dans cette mise à jour, les événements générés par la souris à molette de défilement sont maintenant gérés correctement, ce qui résout ce problème. - L'utilisation de la virtualisation sur une machine possédant un grand nombre de CPU aurait pu entraîner le plantage de l'hyperviseur pendant l'installation d'un invité. Dans cette mise à jour, le problème a été résolu.
- Sur les processeurs Intel qui retournaient une valeur de famille CPUID de 6, un seul compteur d'enregistrement de performance était activé dans
kernel-xen
. De ce fait, seul le compteur 0 fournissait des exemples. Dans cette mise à jour, le problème a été résolu.
6.2.2. x86 Architectures
- On systems with newer CPU's, the CPU APIC ID differs from the CPU ID. Consequently, the virtualized kernel was unable to initialize CPU frequency scaling. In this update, the virtualized kernel now retrieves CPU APIC ID from the hypervisor, allowing CPU frequency scaling to be initialized properly.
- Lorsque vous exécutez un invité x86 paravirtuel, si un processus accède à la mémoire invalide, il exécutait en boucle au lieu d'obtenir un signal SEGV. Cela provenait d'une erreur sur la façon dont les contrôles execshield étaient effectués par l'hyperviseur. Dans cette mise à jour, le problème a été résolu.
6.2.3. ia64 Architecture
- A
xend
bug that previously caused guest installation failures is now fixed. - Le périphérique de canal d'événements
evtchn
manquait de barrières de mémoire et de verrous. Cela entraînait xenstore à ne pas répondre. Dans cette mise à jour, ce problème a été résolu. - L'information Non-Uniform Memory Access (NUMA) n'a pas été affichée par la commande
xm info
. De ce fait, la valeurnode_to_cpu
de chaque noeud était retournée de façon erronée sous la formeno cpus
. Dans cette mise à jour, le problème a été résolu. - Auparavant, créer un invité sur une machine HVM (Hardware Virtual Machine) échouait sur des processeurs qui incluent la technologie VT-i2. Dans cette mise à jour, le problème a été résolu.
6.2.4. x86_64 Architectures
- Quand les IRQ Dynamiques disponibles aux machines virtuelles des invités étaient épuisés, le noyau
dom0
se plantait. Dans cette mise à jour, ce problème a été résolu, et le nombre d'IRQ disponibles a été augmenté, ce qui résout ce problème. - On systems with newer CPU's, the CPU APIC ID differs from the CPU ID. Consequently, the virtualized kernel was unable to initialize CPU frequency scaling. In this update, the virtualized kernel now retrieves CPU APIC ID from the hypervisor, allowing CPU frequency scaling to be initialized properly.
6.3. Known Issues
6.3.1. All Architectures
- Le lecteur de disquettes n'est pas accessible lorsque vous utilisez un noyau virtuel. Pour contourner ce problème, utilisez une unité de disque attachée à un USB.Notez que lecteur de disquettes fonctionne toujours avec les noyaux non-virtuels.
- In live migrations of paravirtualized guests, time-dependent guest processes may function improperly if the corresponding hosts' (dom0) times are not synchronized. Use NTP to synchronize system times for all corresponding hosts before migration.
- La migration dynamique directe d'invités paravirtuels entre deux hôtes peut causer à un hôte de paniquer. Si un hôte est réinitialisé après avoir migré un invité en dehors du système, et avant de migrer à nouveau ce même invité dans le système de départ, il y aura panique.
- Formater un disque en exécutant Windows 2008 ou Windows Vista en tant qu'invité peut échouer quand l'invité a été démarré par des CPU virtuels multiples. Pour contourner ce problème, démarrez l'invité avec un CPU virtuel simple pendant le formatage.
- Les invités totalement virtuels créés par
virt-manager
pouvaient parfois empêcher la souris de se mouvoir librement à travers l'écran. Pour contourner ce problème, utiliservirt-manager
pour configurer une tablette USB pour un invité. - Le nombre maximum de CPU doit être limité à moins de 128 sur un système CPU de 128 ou plus. Pour l'instant, la valeur maximum supportée est de 126. Utilisez l'argument de l'hyperviseur
maxcpus=126
pour limiter l'hyperviseur à 126. - Les invités pleinement virtuels ne peuvent pas rattraper le temps perdu pour cause de domaine suspendu ou non. L'un des avantages des noyaux paravirtuels est de pouvoir garder la trace des événements suspendus ou non. Ce problème est réglé en amont grâce à des indicateurs de durée remplaçables, de façon à ce que les invités virtuels puissent avoir des indicateurs de durée paravirtuels. Actuellement, ce code est en cours de développement en amont, et devrait être disponible dans les versions à venir de Red Hat Enterprise Linux.
- La migration répétée des invités pleinement virtuels pourrait aboutir à des messages
bad mpa
sur la consoledom0
. Dans certains cas, l'hyperviseur pourrait également paniquer.Pour éviter la panique de noyau d'hyperviseur, redémarrer les invités migrés une fois que les messages bad mpa apparaissent. - Lorsque vous configurez l'interface sur
dom0
, le script par défautnetwork-bridge
pourrait entraîner les interfaces de réseaux attachés à alterner entreunavailable
(non disponible) etavailable
(disponible). Ce phénomène est connu sous le terme flapping(battement).Pour éviter ce phénomène, remplacez la ligne standardnetwork-script
de/etc/xen/xend-config.sxp
par la ligne suivante :(network-script network-bridge-bonding netdev=bond0)
Cela désactivera le périphérique netloop, ce qui empêchera le contrôle d'ARP (Address Resolution Protocol) d'échouer au cours du processus de transfert d'adresse. - When running multiple guest domains, guest networking may temporarily stop working, resulting in the following error being reported in the dom0 logs:
Memory squeeze in netback driver
To work around this, raise the amount of memory available to the dom0 with thedom0_mem
hypervisor command line option.
6.3.2. x86 Architectures
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - When installing Red Hat Enterprise Linux 5 on a fully virtualized SMP guest, the installation may freeze. This can occur when the host (
dom0
) is running Red Hat Enterprise Linux 5.2.Afin d'éviter ce problème, amenez l'invité à utiliser un processeur unique en utilisant installation. Vous pouvez procéder à cette opération en utilisant l'option--vcpus=1
. Lorsque l'installation est terminée, vous pouvez donner accès à SMP (multitraitement symétrique) à l'invité en modifiant la commande assignéevcpus
dans virt-manager.
6.3.3. x86_64 Architectures
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - Installing the Virtualization feature may cause a
time went backwards
warning on HP systems with model numbers xw9300 and xw9400.Pour contourner ce problème sur les machines xw9400, configurez les paramètres du BIOS pour activer l'indicateur de durée HPET. Notez que cette option n'est pas disponible sur les machines xw9300. - Installing Red Hat Enterprise Linux 3.9 on a fully virtualized guest may be extremely slow. In addition, booting up the guest after installation may result in
hda: lost interrupt
errors.Pour éviter cette erreur de démarrage, configurer l'invité pour qu'il utilise le noyau SMP. - Upgrading a host (
dom0
) system to Red Hat Enterprise Linux 5.2 may render existing Red Hat Enterprise Linux 4.5 SMP paravirtualized guests unbootable. This is more likely to occur when the host system has more than 4GB of RAM.Pour contourner ce problème, démarrer chaque invité Red Hat Enterprise Linux 4.5 en mode CPU seul et mettre à jour son noyau avec la dernière version (pour Red Hat Enterprise Linux 4.5.z).
6.3.4. ia64 Architecture
- Migrating paravirtualized guests through
xm migrate [domain] [dom0 IP address]
does not work. - On some Itanium systems configured for console output to VGA, the
dom0
virtualized kernel may fail to boot. This is because the virtualized kernel failed to properly detect the default console device from the Extensible Firmware Interface (EFI) settings.Lorsque cela se produit, vous pouvez contourner ce problème en ajoutant le paramètre de démarrageconsole=tty
aux options de démarrage du noyau dans le fichier/boot/efi/elilo.conf
. - On some Itanium systems (such as the Hitachi Cold Fusion 3e), the serial port cannot be detected in
dom0
when VGA is enabled by the EFI Maintenance Manager. As such, you need to supply the following serial port information to thedom0
kernel:- Vitesse en octets/secondes
- Nombre d'octets d'information
- Parité
- adresse
io_base
Ces détails doivent être spécifiés dans la ligneappend=
du pilotedom0
dans/boot/efi/elilo.conf
. Par exemple :append="com1=19200,8n1,0x3f8 -- quiet rhgb console=tty0 console=ttyS0,19200n8"
Dans cet exemple,com1
est un port de série,19200
est la vitesse (en octets/second),8n1
spécifie le nombre d'octets utiles/paramètres de parité, et0x3f8
est l'adresse deio_base
. - Virtualization does not work on some architectures that use Non-Uniform Memory Access (NUMA). As such, installing the virtualized kernel on systems that use NUMA will result in a boot failure.Certains numéros d'installation installent le noyau virtuel par défaut. Si vous possédez un tel numéro d'installation et que votre système utilise NUMA et ne fonctionne pas avec kernel-xen, annulez la sélection option Virtualisation pendant la phase d'installation.
- Currently, live migration of fully virtualized guests is not supported on this architecture. In addition,
kexec
andkdump
are also not supported for virtualization on this architecture.