Solución de problemas al implementar máquinas virtuales Linux
Se aplica a: ✔️ Máquinas virtuales Linux
Nota
CentOS al que se hace referencia en este artículo es una distribución de Linux y llegará al final del ciclo de vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para obtener más información, consulte Guía de fin de vida de CentOS.
Cuando intenta crear una nueva máquina virtual de Azure, va a aprovisionar los errores o errores de asignación comunes que se encuentre.
- Se produce un error de aprovisionamiento cuando no se puede cargar la imagen del sistema operativo debido a pasos preparatorios incorrectos o debido a seleccionar la configuración incorrecta durante la captura de imagen desde el portal.
- Se produce un error de asignación cuando el clúster o la región no tienen recursos disponibles o no admiten el tamaño de máquina virtual solicitado.
Si su problema con Azure no se trata en este artículo, visite los foros de Azure en MSDN y Stack Overflow. Puede publicar su problema en ellos o en @AzureSupport en Twitter. También puede enviar una solicitud de soporte técnico de Azure. Para enviar una solicitud de soporte técnico, en la página de soporte técnico de Azure, seleccione Obtener soporte técnico.
Síntomas
Un escenario típico de error de aprovisionamiento se produce después de crear una imagen personalizada y, a continuación, implementar una máquina virtual desde ella, experimentar hasta 40 minutos donde se muestra creating
el estado de la máquina virtual y verá este mensaje de error:
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/.
O:
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."
}
]
}
}
A continuación, verá el estado de la máquina virtual marcado como failed
.
¿Por qué se producen errores de aprovisionamiento?
Normalmente, los errores de aprovisionamiento pueden producirse por varios motivos, como:
Falta el aprovisionamiento /incorrectamente configurado el agente
Tendrá que asegurarse de que un agente está presente y funciona correctamente, debe usar cloud-init o si la imagen no lo admitirá, puede revisar estos pasos.
Configuración incorrecta de la imagen
Tenemos instrucciones sobre cómo se deben configurar las imágenes con cloud-init y otros requisitos de imagen de Azure, consulte esto.
Solución de errores de aprovisionamiento
Para identificar el motivo del aprovisionamiento con errores, deberá empezar con el registro en serie, ya que está disponible mediante la implementación de la máquina virtual con diagnósticos de arranque de Azure.
Tendrá que implementar una nueva máquina virtual con diagnósticos de arranque habilitados para la máquina virtual con la imagen con errores para acceder a eventos de aprovisionamiento en el registro serie.
# 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
Para ver el registro en serie, puede ir al portal o ejecutar el comando siguiente para descargar el registro serialConsoleLogBlobUri :
az vm boot-diagnostics get-boot-log-uris --name $vmName --resource-group $resourceGroup
Descripción del registro serie de eventos del sistema y eventos de aprovisionamiento
Cuando la máquina virtual se crea por primera vez, cloud-init se iniciará e intentará montar una ISO, establecer la conectividad de red, establecer las propiedades pasadas durante la creación de la máquina virtual, montar el disco efímero (en tamaños de máquina virtual admitidos) y volver a indicar a la plataforma de Azure que se ha completado la configuración inicial del sistema operativo.
Eventos del sistema e información clave | Registro serie | Notas |
---|---|---|
Versión del kernel y versión 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) |
Aparece al principio del registro serie. |
Opciones de línea de comandos 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 |
Aparece al principio del registro serie. Busque command line: . |
Versión con 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) |
Busque systemd . |
Destinos con sistema alcanzados | [ [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. |
Busque Reached target . |
Destinos comunes de red con sistema en distintas distribuciones | [ [0;32m OK [0m] Reached target Network (Pre). [ [0;32m OK [0m] Reached target Network. [ [0;32m OK [0m] Reached target Network is Online. |
Busque Reached target Network . |
Estado de red detallado y destinos de red para Ubuntu y distribuciones donde las redes del sistema se administran mediante 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. |
Busque network o networkd . |
Estado de red detallado y destinos de red para RHEL/CentOS y distribuciones donde la red del sistema se administra mediante 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. |
Busque network o Network Manager . |
Estado de red detallado y destinos de red para SUSE/SLES y distribuciones donde las redes del sistema se administran mediante 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. |
Busque network o wicked . |
¿El arranque alcanzó lo suficiente para que se inicie cloud-init? | Starting Initial cloud-init job (pre-networking)... Starting Initial cloud-init job (metadata service crawler)... |
Busque Starting Initial cloud-init job . |
Se alcanzó la versión de Cloud-init y las fases de 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 |
Busque Cloud-init v . |
Interfaces de red (NIC), estados NIC (arriba y abajo) y direcciones IP de NIC. Muestra si las direcciones IP de NIC estaban configuradas y asignadas correctamente. La asignación de direcciones IP podría ser dinámica a través de DHCP o configurada estáticamente. | [ 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: +--------+------+-----------------------------+---------------+--------+-------------------+ |
Busque ci-info o Net device info . |
Rutas IP (IPv4 e IPv6). Muestra las rutas IP de varios puntos de conexión, como la subred de la red virtual, el punto de conexión de Azure (168.63.129.16 ) y el punto de conexión de 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: +-------+-------------+---------+-----------+-------+ |
ci-info Busque , Route IPv4 info o Route IPv6 info . |
Claves autorizadas SSH para los usuarios de la máquina virtual. El authorized_keys archivo en SSH especifica las claves SSH que se pueden usar para iniciar sesión en la cuenta de usuario para la que está configurado el archivo. |
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: +---------+-------------------------------------------------------------------------------------------------+---------+---------+ |
Busque Authorized keys . |
Generación de claves de host SSH. Una clave de host es una clave criptográfica que se usa para autenticar equipos en el protocolo SSH. Las claves de host son pares de claves, normalmente mediante los algoritmos RSA, DSA o ECDSA. Las claves de host pública se almacenan en y/o se distribuyen a los clientes SSH y las claves privadas se almacenan en servidores 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/private Busque , Your identification has been saved in , The key fingerprint is: o SHA . |
Volcado de huellas digitales de clave de 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 Busque y END SSH HOST KEY FINGERPRINTS . |
Volcado de claves de 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 Busque y END SSH HOST KEY KEYS . |
¿Se inició el servidor SSH? | 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 server Busque , OpenSSH server daemon o OpenSSH Daemon . |
¿Se permiten sesiones de usuario e inicios de sesión de usuario? ¿La máquina virtual muestra un mensaje de inicio de sesión de usuario? | 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 Service Busque , Permit User Sessions , Login Service , Login Prompts y login: . |
¿Se inició correctamente el agente linux de Azure? | [ [0;32m OK [0m] Started Azure Linux Agent. 2020/10/28 17:46:52.082569 INFO Daemon Azure Linux Agent Version:2.2.45 |
Busque Azure Linux Agent . |
Desde el punto de vista del agente Linux de Azure, ¿la máquina virtual finalizó correctamente el aprovisionamiento? ¿Se inició el controlador de extensión de máquina virtual el agente linux de Azure después de que el aprovisionamiento se realizó correctamente? El agente Linux de Azure solo inicia el controlador de extensión de máquina virtual si detecta que el aprovisionamiento de máquinas virtuales se ha realizado correctamente. | 2020/10/28 17:46:52.586765 INFO Daemon Finished provisioning |
Busque INFO Daemon Finished provisioning . |
¿Hubo errores, errores o excepciones en el registro de serie? | fail Busque , error , warn y exception en los registros serie. |
Errores comunes
Módulo UDF deshabilitado
Error en el registro serie:
[ 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.
Error en 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: El controlador UDF no se carga en el kernel; esto es necesario para que la máquina virtual se aprovisione, consulte Requisitos de imagen.
Cuando una máquina virtual se aprovisiona por primera vez en Azure, el host de Azure presenta un "disco iso de cdrom de aprovisionamiento" a la máquina virtual. Normalmente, este disco de aprovisionamiento se presenta a la máquina virtual a través de /dev/sr0. En el disco de aprovisionamiento, hay un manifiesto de aprovisionamiento que contiene la información de aprovisionamiento de una máquina virtual. Se espera que el agente de aprovisionamiento en máquina virtual monte el disco de aprovisionamiento, lea el manifiesto de aprovisionamiento y aprovisione la máquina virtual en consecuencia.
Dado que el disco de aprovisionamiento es , cdrom iso disk
el kernel requiere el controlador UDF de Linux para montar correctamente este disco. Se hace referencia a esto en la documentación de Microsoft sobre imágenes de Linux. Para esta máquina virtual, los registros indican que el disco de aprovisionamiento no se pudo montar, lo que provocó un error en el aprovisionamiento de máquinas virtuales. El motivo más probable es que falte o bloquee controladores UDF.
Solución: asegúrese de que el controlador UDF está configurado para cargarse en el kernel.
Una manera común de bloquear controladores de UDF es mediante configuraciones dentro de /etc/modprobe.d/
. Trabaje con el propietario del cliente o la imagen para asegurarse de que los controladores de UDF de Linux están presentes y no están bloqueados. Consulte este artículo sobre cómo bloquear o desbloquear controladores de kernel.
Problema de caracteres Unicode en etiquetas de máquina virtual
Error en 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: Esto sucede porque las etiquetas de máquina virtual tienen caracteres no ascii y la versión de cloud-init es anterior a la 20.3.
Solución: use o asegúrese de que la imagen admita cloud-init 20.3 o posterior, o quite caracteres no ascii de las etiquetas de máquina virtual.
Contraseña con caracteres unicode
Error en 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: Esto sucede porque la contraseña proporcionada tiene caracteres no admitidos (no ascii).
Solución: proporcione una contraseña que solo tenga caracteres ascii.
Permiso Dhclient
Error en 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: las versiones anteriores de cloud-init (antes de la versión 20.3) realizan DHCP copiando dhclient
y ejecutando en /var/tmp
. Si /var/tmp
la máquina virtual monta como noexec
(sin ejecución), se producirá un error en DHCP debido a dhclient
que no tiene permisos para ejecutarse en /var/tmp
.
Las versiones >de Cloud-init = 20.3 contienen una corrección que retrocede y ejecuta dhclient
"tal cual" (sin copiarla y ejecutarla en /var/tmp
si hay problemas de permisos).
Solución: para las máquinas virtuales que ejecutan cloud-init anteriores a la versión 20.3, configure la máquina virtual para que /var/tmp
no esté montada como noexec
. Como alternativa, actualice el paquete cloud-init de la máquina virtual a una versión >= 20.3.
Nota
El dhclient
problema de permisos se ha resuelto en cloud-init 22.4 y versiones posteriores. Para más información, consulte problemas de cloud-init 3956.
Obtención de más registros
Si encuentra que necesita más registros de la máquina virtual para comprender los problemas, puede usar SSH en la máquina virtual mediante la consola serie mediante un usuario que esté horneado en la imagen. Si no tiene un usuario horneado, puede volver a crear la imagen con un usuario o usar la herramienta AZ VM Repair, que montará el disco del sistema operativo de la máquina virtual que no se pudo aprovisionar, en otra máquina virtual.
az vm repair create \
--resource-group $resourceGroup \
--name $vmName \
--repair-username repairadm \
--repair-password AnotherPassword123! \
--repair-vm-name repairVM \
--verbose
Descripción del cloud-init.log
Cuando tenga acceso a los registros de cloud-init, revise la documentación de solución de problemas de cloud-init.
Recopilación de registros de actividad
Para iniciar la solución de problemas, recopile los registros de actividad para identificar el error asociado con el problema. Los vínculos siguientes contienen información detallada sobre el proceso que se debe seguir.
Ver operaciones de implementación
Ver registros de actividad para administrar recursos de Azure
Obtención de soporte técnico
Si aplicó las directrices y sigue sin poder solucionar el problema, puede abrir un caso de soporte técnico. Al hacerlo, seleccione el producto y el tema de soporte técnico correctos. Para ello, póngase en contacto con el equipo de soporte técnico correcto.
Selección del producto para el caso:
Product Family: Azure
Product: Virtual Machine Running (Window\Linux)
Support Topic: <COMPLETE>
Support Subtopic: <COMPLETE>
Ponte en contacto con nosotros para obtener ayuda
Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.