Rechercher

24.6. En quoi la virtualisation sur ARM 64 diffère-t-elle de AMD64 et Intel 64 ?

download PDF

La virtualisation KVM dans RHEL 9 sur les systèmes ARM 64 (également appelée AArch64) est différente de KVM sur les systèmes AMD64 et Intel 64 sur un certain nombre d'aspects. Il s'agit notamment des aspects suivants :

Systèmes d'exploitation invités
Le seul système d'exploitation invité actuellement pris en charge sur les machines virtuelles (VM) ARM 64 est RHEL 9.
Gestion de la console web
Certaines fonctionnalités de gestion des machines virtuelles dans la console web RHEL 9 peuvent ne pas fonctionner correctement sur du matériel ARM 64.
vCPU hot plug et hot unplug
L'attachement d'un processeur virtuel (vCPU) à une VM en cours d'exécution, également appelé hot plug vCPU, n'est pas pris en charge sur les hôtes ARM 64. En outre, comme pour les hôtes AMD64 et Intel 64, la suppression d'un vCPU d'une VM en cours d'exécution (vCPU hot unplug) n'est pas prise en charge sur ARM 64.
SecureBoot
La fonction SecureBoot n'est pas disponible sur les systèmes ARM 64.
Migration
La migration des machines virtuelles entre des hôtes ARM 64 n'est actuellement pas prise en charge.
Taille des pages de mémoire

ARM 64 ne prend actuellement en charge l'exécution de VM qu'avec une taille de page mémoire de 64 Ko et uniquement sur des hôtes avec une taille de page mémoire de 64 Ko. les pages de 4 Ko dans l'hôte ou dans l'invité ne sont actuellement pas prises en charge.

Pour créer avec succès des VM sur ARM 64, votre hôte doit utiliser un noyau avec une taille de page mémoire de 64 Ko et, lors de la création de la VM, vous devez l'installer avec kernel-64k package, par exemple en incluant le paramètre suivant dans le fichier kickstart :

%packages
-kernel
kernel-64k
%end
Grandes pages

Les hôtes ARM 64 avec une taille de page mémoire de 64 Ko prennent en charge des pages mémoire de grande taille avec les tailles suivantes :

  • 2 MB
  • 512 MO
  • 16 GB

    Lorsque vous utilisez le système de fichiers THP (transparent huge pages) sur un hôte ARM 64, il ne prend en charge que des pages de 512 Mo.

SVE

L'architecture ARM 64 offre la fonction Scalable Vector Expansion (SVE). Si l'hôte prend en charge cette fonctionnalité, l'utilisation de SVE dans vos machines virtuelles améliore la vitesse des calculs mathématiques vectoriels et des opérations sur les chaînes de caractères dans ces machines virtuelles.

Le niveau de base de SVE est activé par défaut sur les processeurs hôtes qui le prennent en charge. Cependant, Red Hat recommande de configurer explicitement chaque longueur de vecteur. Cela garantit que la VM ne peut être lancée que sur des hôtes compatibles. Pour ce faire, procédez comme suit

  1. Vérifiez que votre unité centrale dispose de la fonction SVE :

    # grep -m 1 Features /proc/cpuinfo | grep -w sve
    
    Features: fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm fcma dcpop sve

    Si la sortie de cette commande comprend sve ou si son code de sortie est 0, votre CPU supporte SVE.

  2. Ouvrez la configuration XML de la VM que vous souhaitez modifier :

    # virsh edit vm-name
  3. Modifiez l'élément <cpu> de la manière suivante :

    <cpu mode='host-passthrough' check='none'>
    <feature policy='require' name='sve'/>
    <feature policy='require' name='sve128'/>
    <feature policy='require' name='sve256'/>
    <feature policy='disable' name='sve384'/>
    <feature policy='require' name='sve512'/>
    </cpu>

    Cet exemple active explicitement les vecteurs SVE de longueur 128, 256 et 512, et désactive explicitement le vecteur de longueur 384.

Modèles de CPU
Les VM sur ARM 64 ne prennent actuellement en charge que le modèle de CPU host.
Sauvegarde et restauration des machines virtuelles
L'enregistrement et la restauration d' une VM ne sont actuellement pas pris en charge sur un hôte ARM 64.
PXE

Démarrage dans l'environnement d'exécution avant le démarrage (PXE) fonctionnel mais non pris en charge, Red Hat déconseille fortement son utilisation dans les environnements de production.

Si vous avez besoin d'un démarrage PXE, il n'est possible qu'avec le contrôleur d'interface réseau (NIC) virtio-net-pci. En outre, le pilote VirtioNetDxe intégré au microprogramme UEFI de la machine virtuelle (installé avec le paquet edk2-aarch64 ) doit être utilisé pour le démarrage PXE. Notez que les ROMs d'option iPXE ne sont pas prises en charge.

Mémoire des appareils
Les fonctions de mémoire des périphériques, telles que le module de mémoire double en ligne (DIMM) et le module DIMM non volatil (NVDIMM), ne fonctionnent pas sur ARM 64.
pvpanic
Le périphérique pvpanic n'est actuellement pas pris en charge sur ARM 64. Veillez à supprimer l'élément <panic> de la section <devices> de la configuration XML de l'invité sur ARM 64, car sa présence peut entraîner un échec du démarrage de la VM.
OVMF

Les VM sur un hôte ARM 64 ne peuvent pas utiliser le micrologiciel OVMF UEFI utilisé sur AMD64 et Intel 64, inclus dans le paquetage edk2-ovmf. À la place, ces machines virtuelles utilisent le micrologiciel UEFI inclus dans le paquetage edk2-aarch64, qui fournit une interface similaire et met en œuvre un ensemble de fonctionnalités similaires.

Plus précisément, edk2-aarch64 fournit un shell UEFI intégré, mais ne prend pas en charge les fonctionnalités suivantes :

  • SecureBoot
  • Mode de gestion
horloge kvm
Le service kvm-clock ne doit pas être configuré pour la gestion du temps dans les VM sur ARM 64.
Dispositifs périphériques

Les systèmes ARM 64 prennent en charge un ensemble de périphériques partiellement différent de celui des systèmes AMD64 et Intel 64.

  • Seules les topologies PCIe sont prises en charge.
  • Les systèmes ARM 64 prennent en charge les dispositifs virtio en utilisant les pilotes virtio-*-pci. En outre, les périphériques virtio-iommu et virtio-input ne sont pas pris en charge.
  • Cette fonction n'est fournie qu'à titre d'aperçu technologique et n'est donc pas supportée virtiofs n'est fournie qu'à titre d'aperçu technologique et n'est donc pas prise en charge.
  • Le pilote virtio-gpu n'est pris en charge que pour les installations graphiques.
  • Les systèmes ARM 64 prennent en charge les périphériques usb-mouse et usb-tablet pour les installations graphiques uniquement. Les autres périphériques USB, USB passthrough ou USB redirect ne sont pas pris en charge.
  • L'attribution de périphériques utilisant des E/S de fonctions virtuelles (VFIO) n'est prise en charge que pour les cartes d'interface réseau (fonctions physiques et virtuelles).
Dispositifs émulés

Les dispositifs suivants ne sont pas pris en charge sur ARM 64 :

  • Dispositifs sonores émulés, tels que ICH9, ICH6 ou AC97.
  • Cartes graphiques émulées, telles que les cartes VGA.
  • Périphériques de réseau émulés, tels que rtl8139.
Dispositifs GPU
L'attribution de périphériques GPU n'est pas prise en charge sur les systèmes ARM 64.
Configuration de la console série
Lors de la configuration d'une console série sur une VM, utilisez l'option de noyau console=ttyAMA0 au lieu de console=ttyS0 avec l'utilitaire grubby.
Interruptions non masquables
L'envoi d'interruptions non masquables (NMI) à une VM ARM 64 n'est actuellement pas possible.
Virtualisation imbriquée
La création de VM imbriquées n'est actuellement pas possible sur les hôtes ARM 64.
v2v et p2v
Les utilitaires virt-v2v et virt-p2v ne sont pris en charge que sur les architectures AMD64 et Intel 64 et ne sont donc pas fournis sur ARM 64.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.