Condividi tramite


Risolvere i problemi di distribuzione delle macchine virtuali in Azure Stack Edge Pro GPU

SI APPLICA A: Sì per SKU GPU ProAzure Stack Edge Pro - GPUSì per lo SKU Pro 2Azure Stack Edge Pro 2Sì per SKU R ProAzure Stack Edge Pro RSì per SKU R MiniAzure Stack Edge Mini R

Questo articolo descrive come risolvere gli errori comuni durante la distribuzione di macchine virtuali in un dispositivo AZURE Stack Edge Pro GPU. L'articolo fornisce indicazioni per analizzare i problemi più comuni che causano timeout e problemi di provisioning delle macchine virtuali durante la creazione dell'interfaccia di rete e della macchina virtuale.

Per diagnosticare eventuali errori di provisioning delle macchine virtuali, esaminare i log guest per la macchina virtuale non riuscita. Per la procedura per raccogliere i log guest delle macchine virtuali e includerli in un pacchetto di supporto, vedere Raccogliere i log guest per le macchine virtuali in Azure Stack Edge Pro.

Per indicazioni sui problemi che impediscono il caricamento riuscito di un'immagine di macchina virtuale prima della distribuzione della macchina virtuale, vedere Risolvere i problemi di caricamento delle immagini delle macchine virtuali in Azure Stack Edge Pro GPU.

Timeout del provisioning delle macchine virtuali

Questa sezione fornisce la risoluzione dei problemi per le cause più comuni del timeout del provisioning di una macchina virtuale.

Quando si verifica il timeout del provisioning delle macchine virtuali, viene visualizzato l'errore seguente:

Screenshot dell'errore visualizzato nella portale di Azure quando si verifica il timeout del provisioning delle macchine virtuali in Azure Stack Edge.

I problemi seguenti sono le principali cause dei timeout di provisioning delle macchine virtuali:

  • L'indirizzo IP assegnato alla macchina virtuale è già in uso. Ulteriori informazioni
  • L'immagine della macchina virtuale usata per distribuire la macchina virtuale non è stata preparata correttamente. Ulteriori informazioni
  • Non è stato possibile raggiungere il gateway predefinito e il server DNS dalla macchina virtuale guest. Ulteriori informazioni
  • Durante un'installazione cloud init , cloud init non è stato eseguito o si sono verificati problemi durante l'esecuzione. (solo macchine virtuali Linux) Ulteriori informazioni
  • Per una macchina virtuale Linux distribuita usando un'immagine di macchina virtuale personalizzata, i flag di provisioning nel file /etc/waagent.conf non sono corretti. (solo macchine virtuali Linux) Ulteriori informazioni
  • Interfaccia di rete primaria collegata a un commutatore virtuale abilitato per SRIOV Altre informazioni

L'indirizzo IP assegnato alla macchina virtuale è già in uso

Descrizione dell'errore: alla macchina virtuale è stato assegnato un indirizzo IP statico già in uso e il provisioning delle macchine virtuali non è riuscito. Questo errore si verifica quando l'indirizzo IP è in uso nella subnet in cui viene distribuita la macchina virtuale. Quando si distribuisce una macchina virtuale tramite il portale di Azure, il processo verifica la presenza di un indirizzo IP esistente all'interno del dispositivo, ma non può controllare gli indirizzi IP di altri servizi o macchine virtuali che potrebbero trovarsi anche nella subnet.

Soluzione suggerita: usare un indirizzo IP statico che non è in uso o usare un indirizzo IP dinamico fornito dal server DHCP.

Per verificare la presenza di un indirizzo IP duplicato:

  • Eseguire i comandi seguenti ping e Test-NetConnection (tnc) da qualsiasi appliance nella stessa rete:

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

Se si ottiene una risposta, l'indirizzo IP assegnato alla nuova macchina virtuale è già in uso.

Immagine della macchina virtuale non preparata correttamente

Descrizione dell'errore: per preparare un'immagine di macchina virtuale da usare in un dispositivo AZURE Stack Edge Pro GPU, è necessario seguire un flusso di lavoro specifico. È necessario creare una macchina virtuale gen1 in Azure, personalizzare la macchina virtuale, generalizzare il disco rigido virtuale e quindi scaricare il disco rigido virtuale del sistema operativo per tale macchina virtuale. L'immagine preparata deve essere un disco rigido virtuale gen1 con l'estensione del nome file "vhd" e il tipo fisso.

Per una panoramica dei requisiti, vedere Creare immagini di macchine virtuali personalizzate per un dispositivo AZURE Stack Edge Pro GPU. Per indicazioni sulla risoluzione dei problemi di immagine delle macchine virtuali, vedere Risolvere i problemi di caricamento delle immagini delle macchine virtuali in Azure Stack Edge Pro GPU.

Soluzione suggerita: completare il flusso di lavoro per preparare l'immagine della macchina virtuale. Per indicazioni, vedere uno degli articoli seguenti:

Gateway, non è stato possibile raggiungere il server DNS dalla macchina virtuale guest

Descrizione dell'errore: se non è possibile raggiungere il gateway predefinito e il server DNS durante la distribuzione della macchina virtuale, si verifica il timeout del provisioning delle macchine virtuali e la distribuzione della macchina virtuale non riesce.

Soluzione suggerita: verificare che sia possibile raggiungere il gateway predefinito e il server DNS dalla macchina virtuale. Ripetere quindi la distribuzione della macchina virtuale.

Per verificare che sia possibile raggiungere il gateway predefinito e il server DNS dalla macchina virtuale, seguire questa procedura:

  1. Connettersi alla VM.

  2. Eseguire i comandi seguenti:

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

    Per individuare gli indirizzi IP per i server DNS e gateway predefiniti, passare all'interfaccia utente locale per il dispositivo. Selezionare la porta desiderata e visualizzare le impostazioni di rete.

    Screenshot della pagina Rete per un dispositivo Azure Stack Edge con impostazioni di rete per la porta 2 visualizzata.

cloud init problemi (macchine virtuali Linux)

Descrizione dell'errore: cloud init non è stata eseguita o si sono verificati problemi durante cloud init l'esecuzione. cloud-init viene usato per personalizzare una macchina virtuale Linux all'avvio della macchina virtuale per la prima volta. Per altre informazioni, vedere cloud-init support for virtual machines in Azure (Supporto cloud-init per le macchine virtuali in Azure).

Soluzioni suggerite: per individuare i problemi che si sono verificati durante cloud init l'esecuzione:

  1. Connettersi alla VM.

  2. Verificare la presenza cloud init di errori nei file di log seguenti:

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

Per verificare la presenza di alcuni dei problemi più comuni che impediscono cloud init l'esecuzione corretta, seguire questa procedura:

  1. Assicurarsi che l'immagine della macchina virtuale sia basata su cloud init. Esegui questo comando:

    cloud-init --version

    Il comando deve restituire il numero di versione di cloud init. Se l'immagine non cloud initè basata su , il comando non restituirà informazioni sulla versione.

    Per ottenere assistenza con cloud init le opzioni, eseguire il comando seguente:

    cloud-init --help

  2. Assicurarsi che l'istanza cloud init possa essere eseguita correttamente con l'origine dati impostata su Azure.

    Quando l'origine dati è impostata su Azure, la voce nei log di init cloud è simile a quella seguente.

    Illustrazione di una voce di log cloud-init per un'immagine di macchina virtuale con l'origine dati impostata su Azure. Il testo di identificazione è evidenziato.

    Se l'origine dati non è impostata su Azure, potrebbe essere necessario rivedere lo cloud init script. Per altre informazioni, vedere Approfondimento su cloud-init.

Flag di provisioning impostati in modo non corretto (macchine virtuali Linux)

Descrizione dell'errore: per distribuire correttamente una macchina virtuale Linux in Azure, il provisioning deve essere disabilitato nell'immagine e il provisioning con cloud init deve essere abilitato. I flag di provisioning che impostano questi valori sono configurati correttamente per le immagini di macchine virtuali standard. Se si usa un'immagine di macchina virtuale personalizzata, è necessario assicurarsi che siano corrette.

Soluzione suggerita: assicurarsi che i flag di provisioning nel file /etc/waagent.conf abbiano i valori seguenti:

Funzionalità Valore obbligatorio
Abilitare il provisioning Provisioning.Enabled=n
Fare affidamento su cloud-init per effettuare il provisioning Provisioning.UseCloudInit=y

Interfaccia di rete primaria collegata a un commutatore virtuale abilitato per SRIOV

Descrizione dell'errore: l'interfaccia di rete primaria collegata a un singolo commutatore virtuale abilitato per l'interfaccia SRIOV (Root I/O Virtualization) ha causato il bypass del traffico di rete hyper-V, quindi l'host non è riuscito a ricevere richieste DHCP dalla macchina virtuale, generando un timeout del provisioning.

Soluzioni suggerite:

  • Connettere l'interfaccia di rete primaria della macchina virtuale a un commutatore virtuale senza abilitare la rete accelerata.

  • In un dispositivo Azure Stack Edge Pro 1, i commutatori virtuali creati sulla porta 1 alla porta 4 non abilitano la rete accelerata. Sulla porta 5 o sulla porta 6, i commutatori virtuali abilitano la rete accelerata per impostazione predefinita.

  • In un dispositivo Azure Stack Edge Pro 2, i commutatori virtuali creati sulla porta 1 o sulla porta 2 non abilitano la rete accelerata. Sulla porta 3 o sulla porta 4, i commutatori virtuali abilitano la rete accelerata per impostazione predefinita.

Problemi di creazione dell'interfaccia di rete

Questa sezione fornisce indicazioni sui problemi che causano l'esito negativo della creazione dell'interfaccia di rete durante la distribuzione di una macchina virtuale.

Timeout di creazione della scheda di interfaccia di rete

Descrizione errore: la creazione dell'interfaccia di rete nella macchina virtuale non è stata completata entro il periodo di timeout consentito. Questo errore può essere causato da problemi del server DHCP nell'ambiente.

Per verificare se l'interfaccia di rete è stata creata correttamente, seguire questa procedura:

  1. Nella portale di Azure passare alla risorsa Azure Stack Edge per il dispositivo (passare a Macchine virtuali dei servizi>perimetrali). Selezionare quindi Distribuzioni e passare alla distribuzione della macchina virtuale.

  2. Se non è stata creata correttamente un'interfaccia di rete, viene visualizzato l'errore seguente.

    Screenshot dell'errore visualizzato nella portale di Azure quando la creazione dell'interfaccia di rete non riesce durante la distribuzione di macchine virtuali in un dispositivo Azure Stack Edge.

Soluzione suggerita: creare di nuovo la macchina virtuale e assegnarla un indirizzo IP statico.

Problemi di creazione della macchina virtuale

Questa sezione illustra i problemi comuni che si verificano durante la creazione della macchina virtuale.

La creazione della macchina virtuale non riesce

Descrizione dell'errore: se è stata creata un'immagine del Marketplace con Azure Stack Edge precedente alla 2403 e quindi si crea una macchina virtuale dall'immagine del Marketplace esistente, la creazione della macchina virtuale ha esito negativo perché Azure Stack Edge 2407 ha modificato il percorso di download per l'immagine del Marketplace.

Soluzione suggerita: seguire questa procedura per eliminare l'immagine del Marketplace esistente e quindi creare una nuova immagine del Marketplace da portale di Azure.

  1. Da portale di Azure eliminare l'immagine del Marketplace esistente.

    1. Elencare l'inserimento e il processo di inserimento BlobDownload per l'immagine del Marketplace. Seguire questa procedura per connettersi ad Azure Resource Manager.

      Eseguire lo script seguente per elencare i processi di inserimento:

      Specificare l'ID sottoscrizione nell'URI seguente:

      $uri 1 = "https://management.appliance nome. Dominio DNS/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. Trovare il nome del processo di inserimento = Marketplace image sku name e tipo = BlobDownload.

      Esempio: nome processo di inserimento = Ubuntu-18-04 e tipo = BlobDownload.

      Screenshot della sintassi di esempio per trovare il nome del processo di inserimento.

  2. Se il processo di inserimento viene trovato nel passaggio 1, seguire questa procedura per eliminare il processo di inserimento ed eliminare l'immagine. Ad esempio, il nome del processo di inserimento nell'esempio precedente è ubuntu-18-04. Inoltre, Subscription ID e Resource group il nome sono disponibili nell'esempio.

    $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. Seguire la procedura per creare una nuova immagine di macchina virtuale da Azure Marketplace.

Memoria insufficiente per creare la macchina virtuale

Descrizione dell'errore: quando la creazione della macchina virtuale non riesce a causa di memoria insufficiente, viene visualizzato l'errore seguente.

Screenshot dell'errore visualizzato nella portale di Azure quando la creazione della macchina virtuale non riesce in un dispositivo Azure Stack Edge.

Soluzione suggerita: controllare la memoria disponibile nel dispositivo e scegliere le dimensioni della macchina virtuale di conseguenza. Per altre informazioni, vedere Dimensioni supportate delle macchine virtuali in Azure Stack Edge.

La memoria disponibile per la distribuzione di una macchina virtuale è vincolata da diversi fattori:

  • Quantità di memoria disponibile nel dispositivo. Per altre informazioni, vedere Specifiche tecniche di calcolo e memoria in Specifiche tecniche di Azure Stack Edge Pro GPU e specifiche tecniche di Azure Stack Edge Mini R.

  • Se Kubernetes è abilitato, la memoria di calcolo necessaria per Kubernetes e le app nel cluster Kubernetes.

  • Sovraccarico per ogni macchina virtuale in Hyper-V.

Soluzioni suggerite:

  • Usare una dimensione di macchina virtuale che richiede meno memoria.
  • Arrestare tutte le macchine virtuali che non sono in uso dal portale prima di distribuire la nuova macchina virtuale.
  • Eliminare tutte le macchine virtuali che non sono più in uso.

Numero insufficiente di GPU per la creazione di una macchina virtuale GPU

Se si tenta di distribuire una macchina virtuale in un dispositivo GPU che dispone già di Kubernetes abilitato, non sono disponibili GPU e il provisioning delle macchine virtuali ha esito negativo con l'errore seguente:

Screenshot dell'errore visualizzato nella portale di Azure quando la creazione di una macchina virtuale GPU ha esito negativo a causa di nessuna GPU disponibile in un dispositivo Azure Stack Edge.

Possibili cause: se Kubernetes è abilitato prima della creazione della macchina virtuale, Kubernetes usa tutte le GPU disponibili e non sarà possibile creare macchine virtuali di dimensioni GPU. È possibile creare quante macchine virtuali di dimensioni GPU sono il numero di GPU disponibili. Il dispositivo Azure Stack Edge può essere dotato di 1 o 2 GPU.

Soluzione consigliata: per le opzioni di distribuzione delle macchine virtuali in un dispositivo 1 GPU o 2 GPU con Kubernetes configurato, vedere MACCHINE virtuali GPU e Kubernetes.

Passaggi successivi