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
# subscription-manager register --auto-attach Installed Product Current Status: Product Name: Red Hat Enterprise Linux for x86_64 Status: SubscribedCopy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que les paquets
cloud-initethyperv-daemonssont installés.dnf install cloud-init hyperv-daemons -y
# dnf install cloud-init hyperv-daemons -yCopy to Clipboard Copied! Toggle word wrap Toggle overflow Créez les fichiers de configuration
cloud-initné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.cfget ajoutez-y les lignes suivantes.reporting: logging: type: log telemetry: type: hypervreporting: logging: type: log telemetry: type: hypervCopy to Clipboard Copied! Toggle word wrap Toggle overflow Pour ajouter Azure en tant que source de données, créez le fichier de configuration
/etc/cloud/cloud.cfg.d/91-azure_datasource.cfget ajoutez-y les lignes suivantes.datasource_list: [ Azure ] datasource: Azure: apply_network_config: Falsedatasource_list: [ Azure ] datasource: Azure: apply_network_config: FalseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Pour s'assurer que le chargement automatique de certains modules du noyau est bloqué, modifiez ou créez le fichier
/etc/modprobe.d/blocklist.confet ajoutez-y les lignes suivantes.Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# 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-rulesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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.ruleset ajoutez-y la ligne suivante.SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"SUBSYSTEM=="net", DRIVERS=="hv_pci", ACTION=="add", ENV{NM_UNMANAGED}="1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow
Configurez le service
sshdpour qu'il démarre automatiquement.systemctl enable sshd systemctl is-enabled sshd
# systemctl enable sshd # systemctl is-enabled sshdCopy to Clipboard Copied! Toggle word wrap Toggle overflow Modifier les paramètres de démarrage du noyau :
Ouvrez le fichier
/etc/default/grubet assurez-vous que la ligneGRUB_TIMEOUTcontient la valeur suivante.GRUB_TIMEOUT=10
GRUB_TIMEOUT=10Copy to Clipboard Copied! Toggle word wrap Toggle overflow Supprimer les options suivantes à la fin de la ligne
GRUB_CMDLINE_LINUXsi elles sont présentes.rhgb quiet
rhgb quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow Assurez-vous que le fichier
/etc/default/grubcontient 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"
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 Copied! Toggle word wrap Toggle overflow Régénérer le fichier
grub.cfg.Sur une machine basée sur le BIOS :
grub2-mkconfig -o /boot/grub2/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow Sur une machine basée sur l'UEFI :
grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg
# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# dnf install WALinuxAgent -y # systemctl enable waagentCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
Provisioning.DeleteRootPassword=y ResourceDisk.Format=n ResourceDisk.EnableSwap=nCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Préparer la VM pour le provisionnement Azure :
Désenregistrez la VM du Gestionnaire d'abonnements de Red Hat.
subscription-manager unregister
# subscription-manager unregisterCopy to Clipboard Copied! Toggle word wrap Toggle overflow Nettoyer les détails de l'approvisionnement existants.
waagent -force -deprovision
# waagent -force -deprovisionCopy to Clipboard Copied! Toggle word wrap Toggle overflow 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
# export HISTSIZE=0 # poweroffCopy to Clipboard Copied! Toggle word wrap Toggle overflow