3.3. Configuration d'une image de base personnalisée pour Microsoft Azure


Pour déployer une machine virtuelle (VM) RHEL 9 avec des paramètres spécifiques dans Azure, vous pouvez créer une image de base personnalisée pour la VM. Les sections suivantes décrivent les modifications de configuration supplémentaires requises par Azure.

3.3.1. Installation des pilotes de périphériques Hyper-V

Microsoft fournit des pilotes de périphériques de réseau et de stockage dans le cadre de ses services d'intégration Linux (LIS) pour Hyper-V. Il se peut que vous deviez installer les pilotes de périphériques Hyper-V sur l'image de la VM avant de l'approvisionner en tant que machine virtuelle Azure (VM). Utilisez la commande lsinitrd | grep hv pour vérifier que les pilotes sont installés.

Procédure

  1. Entrez la commande suivante grep pour déterminer si les pilotes de périphériques Hyper-V requis sont installés.

    # lsinitrd | grep hv
    Copy to Clipboard Toggle word wrap

    Dans l'exemple ci-dessous, tous les pilotes nécessaires sont installés.

    # *lsinitrd | grep hv*
    drwxr-xr-x   2 root     root            0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el{ProductNumber}.x86_64/kernel/drivers/hv
    -rw-r--r--   1 root     root        31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el{ProductNumber}.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz
    -rw-r--r--   1 root     root        25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el{ProductNumber}.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz
    -rw-r--r--   1 root     root         9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el{ProductNumber}.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xz
    Copy to Clipboard Toggle word wrap

    Si tous les pilotes ne sont pas installés, suivez les étapes suivantes.

    Note

    Un pilote hv_vmbus peut exister dans l'environnement. Même si ce pilote est présent, effectuez les étapes suivantes.

  2. Créez un fichier nommé hv.conf dans /etc/dracut.conf.d.
  3. Ajoutez les paramètres de pilote suivants au fichier hv.conf.

    add_drivers+=" hv_vmbus "
    add_drivers+=" hv_netvsc "
    add_drivers+=" hv_storvsc "
    add_drivers+=" nvme "
    Copy to Clipboard Toggle word wrap
    Note

    Notez les espaces avant et après les guillemets, par exemple, add_drivers =" hv_vmbus ". Cela permet de s'assurer que des pilotes uniques sont chargés au cas où d'autres pilotes Hyper-V existeraient déjà dans l'environnement.

  4. Régénérer l'image initramfs.

    # dracut -f -v --regenerate-all
    Copy to Clipboard Toggle word wrap

Vérification

  1. Redémarrer la machine.
  2. Exécutez la commande lsinitrd | grep hv pour vérifier que les pilotes sont installés.

Avant de déployer votre image de base personnalisée dans Azure, vous devez effectuer des changements de configuration supplémentaires pour vous assurer que la machine virtuelle (VM) peut fonctionner correctement dans Azure.

Procédure

  1. Connectez-vous à la VM.
  2. Enregistrez la VM et activez le référentiel Red Hat Enterprise Linux 9.

    # subscription-manager register --auto-attach
    Installed Product Current Status:
    Product Name: Red Hat Enterprise Linux for x86_64
    Status: Subscribed
    Copy to Clipboard Toggle word wrap
  3. Assurez-vous que les paquets cloud-init et hyperv-daemons sont installés.

    # dnf install cloud-init hyperv-daemons -y
    Copy to Clipboard Toggle word wrap
  4. Créez les fichiers de configuration cloud-init nécessaires à l'intégration avec les services Azure :

    1. Pour activer la journalisation du service d'échange de données Hyper-V (KVP), créez le fichier de configuration /etc/cloud/cloud.cfg.d/10-azure-kvp.cfg et ajoutez-y les lignes suivantes.

      reporting:
          logging:
              type: log
          telemetry:
              type: hyperv
      Copy to Clipboard Toggle word wrap
    2. Pour ajouter Azure en tant que source de données, créez le fichier de configuration /etc/cloud/cloud.cfg.d/91-azure_datasource.cfg et ajoutez-y les lignes suivantes.

      datasource_list: [ Azure ]
      datasource:
          Azure:
              apply_network_config: False
      Copy to Clipboard Toggle word wrap
  5. Pour s'assurer que le chargement automatique de certains modules du noyau est bloqué, modifiez ou créez le fichier /etc/modprobe.d/blocklist.conf et ajoutez-y les lignes suivantes.

    blacklist nouveau
    blacklist lbm-nouveau
    blacklist floppy
    blacklist amdgpu
    blacklist skx_edac
    blacklist intel_cstate
    Copy to Clipboard Toggle word wrap
  6. Modifier les règles relatives aux périphériques réseau sur udev:

    1. Supprimez les règles suivantes relatives aux périphériques réseau persistants, si elles existent.

      # rm -f /etc/udev/rules.d/70-persistent-net.rules
      # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
      # rm -f /etc/udev/rules.d/80-net-name-slot-rules
      Copy to Clipboard Toggle word wrap
    2. Pour vous assurer que Accelerated Networking on Azure fonctionne comme prévu, créez une nouvelle règle de périphérique réseau /etc/udev/rules.d/68-azure-sriov-nm-unmanaged.rules et ajoutez-y la ligne suivante.

      SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"
      Copy to Clipboard Toggle word wrap
  7. Configurez le service sshd pour qu'il démarre automatiquement.

    # systemctl enable sshd
    # systemctl is-enabled sshd
    Copy to Clipboard Toggle word wrap
  8. Modifier les paramètres de démarrage du noyau :

    1. Ouvrez le fichier /etc/default/grub et assurez-vous que la ligne GRUB_TIMEOUT contient la valeur suivante.

      GRUB_TIMEOUT=10
      Copy to Clipboard Toggle word wrap
    2. Supprimer les options suivantes à la fin de la ligne GRUB_CMDLINE_LINUX si elles sont présentes.

      rhgb quiet
      Copy to Clipboard Toggle word wrap
    3. Assurez-vous que le fichier /etc/default/grub contient les lignes suivantes avec toutes les options spécifiées.

      GRUB_CMDLINE_LINUX="loglevel=3 crashkernel=auto console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300"
      GRUB_TIMEOUT_STYLE=countdown
      GRUB_TERMINAL="serial console"
      GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
      Copy to Clipboard Toggle word wrap
    4. Régénérer le fichier grub.cfg.

      Sur une machine basée sur le BIOS :

      # grub2-mkconfig -o /boot/grub2/grub.cfg
      Copy to Clipboard Toggle word wrap

      Sur une machine basée sur l'UEFI :

      # grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
      Copy to Clipboard Toggle word wrap

      Si votre système utilise un emplacement autre que celui par défaut pour grub.cfg, adaptez la commande en conséquence.

  9. Configurez l'agent Windows Azure Linux (WALinuxAgent) :

    1. Installez et activez le paquetage WALinuxAgent.

      # dnf install WALinuxAgent -y
      # systemctl enable waagent
      Copy to Clipboard Toggle word wrap
    2. Pour s'assurer qu'une partition de swap n'est pas utilisée dans les VM provisionnées, modifiez les lignes suivantes dans le fichier /etc/waagent.conf.

      Provisioning.DeleteRootPassword=y
      ResourceDisk.Format=n
      ResourceDisk.EnableSwap=n
      Copy to Clipboard Toggle word wrap
  10. Préparer la VM pour le provisionnement Azure :

    1. Désenregistrez la VM du Gestionnaire d'abonnements de Red Hat.

      # subscription-manager unregister
      Copy to Clipboard Toggle word wrap
    2. Nettoyer les détails de l'approvisionnement existants.

      # waagent -force -deprovision
      Copy to Clipboard Toggle word wrap
      Note

      Cette commande génère des avertissements, ce qui est normal car Azure gère automatiquement le provisionnement des machines virtuelles.

    3. Nettoyez l'historique du shell et arrêtez la VM.

      # export HISTSIZE=0
      # poweroff
      Copy to Clipboard Toggle word wrap
Retour au début
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. Découvrez nos récentes mises à jour.

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 le Blog 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.

Theme

© 2025 Red Hat