Compartir a través de


Solución de problemas de implementación de máquinas virtuales en Azure Stack Edge Pro con GPU

SE APLICA A: Sí para Pro GPU SKUAzure Stack Edge Pro: GPUSí para Pro 2 SKUAzure Stack Edge Pro 2Sí para Pro R SKUAzure Stack Edge Pro RSí para Mini R SKUAzure Stack Edge Mini R

En este artículo se describe cómo solucionar errores comunes al implementar máquinas virtuales en un dispositivo GPU de Azure Stack Edge. En el artículo se proporcionan instrucciones para investigar los problemas más comunes que provocan tiempos de espera y errores de aprovisionamiento de máquinas virtuales durante la creación de la interfaz de red y la máquina virtual.

Para diagnosticar cualquier error de aprovisionamiento de máquinas virtuales, revise los registros de invitado de la máquina virtual con errores. Para consultar los pasos necesarios para recopilar los registros de invitado de las máquinas virtuales en un paquete de registros, vea Recopilación de registros de invitado de VM en Azure Stack Edge Pro.

Para obtener instrucciones sobre los problemas que impiden la carga correcta de una imagen de máquina virtual antes de la implementación de la máquina virtual, consulte Solución de problemas de cargas de imágenes de máquina virtual en Azure Stack Edge Pro con GPU.

Tiempo de espera de aprovisionamiento de máquinas virtuales

En esta sección se proporciona la solución de problemas de las causas más comunes del tiempo de espera de aprovisionamiento de máquinas virtuales.

Cuando se haya agotado el tiempo de espera de aprovisionamiento de máquinas virtuales, verá el siguiente error:

Captura de pantalla del error que se muestra en Azure Portal cuando se agota el tiempo de espera del aprovisionamiento de máquinas virtuales en Azure Stack Edge.

Los problemas siguientes son las principales causas de los tiempos de espera de aprovisionamiento de máquinas virtuales:

  • La dirección IP que asignó a la máquina virtual ya está en uso. Más información
  • La imagen de máquina virtual que usó para implementar la máquina virtual no se preparó correctamente. Más información
  • No se pudo establecer contacto con la puerta de enlace predeterminada y el servidor DNS desde la máquina virtual invitada. Más información
  • Durante una instalación de cloud init, cloud init no se ejecutó o hubo problemas mientras se ejecutaba. (Solo máquinas virtuales Linux) Más información.
  • En el caso de una máquina virtual Linux implementada con una imagen de máquina virtual personalizada, las marcas de aprovisionamiento del archivo /etc/waagent.conf no son correctas. (Solo máquinas virtuales Linux) Más información.
  • Interfaz de red principal conectada a un conmutador virtual habilitado para SRIOV Más información

La dirección IP asignada a la máquina virtual ya está en uso

Descripción del error:: se asignó a la máquina virtual una dirección IP estática que ya está en uso y se produjo un error al aprovisionar la máquina virtual. Este error se produce cuando la dirección IP está en uso en la subred en la que se implementa la máquina virtual. Al implementar una máquina virtual mediante Azure Portal, el proceso comprueba si hay una dirección IP existente en el dispositivo, pero no puede comprobar las direcciones IP de otros servicios o máquinas virtuales que también podrían estar en la subred.

Solución sugerida: use una dirección IP estática que no esté en uso o una dirección IP dinámica proporcionada por el servidor DHCP.

Para comprobar si hay una dirección IP duplicada:

  • Ejecute los comandos ping y Test-NetConnection (tnc) desde cualquier dispositivo de la misma red:

    ping <IP address>
    tnc <IP address>
    tnc <IP address> -CommonTCPPort “RDP”
    

Si recibe una respuesta, la dirección IP que asignó a la nueva máquina virtual ya está en uso.

Imagen de máquina virtual no preparada correctamente

Descripción del error: para preparar una imagen de máquina virtual para su uso en un dispositivo GPU de Azure Stack Edge Pro, debe seguir un flujo de trabajo específico. Debe crear una máquina virtual gen1 en Azure, personalizarla, generalizar el VHD y, luego, descargar el VHD del sistema operativo para esa máquina virtual. La imagen preparada debe ser un VHD gen1 con la extensión de nombre de archivo "vhd" y el tipo fijo.

Para información general sobre los requisitos, consulte Creación de imágenes de máquina virtual personalizadas para un dispositivo GPU de Azure Stack Edge Pro. Para instrucciones sobre cómo resolver los problemas relacionados con las imágenes de máquina virtual, consulte Solución de problemas de cargas de imágenes de máquina virtual en Azure Stack Edge Pro con GPU.

Solución sugerida: complete el flujo de trabajo para preparar la imagen de máquina virtual. Consulte uno los artículos siguientes como guía:

No se pudo establecer contacto con la puerta de enlace y el servidor DNS desde la máquina virtual invitada

Descripción del error: si no se puede establecer contacto con la puerta de enlace y el servidor DNS predeterminados durante la implementación de la máquina virtual, el aprovisionamiento de la máquina virtual agotará el tiempo de espera y se producirá un error en la operación.

Solución sugerida: compruebe que se puede acceder a la puerta de enlace y al servidor DNS predeterminados desde la máquina virtual. Luego, repita la implementación de la máquina virtual.

Para comprobar que se puede acceder a la puerta de enlace y al servidor DNS predeterminados desde la máquina virtual, siga estos pasos:

  1. Conecte a la máquina virtual.

  2. Ejecute los comandos siguientes:

    ping <default gateway IP address>
    ping <DNS server IP address>
    

    Para averiguar las direcciones IP de la puerta de enlace y los servidores DNS predeterminados, vaya a la interfaz de usuario local del dispositivo. Seleccione el puerto que le interesa y vea la configuración de red.

    Captura de pantalla de la página Red de un dispositivo de Azure Stack Edge con la configuración de Red del puerto 2 mostrada.

Problemas de cloud init (máquinas virtuales Linux)

Descripción del error: cloud init no se ejecutó o hubo problemas mientras se ejecutaba cloud init. cloud-init se usa para personalizar una máquina virtual Linux cuando la máquina virtual arranca por primera vez. Para más información, consulte Compatibilidad de cloud-init con máquinas virtuales en Azure.

Soluciones sugeridas: para encontrar problemas que se produjeron al ejecutar cloud init, siga estos pasos:

  1. Conecte a la máquina virtual.

  2. Compruebe si hay errores de cloud init en los siguientes archivos de registro:

    • /var/log/cloud-init-output.log
    • /var/log/cloud-init.log
    • /var/log/waagent/log

Para comprobar algunos de los problemas más comunes que impiden que cloud init se ejecute correctamente, siga estos pasos:

  1. Asegúrese de que la imagen de máquina virtual se basa en cloud init. Ejecute el siguiente comando:

    cloud-init --version

    El comando debe devolver el número de versión de cloud init. Si la imagen no está basada en cloud init, el comando no devolverá la información de la versión.

    Para obtener ayuda con las opciones de cloud init, ejecute el siguiente comando:

    cloud-init --help

  2. Asegúrese de que la instancia de cloud init se puede ejecutar correctamente con el origen de datos establecido en Azure.

    Cuando el origen de datos se establece en Azure, la entrada de los registros de cloud-init es similar a la siguiente.

    Ilustración de una entrada de registro de cloud-init para una imagen de máquina virtual con el origen de datos establecido en Azure. El texto identificador está resaltado.

    Si el origen de datos no está establecido en Azure, es posible que tenga que revisar el script de cloud init. Para más información, consulte Profundización en cloud-init.

Marcas de aprovisionamiento establecidas incorrectamente (máquinas virtuales Linux)

Descripción del error: para implementar correctamente una máquina virtual Linux en Azure, el aprovisionamiento debe deshabilitarse en la imagen y habilitarse mediante cloud init. Las marcas de aprovisionamiento que establecen estos valores están configuradas correctamente para las imágenes de máquina virtual estándar. Si usa una imagen de máquina virtual personalizada, debe asegurarse de que son correctas.

Solución sugerida: asegúrese de que las marcas de aprovisionamiento del archivo /etc/waagent.conf tienen los valores siguientes:

Funcionalidad Valor obligatorio
Habilitación de aprovisionamiento Provisioning.Enabled=n
Confiar en cloud-init para el aprovisionamiento Provisioning.UseCloudInit=y

Interfaz de red principal conectada a un conmutador virtual habilitado para SRIOV

Descripción del error: la interfaz de red primaria conectada a un conmutador virtual habilitado para la virtualización de E/S de raíz única (SRIOV) provocaba que el tráfico de red eludiera Hyper-V, por lo que el host no podía recibir solicitudes DHCP de la máquina virtual, lo que provocaba un agotamiento del tiempo de espera de aprovisionamiento.

Soluciones propuestas:

  • Conecte la interfaz de red principal de la máquina virtual a un conmutador virtual sin habilitar las redes aceleradas.

  • En un dispositivo Azure Stack Edge Pro 1, los conmutadores virtuales creados en los puertos 1 a 4 no habilitan las redes aceleradas. En el puerto 5 o el puerto 6, los conmutadores virtuales habilitan las redes aceleradas de forma predeterminada.

  • En un dispositivo Azure Stack Edge Pro 2, los conmutadores virtuales creados en los puertos 1 y 2 no habilitan las redes aceleradas. En el puerto 3 o el puerto 4, los conmutadores virtuales habilitan las redes aceleradas de forma predeterminada.

Problemas de creación de la interfaz de red

En esta sección se proporcionan instrucciones para los problemas que provocan errores en la creación de la interfaz de red durante la implementación de una máquina virtual.

Tiempo de espera de creación de NIC

Descripción del error: la creación de la interfaz de red en la máquina virtual no se ha completado dentro del período de tiempo de espera permitido. Este error puede deberse a problemas del servidor DHCP en su entorno.

Para comprobar si la interfaz de red se creó correctamente, siga estos pasos:

  1. En Azure Portal, vaya al recurso Azure Stack Edge del dispositivo (vaya a Edge Services>Virtual machines [Servicios perimetrales > Máquinas virtuales]). Luego, seleccione Deployments (Implementaciones) y vaya a la implementación de máquinas virtuales.

  2. Si no se creó correctamente una interfaz de red, verá el siguiente error.

    Captura de pantalla del error mostrado en Azure Portal cuando se produce un error en la creación de la interfaz de red durante la implementación de máquinas virtuales en un dispositivo de Azure Stack Edge.

Solución sugerida: vuelva a crear la máquina virtual y asígnele una dirección IP estática.

Problemas de creación de la máquina virtual

En esta sección se tratan los problemas comunes que se producen durante la creación de máquinas virtuales.

Error en la creación de una máquina virtual

Descripción del error: si tiene una imagen de Marketplace creada con Azure Stack Edge anterior a 2403 y, a continuación, crea una máquina virtual a partir de la imagen de Marketplace existente, se produce un error en la creación de la máquina virtual porque Azure Stack Edge 2407 cambió la ruta de acceso de descarga de la imagen de Marketplace.

Solución sugerida: use los siguientes pasos para eliminar la imagen existente de Marketplace y después cree una nueva imagen de Marketplace desde Azure Portal.

  1. En Azure Portal, elimine la imagen de Marketplace existente.

    1. Enumere la ingesta y el trabajo de ingesta de BlobDownload para la imagen de Marketplace. Siga estos pasos para Conectarse a Azure Resource Manager.

      Ejecute el siguiente script para enumerar los trabajos de ingesta:

      Especifique el identificador de suscripción en el URI siguiente:

      $uri1 = "https://management.appliance name.DNS domain/subscriptions/sid/providers/Microsoft.AzureBridge/locations/DBELocal/ingestionJobs/?api-version=2022-03-01"

      Function Get-AzCachedAccessToken() 
      {
      $ErrorActionPreference = 'Stop' 
      $azureRmProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile 
      $currentAzureContext = Get-AzContext 
      $profileClient = New-Object Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient($azureRmProfile) 
      Write-Debug ("Getting access token for tenant" + $currentAzureContext.Subscription.TenantId) 
      $token = $profileClient.AcquireAccessToken($currentAzureContext.Subscription.TenantId) 
      $token.AccessToken 
      } 
      
      $token = Get-AzCachedAccessToken 
      $headers = @{Authorization = "Bearer $token"; "Content-Type" = "application/json" } 
      $v = Invoke-RestMethod -Method Get -Uri $uri1 -Headers $headers 
      v.value
      
    2. Busque el nombre del trabajo de ingesta = Marketplace image sku name y tipo = BlobDownload.

      Ejemplo: nombre del trabajo de ingesta = Ubuntu-18-04 y tipo = BlobDownload.

      Recorte de pantalla de ejemplo de sintaxis para encontrar el nombre del trabajo de ingesta.

  2. Si el trabajo de ingesta se encuentra en el paso 1, siga estos pasos para eliminar el trabajo de ingesta y eliminar la imagen. Por ejemplo, el nombre del trabajo de ingesta en el ejemplo anterior es ubuntu-18-04. Además, en el ejemplo se pueden encontrar los nombres de Subscription ID y Resource group.

    $uri2 = "https://management.<appliance name>.<DNS domain>/subscriptions/sid/resourceGroups/rgname/providers/Microsoft.AzureBridge/locations/dbelocal/ingestionJobs/<ingestion job name>?api-version=2018-06-01" 
    
    Invoke-RestMethod -Method DELETE -Uri $uri2 -Headers $headers
    
  3. Siga los pasos para Crear una nueva imagen de máquina virtual desde Azure Marketplace.

Memoria insuficiente para crear la máquina virtual

Descripción del error: cuando no se puede crear la máquina virtual porque no hay memoria suficiente, verá el siguiente error.

Captura de pantalla del error mostrado en Azure Portal cuando se produce un error en la creación de máquinas virtuales en un dispositivo de Azure Stack Edge.

Solución sugerida: compruebe la memoria disponible en el dispositivo y elija el tamaño de la máquina virtual en consecuencia. Para más información, consulte Tamaños de máquina virtual admitidos en Azure Stack Edge.

La memoria disponible para la implementación de una máquina virtual está supeditada a varios factores:

Soluciones propuestas:

  • Use un tamaño de máquina virtual que requiera menos memoria.
  • Detenga las máquinas virtuales que no se utilicen desde el portal antes de implementar la nueva máquina virtual.
  • Elimine las máquinas virtuales que ya no se usen.

Número insuficiente de GPU para crear una máquina virtual con GPU

Si intenta implementar una máquina virtual en un dispositivo GPU que ya tiene habilitado Kubernetes, no habrá ninguna GPU disponible y no se podrá realizar el aprovisionamiento de la máquina virtual. Aparece este error:

Captura de pantalla del error mostrado en Azure Portal cuando se produce un error en la creación de máquinas virtuales de GPU porque no hay GPU disponibles en el dispositivo de Azure Stack Edge.

Causas posibles: si Kubernetes está habilitado antes de crear la máquina virtual, usará todas las GPU disponibles y no podrá crear ninguna máquina virtual del tamaño de la GPU. Puede crear tantas máquinas virtuales del tamaño de la GPU como GPU haya disponibles. El dispositivo de Azure Stack Edge puede incluir 1 o 2 GPU.

Solución sugerida: para ver las opciones de implementación de máquinas virtuales en un dispositivo de 1 o 2 GPU con Kubernetes configurado, consulte Máquinas virtuales con GPU y Kubernetes.

Pasos siguientes