Condividi tramite


Risolvere i problemi relativi alla distribuzione di macchine virtuali Linux

Si applica a: ✔️ macchine virtuali di Linux

Nota

CentOS a cui si fa riferimento in questo articolo è una distribuzione Linux e raggiungerà End Of Life (EOL). Valutare le proprie esigenze e pianificare di conseguenza. Per altre informazioni, vedere Indicazioni sulla fine della vita di CentOS.

Quando si crea una nuova macchina virtuale (VM) di Azure, gli errori comuni che si verificano sono errori di provisioning o di allocazione.

  • Un errore di provisioning si verifica quando l'immagine del sistema operativo non viene caricata a causa di passaggi di preparazione non corretti o della selezione di impostazioni non corrette durante l'acquisizione dell'immagine dal portale.
  • Un errore di allocazione si verifica quando il cluster o l'area non ha risorse disponibili o non può supportare le dimensioni della VM richieste.

Se il problema riguardante Azure non viene risolto in questo articolo, visitare i forum di Azure su MSDN e Stack Overflow. È possibile pubblicare il problema in questi forum o in @AzureSupport su Twitter. È anche possibile inviare una richiesta di supporto tecnico di Azure. Per inviare una richiesta di supporto, selezionare Supporto tecnico nella pagina del supporto di Azure.

Sintomi

Uno scenario tipico di errore di provisioning si verifica dopo aver creato un'immagine personalizzata, quindi distribuirla, quindi si verifica unto 40 minuti in cui lo stato della macchina virtuale viene visualizzato creatinge viene visualizzato questo messaggio di errore:

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/.

Oppure:

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."
      }
    ]
  }
}

Viene quindi visualizzato lo stato della macchina virtuale contrassegnato come failed.

Perché si verificano errori di provisioning?

In genere, gli errori di provisioning possono verificarsi per diversi motivi, ad esempio:

  • Provisioning mancante /agente configurato in modo non corretto

    È necessario assicurarsi che un agente sia presente e funzioni correttamente, è necessario usare cloud-init o se l'immagine non supporterà questa operazione, è possibile esaminare questi passaggi.

  • Configurazione dell'immagine non corretta

    Sono disponibili indicazioni su come configurare le immagini con cloud-init e altri requisiti per le immagini di Azure, verificare questo problema.

Risolvere gli errori di provisioning

Per identificare il motivo del provisioning non riuscito, è necessario iniziare con il log seriale, è disponibile distribuendo la macchina virtuale con la diagnostica di avvio di Azure.

Sarà necessario distribuire una nuova macchina virtuale con diagnostica di avvio abilitata per la macchina virtuale con l'immagine con esito negativo per accedere agli eventi di provisioning nel log seriale.

# 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

Per visualizzare il log seriale, è possibile passare al portale oppure eseguire il comando seguente per scaricare il log serialConsoleLogBlobUri :

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

Informazioni sul log seriale per gli eventi di sistema e gli eventi di provisioning

Quando la macchina virtuale viene creata per la prima volta, cloud-init si avvierà e tenterà di montare un ISO, stabilire la connettività di rete, impostare le proprietà passate durante la creazione della macchina virtuale, montare il disco temporaneo (nelle dimensioni di vm supportate) e segnalare alla piattaforma Azure che la configurazione iniziale del sistema operativo è stata completata.

Eventi di sistema e informazioni chiave Log seriale Note
Versione del kernel e versione del kernel [ 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) Viene visualizzato all'inizio del log seriale.
Opzioni della riga di comando del kernel [ 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
Viene visualizzato all'inizio del log seriale. Cercare command line:.
Versione di sistema [ 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) Cercare systemd.
Obiettivi di sistema raggiunti [ [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.
Cercare Reached target.
Destinazioni di rete di sistema comuni tra distribuzioni diverse [ [0;32m OK [0m] Reached target Network (Pre).
[ [0;32m OK [0m] Reached target Network.
[ [0;32m OK [0m] Reached target Network is Online.
Cercare Reached target Network.
Obiettivi di rete e stato di rete approfonditi per Ubuntu e distribuzioni in cui la rete di sistema è gestita da 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.
network Cercare o networkd.
Obiettivi di rete e stato di rete approfonditi per RHEL/CentOS e distribuzioni in cui la rete di sistema è gestita da 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.
network Cercare o Network Manager.
Obiettivi di rete e stato di rete approfonditi per SUSE/SLES e distribuzioni in cui la rete di sistema è gestita da 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.
network Cercare o wicked.
L'avvio è arrivato abbastanza lontano per l'avvio di cloud-init? Starting Initial cloud-init job (pre-networking)...
Starting Initial cloud-init job (metadata service crawler)...
Cercare Starting Initial cloud-init job.
È stata raggiunta la versione cloud-init e le fasi cloud-init [ 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
Cercare Cloud-init v.
Interfacce di rete (NIC), stati NIC (su/giù) e indirizzi IP della scheda di interfaccia di rete. Indica se gli indirizzi IP della scheda di interfaccia di rete sono stati configurati e assegnati correttamente. L'assegnazione di indirizzi IP può essere dinamica tramite DHCP o configurata in modo statico. [ 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: +--------+------+-----------------------------+---------------+--------+-------------------+
ci-info Cercare o Net device info.
Route IP (IPv4 e IPv6). Mostra le route IP per vari endpoint, ad esempio la subnet della rete virtuale, l'endpoint di Azure (168.63.129.16) e l'endpoint IMDS dell'istanza di Azure (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: +-------+-------------+---------+-----------+-------+
ci-infoCercare , Route IPv4 infoo Route IPv6 info.
Chiavi autorizzate SSH per gli utenti nella macchina virtuale. Il authorized_keys file in SSH specifica le chiavi SSH che possono essere usate per accedere all'account utente per cui è configurato il file. 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: +---------+-------------------------------------------------------------------------------------------------+---------+---------+
Cercare Authorized keys.
Generazione di chiavi host SSH. Una chiave host è una chiave crittografica usata per autenticare i computer nel protocollo SSH. Le chiavi host sono coppie chiave, in genere usando gli algoritmi RSA, DSA o ECDSA. Le chiavi host pubbliche vengono archiviate nei client SSH e/o distribuite ai client SSH e le chiavi private vengono archiviate nei server 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
Generating public/privateCercare , Your identification has been saved in, The key fingerprint is:o SHA.
Dump delle impronte digitali della chiave host 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: #############################################################
BEGIN SSH HOST KEY FINGERPRINTS Cercare e END SSH HOST KEY FINGERPRINTS.
Dump delle chiavi host 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-----
BEGIN SSH HOST KEY KEYS Cercare e END SSH HOST KEY KEYS.
Il server SSH è stato avviato? 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.
Secure Shell serverCercare , OpenSSH server daemono OpenSSH Daemon.
Le sessioni utente e gli account di accesso utente sono consentiti? La macchina virtuale visualizza una richiesta di accesso utente? 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:
Accounts ServiceCercare , Permit User Sessions, Login Service, Login Promptse login:.
L'agente Linux di Azure è stato avviato correttamente? [ [0;32m OK [0m] Started Azure Linux Agent.
2020/10/28 17:46:52.082569 INFO Daemon Azure Linux Agent Version:2.2.45
Cercare Azure Linux Agent.
Dal punto di vista dell'agente Linux di Azure, la macchina virtuale ha completato correttamente il provisioning? Il gestore dell'estensione macchina virtuale è stato avviato dall'agente Linux di Azure dopo che il provisioning è riuscito? L'agente Linux di Azure avvia il gestore dell'estensione della macchina virtuale solo se rileva che il provisioning delle macchine virtuali è riuscito. 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning Cercare INFO Daemon Finished provisioning.
Si sono verificati errori, errori o eccezioni nel log seriale? failCercare , error, warne exception nei log seriali.

Errori comuni

Modulo UDF disabilitato

Errore nel log seriale:

[   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.

Errore nel 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."

Causa: il driver UDF non viene caricato nel kernel. Questa operazione è necessaria per il provisioning della macchina virtuale, vedere Requisiti dell'immagine.

Quando viene effettuato il provisioning di una macchina virtuale in Azure, l'host di Azure presenta un "disco iso di provisioning" alla macchina virtuale. Questo disco di provisioning viene in genere presentato alla macchina virtuale tramite /dev/sr0. All'interno del disco di provisioning è presente un manifesto di provisioning che contiene le informazioni di provisioning di una macchina virtuale. L'agente di provisioning in-VM dovrebbe montare il disco di provisioning, leggere il manifesto del provisioning ed effettuare il provisioning della macchina virtuale di conseguenza.

Poiché il disco di provisioning è un , cdrom iso diskil driver UDF Linux è richiesto dal kernel per montare correttamente questo disco. Questo riferimento è disponibile nella documentazione Microsoft sulle immagini Linux. Per questa macchina virtuale, i log indicano che il disco di provisioning non è riuscito a eseguire il montaggio, causando l'esito negativo del provisioning delle macchine virtuali. Il motivo più probabile è dovuto a driver UDF mancanti o bloccati.

Soluzione: assicurarsi che il driver UDF sia configurato per il caricamento nel kernel.

Un modo comune per bloccare i driver di funzione definita dall'utente consiste nell'usare le configurazioni all'interno /etc/modprobe.d/di . Collaborare con il proprietario del cliente/immagine per assicurarsi che i driver UDF linux siano presenti e non bloccati. Consultare questo articolo sul blocco/sblocco dei driver del kernel.

Problema relativo ai caratteri Unicode nei tag della macchina virtuale

Errore in 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'

Causa: ciò si verifica perché i tag della macchina virtuale hanno caratteri non ascii e la versione di cloud-init è precedente alla 20.3.

Soluzione: usare o verificare che l'immagine supporti cloud-init 20.3 o versione successiva oppure rimuovere caratteri non ascii dai tag della macchina virtuale.

Password con caratteri Unicode

Errore in 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)

Causa: ciò si verifica perché la password specificata contiene caratteri non supportati (non ascii).

Soluzione: specificare una password con solo caratteri ascii.

Autorizzazione Dhclient

Errore in 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'

Causa: le versioni precedenti di cloud-init (precedenti alla versione 20.3) eseguono DHCP copiando ed eseguendo dhclient in /var/tmp. Se /var/tmp viene montato come noexec (nessuna esecuzione) dalla macchina virtuale, DHCP avrà esito negativo perché dhclient non si dispone delle autorizzazioni per l'esecuzione all'interno /var/tmpdi .

Le versioni >di Cloud-init = 20.3 contengono una correzione che esegue il fallback ed esegue dhclient "così com'è" (non copiandolo ed eseguendolo in /var/tmp se sono presenti problemi di autorizzazioni).

Soluzione: per le macchine virtuali che eseguono cloud-init precedenti alla versione 20.3, configurare la macchina virtuale in modo che /var/tmp non sia montata come noexec. In alternativa, aggiornare il pacchetto cloud-init della macchina virtuale a una versione >= 20.3.

Nota

Il dhclient problema di autorizzazione è stato risolto in cloud-init 22.4 e versioni successive. Per altre informazioni, vedere problemi di cloud-init 3956.

Ottenere altri log

Se si rileva che sono necessari altri log dalla macchina virtuale per comprendere i problemi, è possibile connettersi tramite SSH alla macchina virtuale usando la console seriale usando un utente che viene inserito nell'immagine. Se non è stato creato un utente, è possibile ricreare l'immagine con un utente oppure usare lo strumento AZ VM Repair che monta il disco del sistema operativo della macchina virtuale di cui non è stato eseguito il provisioning, in un'altra macchina virtuale.

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

Informazioni sul cloud-init.log

Quando si ha accesso ai log cloud-init, vedere la documentazione sulla risoluzione dei problemi di cloud-init.

Raccogliere i log di attività

Per avviare la risoluzione dei problemi, raccogliere i log delle attività per identificare l'errore associato al problema. I collegamenti seguenti contengono informazioni dettagliate sul processo da seguire.

Visualizzare le operazioni di distribuzione

Visualizzare i log attività per gestire le risorse di Azure

Possibilità di ricevere assistenza

Se si è fatto riferimento alle indicazioni e non è ancora possibile risolvere il problema, è possibile aprire un caso di supporto. In questo caso, selezionare l'argomento di supporto e prodotto corretto, in questo modo verrà coinvolto il team di supporto corretto.

Selezione del prodotto in questione:

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

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.