4.5. Effectuer les changements de configuration nécessaires au déploiement de Microsoft Azure
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
- Connectez-vous à la VM.
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
Assurez-vous que les paquets
cloud-init
ethyperv-daemons
sont installés.# dnf install cloud-init hyperv-daemons -y
Créez les fichiers de configuration
cloud-init
nécessaires à l'intégration avec les services Azure :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
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
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
Modifier les règles relatives aux périphériques réseau sur
udev
: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
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"
Configurez le service
sshd
pour qu'il démarre automatiquement.# systemctl enable sshd # systemctl is-enabled sshd
Modifier les paramètres de démarrage du noyau :
Ouvrez le fichier
/etc/default/grub
et assurez-vous que la ligneGRUB_TIMEOUT
contient la valeur suivante.GRUB_TIMEOUT=10
Supprimer les options suivantes à la fin de la ligne
GRUB_CMDLINE_LINUX
si elles sont présentes.rhgb quiet
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"
Régénérer le fichier
grub.cfg
.Sur une machine basée sur le BIOS :
# grub2-mkconfig -o /boot/grub2/grub.cfg
Sur une machine basée sur l'UEFI :
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
Si votre système utilise un emplacement autre que celui par défaut pour
grub.cfg
, adaptez la commande en conséquence.
Configurez l'agent Windows Azure Linux (
WALinuxAgent
) :Installez et activez le paquetage
WALinuxAgent
.# dnf install WALinuxAgent -y # systemctl enable waagent
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
Préparer la VM pour le provisionnement Azure :
Désenregistrez la VM du Gestionnaire d'abonnements de Red Hat.
# subscription-manager unregister
Nettoyer les détails de l'approvisionnement existants.
# waagent -force -deprovision
NoteCette commande génère des avertissements, ce qui est normal car Azure gère automatiquement le provisionnement des machines virtuelles.
Nettoyez l'historique du shell et arrêtez la VM.
# export HISTSIZE=0 # poweroff