Risolvere i problemi di distribuzione delle macchine virtuali Linux
Si applica a: ✔️ macchine virtuali di Linux
Note
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
Un tipico caso di errore di provisioning si verifica dopo aver creato un'immagine personalizzata, successivamente aver distribuito una macchina virtuale da essa, dopo di che si verificano 40 minuti in cui lo stato della macchina virtuale risulta creating
e viene visualizzato il seguente 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."
}
]
}
}
In seguito verrà visualizzato lo stato della macchina virtuale con il valore 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 errato
Dovrai assicurarti che un agente sia presente e funzioni correttamente, dovresti utilizzare cloud-init o se la tua immagine non lo supporta, puoi rivedere questi passaggi.
Configurazione dell'immagine errata
Sono disponibili indicazioni su come configurare le immagini con cloud-init e altri requisiti di Azure per le immagini; è consigliabile consultare.
Risolvere i problemi relativi agli errori di provisioning
Per identificare il motivo del provisioning non riuscito, dovrai iniziare con il log seriale, disponibile distribuendo la VM con la diagnostica di avvio di Azure.
È necessario distribuire una nuova macchina virtuale con diagnostica di avvio abilitata per la macchina virtuale con immagine non funzionante per accedere agli eventi di provisioning nel registro 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
Comprensione del log seriale per gli eventi di sistema e gli eventi di provisioning
Quando la VM viene creata per la prima volta, cloud-init si avvierà e proverà a montare un ISO, stabilire la connettività di rete, impostare le proprietà trasferite durante la creazione della VM, montare il disco temporaneo (sulle dimensioni della VM supportate) e segnalare di nuovo alla piattaforma Azure che è stata completata la configurazione iniziale del sistema operativo.
Eventi di sistema e informazioni chiave | Registro seriale | Note |
---|---|---|
Rilascio 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) |
Appare all'inizio del registro 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 |
Appare all'inizio del registro 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 systemd 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 . |
Obiettivi di rete systemd comuni tra le diverse distribuzioni | [ [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 . |
Stato e obiettivi di rete approfonditi per Ubuntu e le 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. |
Cercare network o networkd . |
Stato e obiettivi di rete approfonditi per RHEL/CentOS e per le 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. |
Cercare network o Network Manager . |
Stato e obiettivi di rete approfonditi per SUSE/SLES e le 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. |
Cercare network o wicked . |
L'avvio è arrivato abbastanza lontano da consentire 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 . |
Versione di Cloud-init e fasi di cloud-init raggiunte | [ 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 (attivo/inattivo) e indirizzi IP NIC. Mostra se gli indirizzi IP NIC sono stati configurati e assegnati correttamente. L'assegnazione dell'indirizzo IP può essere dinamica tramite DHCP o configurata staticamente. | [ 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: +--------+------+-----------------------------+---------------+--------+-------------------+ |
Cercare ci-info o Net device info . |
Percorsi IP (IPv4 e IPv6). Mostra i percorsi IP per vari endpoint, come la sottorete VNet, l'endpoint Azure (168.63.129.16 ) e l'endpoint Azure Instance Metadata Server/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: +-------+-------------+---------+-----------+-------+ |
Cercare ci-info , Route IPv4 info o Route IPv6 info . |
Chiavi autorizzate SSH per gli utenti sulla VM. Il file authorized_keys in SSH specifica le chiavi SSH che possono essere utilizzate per accedere all'account utente per il quale è 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 della chiave dell'host SSH. Una chiave host è una chiave crittografica utilizzata per autenticare i computer nel protocollo SSH. Le chiavi host sono coppie di chiavi, che in genere utilizzano gli algoritmi RSA, DSA o ECDSA. Le chiavi dell'host pubblico vengono archiviate e/o distribuite ai client SSH e le chiavi private vengono archiviate sui 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 |
Cercare Generating public/private , Your identification has been saved in , The key fingerprint is: o SHA . |
Dump delle impronte digitali della chiave dell'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: ############################################################# |
Cercare BEGIN SSH HOST KEY FINGERPRINTS e END SSH HOST KEY FINGERPRINTS . |
Dump delle chiavi dell'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----- |
Cercare BEGIN SSH HOST KEY KEYS 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. |
Cercare Secure Shell server , OpenSSH server daemon o OpenSSH Daemon . |
Le sessioni utente e gli accessi utente sono consentiti? La VM mostra 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: |
Cercare Accounts Service , Permit User Sessions , Login Service , Login Prompts e 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 VM ha completato correttamente il provisioning? Il gestore dell'estensione della 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 solo se rileva che il provisioning della macchina è 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 registro seriale? | Cercare fail , error , warn e exception nei registri 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 è caricato nel kernel, questo è necessario per il provisioning della VM, vedi requisiti immagine.
Quando viene eseguito per la prima volta il provisioning di una macchina virtuale in Azure, l'host di Azure presenta un "disco iso cdrom di provisioning" alla macchina virtuale. Questo disco di provisioning viene in genere presentato alla VM 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 è uncdrom iso disk
, il driver Linux UDF è richiesto dal kernel per montare correttamente questo disco. Questo è indicato nella documentazione Microsoft sulle immagini Linux. Per questa VM, i log indicano che il montaggio del disco di provisioning non è riuscito, il che ha causato l'esito negativo del provisioning della VM. Il motivo più probabile è dovuto a driver UDF mancanti o bloccati.
Soluzione: assicurarsi che il driver UDF sia configurato per essere caricato nel kernel.
Un modo comune per bloccare i driver UDF è tramite le configurazioni all'interno di /etc/modprobe.d/
. Collaborare con il cliente/proprietario dell'immagine per assicurarsi che i driver UDF di Linux siano presenti e non bloccati. Consultare questo articolo sul blocco/sblocco dei driver del kernel.
Problema dei 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: questo accade perché i tag VM hanno caratteri non ascii e la versione di cloud-init è precedente alla 20.3.
Soluzione: utilizza o assicurati che l'immagine supporti cloud-init 20.3 o versioni successive oppure rimuovi i caratteri non ascii dai tag VM.
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: questo accade perché la password fornita contiene caratteri non supportati (non ascii).
Soluzione: fornire una password che contenga 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
all'interno di /var/tmp
. Se /var/tmp
è montato come noexec
(senza esecuzione) dalla macchina virtuale, il DHCP fallirà perché dhclient
non dispone delle autorizzazioni di esecuzione all'interno di /var/tmp
.
Le versioni di cloud-init >= 20.3 contengono una correzione che fa retrocedere l'esecuzione di dhclient
"as-is" (non copiandola ed eseguendola in /var/tmp
in caso di problemi di autorizzazione).
Soluzione: per le macchine virtuali che eseguono cloud-init precedente alla versione 20.3, configurare la macchina virtuale in modo che /var/tmp
non sia montato come noexec
. In alternativa, aggiornare il pacchetto cloud-init della macchina virtuale alla versione >= 20.3.
Note
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 più registri
Se ritieni di aver bisogno di più log dalla VM per comprendere i problemi, forse puoi accedere tramite SSH alla VM utilizzando la console seriale utilizzando un utente inserito nell'immagine. Se non si dispone di un utente integrato, è possibile ricreare l'immagine con un utente oppure utilizzare lo strumento di riparazione VM AZ che monterà il disco del sistema operativo della VM di cui non è stato possibile effettuare il provisioning, per un'altra VM.
az vm repair create \
--resource-group $resourceGroup \
--name $vmName \
--repair-username repairadm \
--repair-password AnotherPassword123! \
--repair-vm-name repairVM \
--verbose
Informazioni su cloud-init.log
Quando hai accesso ai log di cloud-init, consulta la documentazione sulla risoluzione dei problemi di cloud-init.
Raccogli i registri delle attività
Per avviare la risoluzione dei problemi, raccogli i registri delle attività per identificare l'errore associato al problema. I seguenti collegamenti contengono informazioni dettagliate sul processo da seguire.
Visualizzare le operazioni di distribuzione
Visualizzare i log delle attività per gestire le risorse di Azure
Ottenere supporto
Se hai fatto riferimento alla guida e non riesci ancora a risolvere il problema, puoi aprire una richiesta di assistenza. Quando lo fai, seleziona il prodotto giusto e l'argomento di supporto, in questo modo coinvolgerai 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.