Résoudre les problèmes de déploiement Resource Manager liés à la création d’une machine virtuelle Linux dans Azure

Remarque

CentOS référencé dans cet article est une distribution Linux qui atteint la fin de vie (EOL). Tenez compte de votre utilisation et planifiez en conséquence. Pour plus d’informations, consultez Guide sur la fin de vie de CentOS.

Lorsque vous essayez de créer une machine virtuelle Azure, les erreurs courantes rencontrées sont des échecs d’approvisionnement ou des échecs d’allocation.

  • Un échec d’approvisionnement se produit lorsque l’image du système d’exploitation ne se charge pas en raison d’étapes de préparation incorrectes ou de la sélection de paramètres incorrects lors de la capture d’image à partir du portail.
  • Une erreur d’allocation se produit lorsque le cluster ou la région n’ont pas de ressources disponibles ou ne prennent pas en charge la taille de machine virtuelle demandée.

Si votre problème Azure n’est pas traité dans cet article, consultez les forums Azure sur MSDN et Stack Overflow. Vous pouvez publier votre problème sur ces forums ou sur @AzureSupport sur Twitter. Vous pouvez également envoyer une demande de support Azure. Pour envoyer une demande de support, rendez-vous sur la page du support Azure, puis sélectionnez Obtenir de l’aide.

Résolution des problèmes d’approvisionnement

Un scénario d’échec d’approvisionnement typique se produit après la création d’une image personnalisée puis le déploiement d’une machine virtuelle à partir de celle-ci. L’état de la machine virtuelle affiche alors creatingdurant une période allant jusqu’à 40 minutes et vous voyez ce message d’erreur :

Provisioning state Provisioning failed. 

OS Provisioning for VM 'sentilo' did not finish in the allotted time. 

The VM may still finish provisioning successfully. Please check provisioning state later. 

Also, make sure the image has been properly prepared (generalized). * Instructions for Windows: https://azure.microsoft.com/documentation/articles/virtual-machines-windows-upload-image/ * Instructions for Linux: https://azure.microsoft.com/documentation/articles/virtual-machines-linux-capture-image/.

Ou :

Deployment failed. Correlation ID: f9dcb33a-4e6e-45c5-9c9d-b29dd73da2e0. {
  "status": "Failed",
  "error": {
    "code": "ResourceDeploymentFailure",
    "message": "The resource operation completed with terminal provisioning state 'Failed'.",
    "details": [
      {
        "code": "OSProvisioningInternalError",
        "message": "OS Provisioning failed for VM 'iWishThisWouldCreateVM01' due to an internal error: The VM encountered an error during deployment. Please visit https://aka.ms/linuxprovisioningerror for more information on remediation."
      }
    ]
  }
}

L’état de la machine virtuelle indique alors failed.

Pourquoi des échecs d’approvisionnement se produisent-ils ?

Généralement, les échecs d’approvisionnement peuvent survenir pour plusieurs raisons, telles que :

  • Approvisionnement manquant/agent configuré de manière incorrecte

    • Vous devez vous assurer qu’un agent est présent et fonctionne correctement. Vous devez utiliser cloud-init. Si votre image ne le prend pas en charge, vous pouvez consulter ces étapes.
  • Configuration d’image incorrecte

Résoudre les échecs d’approvisionnement

Pour identifier la raison d’un échec d’approvisionnement, vous devez commencer par le journal série. Celui-ci est disponible en déployant la machine virtuelle avec les diagnostics de démarrage Azure.

Vous devez déployer une nouvelle machine virtuelle avec diagnostics de démarrage activés pour que la machine virtuelle avec l’image défaillante accède aux événements d’approvisionnement dans le journal série.

# create resource group
resourceGroup=myBrokenImageRG
location=westus2
az group create --name $resourceGroup --location $location

# create storage account

storageacct=mydiagdata$RANDOM

az storage account create \
  --resource-group $resourceGroup \
  --name $storageacct \
  --sku Standard_LRS \
  --location $location

# create VM
vmName=iWishThisWouldCreateVM01
brokenImageName=<ResourceID of brokenImage>
sshPubkeyPath=""

az vm create \
    --resource-group $resourceGroup \
    --name $vmName \
    --image $brokenImageName \
    --admin-username azadmin \
    --ssh-key-value $sshPubkeyPath \
    --boot-diagnostics-storage $storageacct

Pour afficher le journal série, vous pouvez accéder au portail ou exécuter la commande ci-dessous pour télécharger le journal « serialConsoleLogBlobUri » :

az vm boot-diagnostics get-boot-log-uris --name $vmName --resource-group $resourceGroup

Présentation du journal série pour les événements système et les événements d’approvisionnement

Lors de la création initiale de la machine virtuelle, cloud-init démarre et essaie de monter une image ISO, d’établir la connectivité réseau, de définir les propriétés transmises lors de la création de la machine virtuelle, de monter le disque éphémère (sur les tailles de machines virtuelles prises en charge) et de renvoyer un signal à la plateforme Azure pour indiquer l’achèvement de la configuration initiale du système d’exploitation.

Événements système et informations clés Journal série Remarques
Publication du noyau et version du noyau [ 0.000000] Linux version 5.4.0-1031-azure (buildd@lcy01-amd64-021) (gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)) #32~18.04.1-Ubuntu SMP Tue Oct 6 10:03:22 UTC 2020 (Ubuntu 5.4.0-1031.32~18.04.1-azure 5.4.65) Apparaît au début du journal série.
Options de ligne de commande du noyau [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-1031-azure root=UUID=8c0a4742-2f51-40b4-b659-357cfb0bb2a3 ro console=tty1 console=ttyS0 earlyprintk=ttyS0
[ 0.503399] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-1031-azure root=UUID=8c0a4742-2f51-40b4-b659-357cfb0bb2a3 ro console=tty1 console=ttyS0 earlyprintk=ttyS0
Apparaît au début du journal série. Recherchez command line:.
Version de systemd [ 8.626739] systemd[1]: systemd 237 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid) Recherchez systemd.
Cibles systemd atteintes [ [0;32m OK [0m] Reached target Swap.
[ [0;32m OK [0m] Reached target User and Group Name Lookups.
[ [0;32m OK [0m] Reached target Slices.
[ [0;32m OK [0m] Reached target Local File Systems (Pre).
[ [0;32m OK [0m] Reached target Local Encrypted Volumes.
[ [0;32m OK [0m] Reached target Local File Systems.
[ [0;32m OK [0m] Reached target System Time Synchronized.
[ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Reached target Cloud-config availability.
[ [0;32m OK [0m] Reached target System Initialization
[ [0;32m OK [0m] Reached target Timers.
[ [0;32m OK [0m] Reached target Paths.
[ [0;32m OK [0m] Reached target Network is Online.
[ [0;32m OK [0m] Reached target Remote File Systems (Pre).
[ [0;32m OK [0m] Reached target Remote File Systems.
[ [0;32m OK [0m] Reached target Sockets.
[ [0;32m OK [0m] Reached target Basic System.
[ [0;32m OK [0m] Reached target Login Prompts.
Recherchez Reached target.
Cibles de mise en réseau systemd communes à différentes distributions [ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
Recherchez Reached target Network.
État de mise en réseau approfondi et cibles de mise en réseau pour Ubuntu et les distributions où la mise en réseau du système est gérée par systemd-network. Starting Network Time Synchronization...
[ [0;32m OK [0m] Started Network Time Synchronization.
Starting Initial cloud-init job (pre-networking)...
[ [0;32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [0;32m OK [0m] Reached target Network (Pre).
Starting Network Service...
[ [0;32m OK [0m] Started Network Service.
Starting Wait for Network to be Configured...
Starting Network Name Resolution...
[ [0;32m OK [0m] Started Network Name Resolution.
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Started Wait for Network to be Configured.
[ [0;32m OK [0m] Reached target Network is Online.
Starting Dispatcher daemon for systemd-networkd...
[ [0;32m OK [0m] Started Dispatcher daemon for systemd-networkd.
Recherchez network ou networkd.
État de mise en réseau approfondi et cibles de mise en réseau pour RHEL/CentOS et les distributions où la mise en réseau du système est gérée par Network Manager. Starting Read and set NIS domainname from /etc/sysconfig/network...
[ [32m OK [0m] Started Read and set NIS domainname from /etc/sysconfig/network.
Starting Import network configuration from initramfs...
[ [32m OK [0m] Started Import network configuration from initramfs.
Starting Initial cloud-init job (pre-networking)...
[ [32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [32m OK [0m] Reached target Network (Pre).
Starting Network Manager...
[ [32m OK [0m] Started Network Manager.
Starting Network Manager Wait Online...
Starting Network Manager Script Dispatcher Service...
[ [32m OK [0m] Started Network Manager Script Dispatcher Service.
[ [32m OK [0m] Started Network Manager Wait Online.
Starting LSB: Bring up/down networking...
[ [32m OK [0m] Started LSB: Bring up/down networking.
[ [32m OK [0m] Reached target Network.
[ [32m OK [0m] Reached target Network is Online.
Recherchez network ou Network Manager.
État de mise en réseau approfondi et cibles de mise en réseau pour SUSE/SLES et les distributions où la mise en réseau du système est gérée par Wicked. Starting Initial cloud-init job (pre-networking)...
[ [0;32m OK [0m] Reached target Host and Network Name Lookups.
[ [0;32m OK [0m] Started Initial cloud-init job (pre-networking).
[ [0;32m OK [0m] Reached target Network (Pre).
Starting wicked DHCPv6 supplicant service...
Starting wicked DHCPv4 supplicant service...
Starting wicked AutoIPv4 supplicant service...
[ [0;32m OK [0m] Started wicked DHCPv6 supplicant service.
[ [0;32m OK [0m] Started wicked DHCPv4 supplicant service.
[ [0;32m OK [0m] Started wicked AutoIPv4 supplicant service.
Starting wicked network management service daemon...
[ [0;32m OK [0m] Started wicked network management service daemon.
Starting wicked network nanny service...
[ [0;32m OK [0m] Started wicked network nanny service.
Starting wicked managed network interfaces...
[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (22s / no limit)
[K[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (28s / no limit)
[K[ [0;31m* [0;1;31m* [0m [0;31m* [0m] A start job is running for wicked m…etwork interfaces (32s / no limit)
[K[ [0;32m OK [0m] Started wicked managed network interfaces.
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
Recherchez network ou wicked.
Le démarrage est-il allé assez loin pour que cloud-init démarre ? Starting Initial cloud-init job (pre-networking)...
Starting Initial cloud-init job (metadata service crawler)...
Recherchez Starting Initial cloud-init job.
Version de cloud-init et phases cloud-init atteintes [ 22.446387] cloud-init[703]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'init-local' at Wed, 28 Oct 2020 17:46:30 +0000. Up 21.23 seconds.
[ 28.357120] cloud-init[837]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'init' at Wed, 28 Oct 2020 17:46:34 +0000. Up 24.52 seconds.
[ 50.421009] cloud-init[1445]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'modules:config' at Wed, 28 Oct 2020 17:46:57 +0000. Up 48.21 seconds.
[ 51.338792] cloud-init[1541]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 running 'modules:final' at Wed, 28 Oct 2020 17:47:00 +0000. Up 51.01 seconds.
[ 51.366837] cloud-init[1541]: Cloud-init v. 20.3-2-g371b392c-0ubuntu1~18.04.1 finished at Wed, 28 Oct 2020 17:47:01 +0000. Datasource DataSourceAzure [seed=/dev/sr0]. Up 51.32 seconds
Recherchez Cloud-init v.
Interfaces réseau (cartes réseau), états de cartes réseau (activé/désactivé) et adresses IP de cartes réseau. Indique si les adresses IP de carte réseau ont été correctement configurées et attribuées. L’attribution d’adresses IP peut être dynamique, via DHCP, ou configurée de manière statique. [ 28.381544] cloud-init[837]: ci-info: ++++++++++++++++++++++++++++++++++++++Net device info+++++++++++++++++++++++++++++++++++++++
[ 28.396781] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
[ 28.416501] cloud-init[837]: ci-info: | Device | Up | Address | Mask | Scope | Hw-Address |
[ 28.427493] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
[ 28.446544] cloud-init[837]: ci-info: | eth0 | True | 10.0.0.4 | 255.255.255.0 | global | 00:0d:3a:c6:17:d5 |
[ 28.460031] cloud-init[837]: ci-info: | eth0 | True | fe80::20d:3aff:fec6:17d5/64 | . | link | 00:0d:3a:c6:17:d5 |
[ 28.476415] cloud-init[837]: ci-info: | lo | True | 127.0.0.1 | 255.0.0.0 | host | . |
[ 28.487962] cloud-init[837]: ci-info: | lo | True | ::1/128 | . | host | . |
[ 28.498191] cloud-init[837]: ci-info: +--------+------+-----------------------------+---------------+--------+-------------------+
Recherchez ci-info ou Net device info.
Itinéraires IP (IPv4 et IPv6). Affiche les itinéraires IP pour divers points de terminaison tels que le sous-réseau virtuel, le point de terminaison Azure (168.63.129.16) et le point de terminaison du serveur Azure Instance Metadata/IMDS (169.254.169.254). [ 28.508190] cloud-init[837]: ci-info: ++++++++++++++++++++++++++++++Route IPv4 info+++++++++++++++++++++++++++++++
[ 28.522189] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.531173] cloud-init[837]: ci-info: | Route | Destination | Gateway | Genmask | Interface | Flags |
[ 28.549782] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.562896] cloud-init[837]: ci-info: | 0 | 0.0.0.0 | 10.0.0.1 | 0.0.0.0 | eth0 | UG |
[ 28.571653] cloud-init[837]: ci-info: | 1 | 10.0.0.0 | 0.0.0.0 | 255.255.255.0 | eth0 | U |
[ 28.580192] cloud-init[837]: ci-info: | 2 | 168.63.129.16 | 10.0.0.1 | 255.255.255.255 | eth0 | UGH |
[ 28.587633] cloud-init[837]: ci-info: | 3 | 169.254.169.254 | 10.0.0.1 | 255.255.255.255 | eth0 | UGH |
[ 28.600728] cloud-init[837]: ci-info: +-------+-----------------+----------+-----------------+-----------+-------+
[ 28.611117] cloud-init[837]: ci-info: +++++++++++++++++++Route IPv6 info+++++++++++++++++++
[ 28.619534] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
[ 28.629292] cloud-init[837]: ci-info: | Route | Destination | Gateway | Interface | Flags |
[ 28.638596] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
[ 28.647791] cloud-init[837]: ci-info: | 1 | fe80::/64 | :: | eth0 | U |
[ 28.660622] cloud-init[837]: ci-info: | 3 | local | :: | eth0 | U |
[ 28.670776] cloud-init[837]: ci-info: | 4 | ff00::/8 | :: | eth0 | U |
[ 28.691506] cloud-init[837]: ci-info: +-------+-------------+---------+-----------+-------+
Recherchez ci-info, Route IPv4 infoou Route IPv6 info.
Clés SSH autorisées pour les utilisateurs sur la machine virtuelle. Le fichier authorized_keys dans SSH spécifie les clés SSH qui peuvent être utilisées pour se connecter au compte utilisateur pour lequel le fichier est configuré. ci-info: ++++++++++++++++++++++++++Authorized keys from /home/azureuser/.ssh/authorized_keys for user azureuser+++++++++++++++++++++++++++
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
ci-info: | Keytype | Fingerprint (sha256) | Options | Comment |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
ci-info: | ssh-rsa | 88:b0:2a:ce:f5:91:49:a2:01:07:a4:e5:db:b3:8c:3e:7e:1f:52:83:53:3c:83:4f:a3:a7:17:13:65:a3:47:e2 | - | - |
ci-info: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
Recherchez Authorized keys.
Génération de clé d’hôte SSH. Une clé d’hôte est une clé de chiffrement utilisée pour authentifier les ordinateurs dans le protocole SSH. Les clés d’hôte sont des paires de clés qui utilisent généralement les algorithmes RSA, DSA ou ECDSA. Les clés d’hôte publiques sont stockées sur les clients SSH et/ou distribuées à ces derniers, tandis que les clés privées sont stockées sur les serveurs SSH. Starting OpenSSH Server Key Generation...
[ [32m OK [0m] Started OpenSSH Server Key Generation.
[ 40.437735] cloud-init[837]: Generating public/private rsa key pair.
[ 40.451048] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_rsa_key.
[ 40.473777] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_rsa_key.pub.
[ 40.489730] cloud-init[837]: The key fingerprint is:
[ 40.501705] cloud-init[837]: SHA256:NGxA6sf9EAMtczaFSBSJqiGkafEZuPUykNLxefbXofM root@myVmName
[ 40.686610] cloud-init[837]: Generating public/private dsa key pair.
[ 40.712350] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_dsa_key.
[ 40.721901] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_dsa_key.pub.
[ 40.721966] cloud-init[837]: The key fingerprint is:
[ 40.722011] cloud-init[837]: SHA256:QjoxEw9PNOg0P3LW6wnSZzjsfQQ4vhW8S0dAuNWkWHM root@myVmName
[ 40.722606] cloud-init[837]: Generating public/private ecdsa key pair.
[ 40.722650] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_ecdsa_key.
[ 40.722690] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_ecdsa_key.pub.
[ 40.722734] cloud-init[837]: The key fingerprint is:
[ 40.722774] cloud-init[837]: SHA256:BaFqan71k4blzY8TQrLQOavMWoKHgUDgxEAuB0ouJCo root@myVmName
[ 41.063239] cloud-init[837]: Generating public/private ed25519 key pair.
[ 41.091125] cloud-init[837]: Your identification has been saved in /etc/ssh/ssh_host_ed25519_key.
[ 41.120794] cloud-init[837]: Your public key has been saved in /etc/ssh/ssh_host_ed25519_key.pub.
[ 41.154126] cloud-init[837]: The key fingerprint is:
[ 41.157135] cloud-init[837]: SHA256:KsKfIKjwGpMgbYYved5v5oNE6v6eeUwI4AxeeigXk14 root@myVmName
Recherchez Generating public/private, Your identification has been saved in, The key fingerprint is:ou SHA.
Image mémoire des empreintes de clés d’hôte SSH. <14>Oct 28 17:47:00 ec2: #############################################################
<14>Oct 28 17:47:00 ec2: -----BEGIN SSH HOST KEY FINGERPRINTS-----
<14>Oct 28 17:47:00 ec2: 1024 SHA256:QjoxEw9PNOg0P3LW6wnSZzjsfQQ4vhW8S0dAuNWkWHM root@myVmName (DSA)
<14>Oct 28 17:47:00 ec2: 256 SHA256:BaFqan71k4blzY8TQrLQOavMWoKHgUDgxEAuB0ouJCo root@myVmName (ECDSA)
<14>Oct 28 17:47:00 ec2: 256 SHA256:KsKfIKjwGpMgbYYved5v5oNE6v6eeUwI4AxeeigXk14 root@myVmName (ED25519)
<14>Oct 28 17:47:00 ec2: 2048 SHA256:NGxA6sf9EAMtczaFSBSJqiGkafEZuPUykNLxefbXofM root@myVmName (RSA)
<14>Oct 28 17:47:00 ec2: -----END SSH HOST KEY FINGERPRINTS-----
<14>Oct 28 17:47:00 ec2: #############################################################
Recherchez BEGIN SSH HOST KEY FINGERPRINTS et END SSH HOST KEY FINGERPRINTS.
Image mémoire des clés d’hôte SSH. -----BEGIN SSH HOST KEY KEYS-----
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFzu1pBMlq3g/8ztkQo+ZukigmLzQ02/ogL7Xe8aKjbuM8q4ibo1kWnXB0UuGkGE0DotVyBQsoyUNorTj96G2Xo= root@myVmName
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIbGOVk/IMfL+RZBDo6YlfbKncVTIBy7wSrqL5ixX6yZ root@myVmName
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDnH5sIIEFi2ne6CMk1jscVQ289i4idOMJt3WwzHR1lOgJf9kPY+WzmFw71Ai9ZEpqSTpYWxgt+z26ujxAE3R1LvOn1QKetlsPLT5FH8oIZESXmYDb/KL/4k81aDelzko1Xipk5SSai8LeX1qglKUEyGevht9S+QQTHK8Ed++UDzNidCk02iAdhpX/0E5d09NE4r+v5wAojOazLnq6JaESYV07SI7rBOGO7hCdSrQwWodYnhyTQRP3FbqjUeNRqBl3uqlH3+rgMAAPsCpToFTCperTRmyBrCbspzpxIpQSEFbf639EL/7Cst/Ff2ND0D0zVAaSdrmFZisYUcO+VRanZ root@myVmName
-----END SSH HOST KEY KEYS-----
Recherchez BEGIN SSH HOST KEY KEYS et END SSH HOST KEY KEYS.
Le serveur SSH a-t-il démarré ? Starting OpenBSD Secure Shell server...
[ [0;32m OK [0m] Started OpenBSD Secure Shell server.
Starting OpenSSH server daemon...
[ [32m OK [0m] Started OpenSSH server daemon.
Starting OpenSSH Daemon...
[ [0;32m OK [0m] Started OpenSSH Daemon.
Recherchez Secure Shell server, OpenSSH server daemonou OpenSSH Daemon.
Les sessions utilisateur et les connexions utilisateur sont-elles autorisées ? La machine virtuelle affiche-t-elle une invite de connexion utilisateur ? Starting Accounts Service...
Starting Permit User Sessions...
Starting Login Service...
[ [0;32m OK [0m] Started Permit User Sessions.
[ [0;32m OK [0m] Started Login Service.
[ [0;32m OK [0m] Reached target Login Prompts.
[ [0;32m OK [0m] Started Accounts Service.
Ubuntu 18.04.5 LTS myVmName ttyS0
myVmName login:
Recherchez Accounts Service, Permit User Sessions, Login Service, Login Promptset login:.
L’agent Linux Azure a-t-il démarré avec succès ? [ [0;32m OK [0m] Started Azure Linux Agent.
2020/10/28 17:46:52.082569 INFO Daemon Azure Linux Agent Version:2.2.45
Recherchez Azure Linux Agent.
Du point de vue de l’agent Linux Azure, la machine virtuelle a-t-elle terminé l’approvisionnement avec succès ? L’agent Linux Azure a-t-il démarré le gestionnaire d’extensions de la machine virtuelle une fois l’approvisionnement réussi ? L’agent Linux Azure ne démarre le gestionnaire d’extensions de la machine virtuelle que s’il détecte que l’approvisionnement de la machine virtuelle a réussi. 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning Recherchez INFO Daemon Finished provisioning.
Y a-t-il eu des erreurs, des échecs ou des exceptions dans le journal série ? Recherchez fail, error, warn et exception dans les journaux série.

Erreurs courantes

Pilote UDF sur liste noire

Erreur : Dans le journal série :

[   10.855501] cloud-init[732]: Cloud-init v. 20.4.1-0ubuntu1~18.04.1 running 'init-local' at Thu, 28 Jan 2021 23:43:02 +0000. Up 10.68 seconds.
[   10.869581] cloud-init[732]: 2021-01-28 23:43:03,097 - azure.py[WARNING]: /dev/sr0 was not mountable
[   10.875608] cloud-init[732]: 2021-01-28 23:43:03,106 - azure.py[ERROR]: No Azure metadata found
[   10.885776] cloud-init[732]: 2021-01-28 23:43:03,107 - azure.py[ERROR]: Could not crawl Azure metadata: No Azure metadata found
[   14.634117] cloud-init[732]: 2021-01-28 23:43:06,876 - azure.py[WARNING]: Reported failure to Azure fabric.

Dans waagent.log :

"UDF driver Blocklisted 2020/09/11 19:16:40.240016 ERROR Daemon Provisioning failed: [ProtocolError] [CopyOvfEnv] Error mounting dvd: [OSUtilError] Failed to mount dvd deviceInner error: [mount -o ro -t udf,iso9660 /dev/sr0 /mnt/cdrom/secure] returned 32: mount: /mnt/cdrom/secure: wrong fs type, bad option, bad superblock on /dev/sr0, missing codepage or helper program, or other error."

Cause : Le pilote UDF n’est pas chargé dans le noyau, or cela est nécessaire à l’approvisionnement de la machine virtuelle. Consultez les exigences relatives aux images.

Lors de l’approvisionnement initial d’une machine virtuelle sur Azure, l’hôte Azure présente un « disque ISO CD-ROM d’approvisionnement » à la machine virtuelle. Ce disque d’approvisionnement est généralement présenté à la machine virtuelle via /dev/sr0. Dans le disque d’approvisionnement, il existe un manifeste d’approvisionnement qui contient les informations d’approvisionnement d’une machine virtuelle. L’agent d’approvisionnement qui se trouve dans la machine virtuelle doit monter le disque d’approvisionnement, lire le manifeste d’approvisionnement et approvisionner la machine virtuelle en conséquence.

Étant donné que le disque d’approvisionnement est un cdrom iso disk, le pilote UDF Linux est requis par le noyau pour pouvoir monter ce disque avec succès. La documentation relative aux images Linux de Microsoft référencie cela. Pour cette machine virtuelle, les journaux indiquent que le disque d’approvisionnement n’a pas pu être monté, ce qui a entraîné l’échec de l’approvisionnement de la machine virtuelle. La raison de cet échec est probablement due à des pilotes UDF manquants ou bloqués.

Solution : Assurez-vous que le pilote UDF est configuré pour être chargé dans le noyau.

Un moyen courant de bloquer les pilotes UDF est par le biais des configurations dans /etc/modprobe.d/. Consultez le propriétaire du client/de l’image pour vous assurer que les pilotes UDF Linux sont présents et ne sont pas bloqués. Consultez cet article sur le blocage/déblocage des pilotes du noyau.

Problème de caractères Unicode dans les balises de machine virtuelle

Erreur : Dans cloud-init.log :

  File "/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceAzure.py", line 1316, in _get_metadata_from_imds
    except json.decoder.JSONDecodeError:
AttributeError: 'module' object has no attribute 'JSONDecodeError'

Cause : Ce problème se produit, car les balises de machine virtuelle comportent des caractères non-ASCII et la version de cloud-init est antérieure à 20.3.

Solution : Veillez à utiliser une image qui prend en charge cloud-init 20.3 ou version ultérieure, ou supprimez les caractères non-ASCII des balises de machine virtuelle.

Mot de passe avec caractères Unicode

Erreur : Dans cloud-init.log :

File "/usr/lib/python2.7/site-packages/cloudinit/sources/DataSourceAzure.py", line 1153, in encrypt_pass
    return crypt.crypt(password, salt_id + util.rand_str(strlen=16))
  File "/usr/lib64/python2.7/crypt.py", line 55, in crypt
    return _crypt.crypt(word, salt)
UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128)

Cause : Ce problème se produit, car le mot de passe fourni contient des caractères non pris en charge (non-ASCII).

Solution : Indiquez un mot de passe qui ne contient que des caractères ASCII.

Autorisation dhclient

Erreur : Dans cloud-init.log :

Command: ['/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient', '-1', '-v', '-lf', '/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhcp.leases', '-pf', '/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient.pid', 'eth0', '-sf', '/bin/true']
Exit code: -
Reason: [Errno 13] Permission denied: b'/var/tmp/cloud-init/cloud-init-dhcp-yd8mvxud/dhclient'

Cause : Les anciennes versions de cloud-init (antérieures à la version 20.3) exécutent DHCP en copiant et en exécutant dhclient dans /var/tmp. Si /var/tmp est monté comme noexec (pas d’exécution) par la machine virtuelle, DHCP échoue car dhclient ne dispose pas des autorisations pour s’exécuter dans /var/tmp.

Les versions >=20.3 de cloud-init contiennent un correctif qui utilise les paramètres par défaut et exécute dhclient « tel quel » (en ne le copiant pas et en ne l’exécutant pas dans /var/tmp s’il existe des problèmes d’autorisations).

Solution : Pour les machines virtuelles exécutant les versions de cloud-init antérieures à la version 20.3, configurez la machine virtuelle de sorte que /var/tmp ne soit pas monté comme noexec. Vous pouvez également mettre à niveau le package cloud-init de la machine virtuelle vers la version >= 20.3.

Obtention de plus de journaux

Si vous constatez que vous avez besoin de plus de journaux de la machine virtuelle pour comprendre les problèmes, vous pouvez peut-être vous connecter en SSH à la machine virtuelle en utilisant la console série à l’aide d’un utilisateur intégré à l’image. Si vous n’avez pas d’utilisateur intégré, vous pouvez soit recréer l’image avec un utilisateur, soit utiliser l’outil de réparation de machine virtuelle Azure, qui montera le disque du système d’exploitation de la machine virtuelle dont l’approvisionnement a échoué sur une autre machine virtuelle.

az vm repair create  \
    --resource-group $resourceGroup \
    --name $vmName \
    --repair-username repairadm \
    --repair-password AnotherPassword123! \
    --repair-vm-name repairVM \
    --verbose

Présentation de cloud-init.log

Lorsque vous avez accès aux journaux cloud-init, consultez la documentation relative au dépannage de cloud-init.

Obtention d’aide

Si vous avez consulté le guide et que vous ne parvenez toujours pas à résoudre votre problème, vous pouvez ouvrir un cas de support. Le cas échéant, sélectionnez le produit et la rubrique de support appropriés. Cela vous mettra en relation avec la bonne équipe de support.

Sélection du produit de l’incident :

Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: <COMPLETE>
Support Subtopic: <COMPLETE>

Collecte des journaux d’activité

Pour résoudre les problèmes, commencez par collecter les journaux d’activité afin d’identifier l’erreur associée au problème. Les liens suivants contiennent des informations détaillées sur la marche à suivre.

Voir les opérations de déploiement

Afficher les journaux d’activité pour gérer les ressources Azure

Problème : Image personnalisée ; erreurs d’approvisionnement

Des erreurs d’approvisionnement surviennent si vous chargez ou capturez une image de machine virtuelle généralisée en tant qu’image de machine virtuelle spécialisée ou vice versa. Le premier scénario entraîne une erreur de délai d’attente d’approvisionnement et le second un échec d’approvisionnement. Pour déployer votre image personnalisée sans erreur, vous devez vous assurer que le type de l’image ne change pas pendant le processus de capture.

Le tableau suivant répertorie les combinaisons possibles d’images généralisées et spécialisées, le type d’erreur rencontrée et ce que vous devez faire pour corriger les erreurs.

Le tableau suivant répertorie les combinaisons possibles de chargement et de capture d’images de système d’exploitation Linux généralisées et spécialisées. La lettre O désigne les combinaisons traitées sans erreur tandis que la lettre N désigne celles générant des erreurs. Les causes et les résolutions des différentes erreurs rencontrées sont indiquées sous le tableau.

Système d’exploitation Chargement spéc. Chargement gén. Capture spéc. Capture gén.
Linux gén. N1 O N3 O
Linux spéc. O N2 O N4

O : Si le système dʼexploitation est de type Linux généralisé et quʼil est téléchargé et/ou capturé avec le paramètre généralisé, il nʼy a aucune erreur. De même, si le système dʼexploitation est de type Linux spécialisé et quʼil est téléchargé et/ou capturé avec le paramètre spécialisé, il nʼy a aucune erreur.

Erreurs de chargement

N1 : Si le système dʼexploitation est de type Linux généralisé et quʼil est chargé comme spécialisé, vous obtiendrez une erreur de délai dʼattente dʼapprovisionnement, la machine virtuelle étant bloquée à lʼétape dʼapprovisionnement.

N2 : Si le système dʼexploitation est de type Linux spécialisé et qu’il est chargé comme généralisé, vous obtiendrez une erreur dʼéchec dʼapprovisionnement, car la nouvelle machine virtuelle sʼexécute avec le nom dʼordinateur, le nom dʼutilisateur et le mot de passe dʼorigine.

Résolution - Erreur de chargement

pour corriger ces deux erreurs, chargez le disque dur virtuel d’origine, disponible en mode local, avec le même paramétrage que pour le système d’exploitation (généralisé/spécialisé). Pour effectuer un chargement de type généralisé, n’oubliez pas de commencer par exécuter -deprovision.

Erreurs de capture

N3 : Si le système dʼexploitation est de type Linux généralisé et quʼil est capturé comme spécialisé, vous obtiendrez une erreur de délai dʼattente dʼapprovisionnement, car la machine virtuelle dʼorigine ne peut pas être utilisée tant quʼelle est identifiée comme généralisée.

N4 : Si le système dʼexploitation est de type Linux spécialisé et quʼil est capturé comme généralisé, vous obtiendrez une erreur dʼéchec dʼapprovisionnement, car la nouvelle machine virtuelle sʼexécute avec le nom dʼordinateur, le nom dʼutilisateur et le mot de passe dʼorigine. En outre, la machine virtuelle d’origine n’est pas utilisable tant qu’elle est marquée comme spécialisée.

Résolution - Erreur de capture

Pour corriger ces deux erreurs, supprimez l’image actuelle du portail, et effectuez une nouvelle capture à partir des disques durs virtuels en cours, avec le même paramétrage que celui du système d’exploitation (généralisé/spécialisé).

Cette erreur se produit lorsque la nouvelle demande de la machine virtuelle est épinglée à un cluster qui ne prend pas en charge la taille de machine virtuelle requise ou qui n’a pas d’espace libre suffisant pour prendre en charge la demande.

Cause 1

Le cluster ne peut pas prendre en charge la taille de machine virtuelle demandée.

Résolution 1

  • Relancez la requête en utilisant une taille inférieure pour la machine virtuelle.

  • Si la taille de la machine virtuelle requise ne peut pas être modifiée :

    • Arrêtez toutes les machines virtuelles dans le groupe à haute disponibilité. Cliquez sur Groupes de ressources>votre groupe de ressources>Ressources>votre groupe à haute disponibilité>Machines virtuelles>votre machine virtuelle>Arrêter.
    • Une fois que toutes les machines virtuelles sont arrêtées, créez une machine virtuelle à la taille souhaitée.
    • Démarrez la nouvelle machine virtuelle en premier, puis sélectionnez chacune des machines virtuelles arrêtées et cliquez sur Démarrer.

Cause 2

Le cluster n’a pas de ressources libres.

Résolution 2

  • Relancez la demande ultérieurement.
  • Si la nouvelle machine virtuelle peut faire partie d’un autre groupe à haute disponibilité
    • Créez une machine virtuelle dans un autre groupe à haute disponibilité (dans la même région).
    • Ajoutez la nouvelle machine virtuelle au même réseau virtuel.

Problèmes principaux

Les principaux problèmes suivants peuvent vous aider à résoudre votre problème. Pour commencer à résoudre le problème, passez en revue ces étapes :

Le cluster ne peut pas prendre en charge la taille de machine virtuelle demandée

  • Relancez la requête en utilisant une taille inférieure pour la machine virtuelle.
  • Si la taille de la machine virtuelle requise ne peut pas être modifiée :
    • Arrêtez toutes les machines virtuelles dans le groupe à haute disponibilité. Cliquez sur Groupes de ressources> votre groupe de ressources>Ressources> votre groupe à haute disponibilité >Machines virtuelles> votre machine virtuelle >Arrêter.
    • Une fois que toutes les machines virtuelles sont arrêtées, créez une machine virtuelle à la taille souhaitée.
    • Démarrez la nouvelle machine virtuelle en premier, puis sélectionnez chacune des machines virtuelles arrêtées et cliquez sur Démarrer.

Le cluster n’a pas de ressources libres

  • Relancez la requête ultérieurement.
  • Si la nouvelle machine virtuelle peut faire partie d’un autre groupe à haute disponibilité
    • Créez une machine virtuelle dans un autre groupe à haute disponibilité (dans la même région).
    • Ajoutez la nouvelle machine virtuelle au même réseau virtuel.

Forum aux questions

Comment activer mon crédit mensuel pour Visual Studio Enterprise (BizSpark) ?

Pour activer votre crédit mensuel, consultez cet article.

Pourquoi ne puis-je pas installer le pilote du GPU sur une machine virtuelle Ubuntu NV ?

Actuellement, la prise en charge de GPU Linux est uniquement disponible sur les machines virtuelles NC Azure exécutant Ubuntu Server 16.04 LTS. Pour plus d’informations, consultez Configuration des pilotes GPU NVIDIA pour les machines virtuelles séries N exécutant Linux.

Il manque des pilotes sur ma machine virtuelle Linux série N

Vous trouverez des instructions relatives à l’installation des pilotes pour machines virtuelles Linux ici.

Impossible de trouver une instance GPU dans ma machine virtuelle Série N

Pour tirer parti des fonctionnalités GPU des machines virtuelles de la série N, vous devez installer un pilote graphique sur chaque machine virtuelle après le déploiement. Vous trouverez des informations sur la configuration des pilotes ici.

Les machines virtuelles de la série N sont-elles disponibles dans ma région ?

Vous pouvez vérifier la disponibilité à l’aide de la Table des produits disponibles par région ainsi que les tarifications ici.

Impossible de voir les différentes familles de taille de machines virtuelles lors du redimensionnement de ma machine virtuelle

Lorsqu’un ordinateur virtuel est en cours d’exécution, il est déployé sur un serveur physique. Les serveurs physiques dans les régions Azure sont regroupés dans des clusters de matériel physique commun. La méthode pour redimensionner une machine virtuelle qui doit être transférée vers différents clusters de matériel physique peut varier en fonction du modèle de déploiement utilisé pour déployer la machine virtuelle.

  • Si les machines virtuelles sont déployées à partir d’un modèle de déploiement classique, le déploiement du service cloud doit être supprimé et redéployé afin de changer la taille de la machine virtuelle pour une autre famille de taille.

  • Si les machines virtuelles sont déployées à partir du modèle de déploiement Resource Manager, vous devez arrêter toutes les machines virtuelles dans le groupe à haute disponibilité avant de changer la taille d’une machine dans le groupe à haute disponibilité.

La taille de machine virtuelle répertoriée nʼest pas prise en charge lors du déploiement dans le groupe à haute disponibilité

Choisissez une taille prise en charge par le cluster du groupe à haute disponibilité. Lors de la création d’un groupe à haute disponibilité, il est recommandé de choisir la plus grande taille de machine virtuelle dont vous pensez avoir besoin. Ce sera votre premier déploiement dans le groupe à haute disponibilité.

Quelles distributions/versions de Linux sont prises en charges par Azure ?

Vous pouvez trouver la liste sur Linux sur Distributions prises en charge par Azure.

Est-il possible d’ajouter une machine virtuelle classique à un groupe à haute disponibilité ?

Oui. Vous pouvez ajouter une machine virtuelle classique existante à un nouveau groupe ou à un groupe à haute disponibilité déjà existant. Pour plus d’informations, consultez Ajouter une machine virtuelle existante à un groupe à haute disponibilité.

Importante

Les machines virtuelles classiques ont été mises hors service le 1er mars 2023.

Si vous utilisez des ressources IaaS d’ASM, veuillez terminer votre migration avant le 1er mars 2023. Nous vous encourageons à effectuer le changement plus tôt pour profiter des nombreuses améliorations de fonctionnalités d’Azure Resource Manager.

Pour plus d’informations, consultez l’article Migrez vos ressources IaaS vers Azure Resource Manager avant le 1er mars 2023.

Étapes suivantes

Contactez-nous pour obtenir de l’aide

Pour toute demande ou assistance, créez une demande de support ou posez une question au support de la communauté Azure. Vous pouvez également soumettre des commentaires sur les produits à la communauté de commentaires Azure.