Risolvere gli errori di allocazione durante la creazione o il ridimensionamento di macchine virtuali in Azure

Quando si crea una macchina virtuale, si avviano macchine virtuali arrestate (deallocate) o si ridimensiona una macchina virtuale, Microsoft Azure alloca le risorse di calcolo alla sottoscrizione. Investiamo continuamente in infrastrutture e funzionalità aggiuntive per garantire che siano sempre disponibili tutti i tipi di macchine virtuali per supportare la domanda dei clienti. È tuttavia possibile che si verifichino occasionalmente errori di allocazione delle risorse a causa di una crescita senza precedenti della domanda di servizi di Azure in aree specifiche. Questo problema può verificarsi quando si tenta di creare o avviare macchine virtuali in un'area mentre le macchine virtuali visualizzano il codice di errore e il messaggio seguenti:

Codice di errore: AllocationFailed o ZonalAllocationFailed

Messaggio di errore: "Allocazione non riuscita. Non disponiamo di capacità sufficiente per le dimensioni della VM richieste in questa area geografica. Per altre informazioni sul miglioramento della probabilità di successo dell'allocazione, vedere https://aka.ms/allocation-guidance"

Nota

Se si sta risolvendo un set di scalabilità di macchine virtuali, il processo è lo stesso di una macchina virtuale standard. Per risolvere il problema, è necessario seguire le indicazioni riportate in questo articolo.

Messaggio di errore: "Allocazione non riuscita. Se si sta tentando di aggiungere una nuova macchina virtuale a un set di scalabilità di macchine virtuali con un singolo gruppo di posizionamento o aggiornare/ridimensionare una macchina virtuale esistente in un set di scalabilità di macchine virtuali con un singolo gruppo di posizionamento, tenere presente che tale allocazione potrebbe essere assegnata a un singolo cluster ed è possibile che il cluster non sia disponibile. Per altre informazioni sul miglioramento della probabilità di successo dell'allocazione, http://aka.ms/allocation-guidance."vedere ;

Questo articolo illustra le cause di alcuni degli errori di allocazione comuni e suggerisce possibili soluzioni.

Se il problema di Azure non viene risolto in questo articolo, visitare i forum di Azure in Q&A e Stack Overflow. È possibile pubblicare il problema su questi forum o @AzureSupport su Twitter. È anche possibile inviare una richiesta di supporto tecnico di Azure selezionando Ottieni supporto nel sito supporto tecnico di Azure.

Finché il tipo di macchina virtuale preferito non è disponibile nell'area preferita, si consiglia ai clienti che riscontrano problemi di distribuzione di considerare le indicazioni nella tabella seguente come soluzione temporanea.

Identificare lo scenario che meglio corrisponde al caso e quindi ripetere la richiesta di allocazione usando la soluzione alternativa suggerita corrispondente per aumentare la probabilità di esito positivo dell'allocazione. In alternativa, è sempre possibile riprovare in un secondo momento. Ciò è dovuto al fatto che è possibile che siano state liberate risorse sufficienti nel cluster, nell'area o nella zona per soddisfare la richiesta.

Ridimensionare una macchina virtuale o aggiungere macchine virtuali a un set di disponibilità esistente

Causa

Una richiesta per ridimensionare una macchina virtuale o aggiungere una macchina virtuale a un set di disponibilità esistente deve essere provata nel cluster originale che ospita il set di disponibilità esistente. Le dimensioni della macchina virtuale richieste sono supportate dal cluster, ma il cluster potrebbe non avere attualmente una capacità sufficiente.

Soluzione alternativa

Se la macchina virtuale può far parte di un set di disponibilità diverso, creare una macchina virtuale in un set di disponibilità diverso (nella stessa area). Questa nuova macchina virtuale può quindi essere aggiunta alla stessa rete virtuale.

Arrestare (deallocare) tutte le macchine virtuali nello stesso set di disponibilità, quindi avviare tutte le macchine virtuali applicabili in batch. Per arrestare: fare clic su Gruppi di risorse > [gruppo di risorse] > Risorse > [set di disponibilità] > Macchine virtuali > [macchina virtuale] > Arresta. Dopo l'arresto di tutte le macchine virtuali, passare aMacchine virtualihome>, aggiungere un filtro set di disponibilità e quindi selezionare Raggruppa per set di disponibilità. Selezionare tutte le macchine virtuali applicabili e fare clic su Avvia. Questo passaggio assicura che venga eseguito un nuovo tentativo di allocazione e che sia possibile selezionare un nuovo cluster con capacità sufficiente.

Avviare macchine virtuali parzialmente arrestate (deallocate)

Causa

La deallocazione parziale significa che è stata arrestata (deallocata) una o più macchine virtuali, ma non tutte, in un set di disponibilità. Quando si dealloca una macchina virtuale, vengono rilasciate le risorse associate. L'avvio di macchine virtuali in un set di disponibilità parzialmente deallocato equivale all'aggiunta di macchine virtuali a un set di disponibilità esistente. Pertanto, la richiesta di allocazione deve essere provata nel cluster originale che ospita il set di disponibilità esistente che potrebbe non avere capacità sufficiente.

Soluzione alternativa

Arrestare (deallocare) tutte le macchine virtuali nello stesso set di disponibilità, quindi avviare tutte le macchine virtuali applicabili in batch. Per arrestare: fare clic su Gruppi di risorse > [gruppo di risorse] > Risorse > [set di disponibilità] > Macchine virtuali > [macchina virtuale] > Arresta. Dopo l'arresto di tutte le macchine virtuali, passare aMacchine virtualihome>, aggiungere un filtro set di disponibilità e quindi selezionare Raggruppa per set di disponibilità. Selezionare tutte le macchine virtuali applicabili e fare clic su Avvia. In questo modo si garantisce che venga eseguito un nuovo tentativo di allocazione e che sia possibile selezionare un nuovo cluster con capacità sufficiente.

Avviare macchine virtuali completamente arrestate (deallocate)

Causa

La deallocazione completa significa che sono state arrestate (deallocate) tutte le macchine virtuali in un set di disponibilità. La richiesta di allocazione per avviare queste macchine virtuali sarà destinata a tutti i cluster che supportano le dimensioni desiderate all'interno dell'area o della zona. Modificare la richiesta di allocazione in base ai suggerimenti in questo articolo e ripetere la richiesta per migliorare le probabilità di esito positivo dell'allocazione.

Soluzione alternativa

Se si usano dimensioni o serie di macchine virtuali precedenti, ad esempio Dv1, DSv1, Av1, D15v2 o DS15v2, provare a passare a versioni più recenti. Vedere queste raccomandazioni per dimensioni di macchine virtuali specifiche. Se non si ha la possibilità di usare una dimensione di macchina virtuale diversa, provare a eseguire la distribuzione in un'area diversa all'interno della stessa area geografica. Per altre informazioni sulle dimensioni delle macchine virtuali disponibili in ogni area, vedere https://aka.ms/azure-regions

Se si usano zone di disponibilità, provare un'altra zona all'interno dell'area che potrebbe avere capacità disponibile per le dimensioni della macchina virtuale richieste.

Se la richiesta di allocazione è di grandi dimensioni (più di 500 core), vedere le linee guida nelle sezioni seguenti per suddividere la richiesta in distribuzioni più piccole.

Errori di allocazione per le dimensioni delle macchine virtuali meno recenti (Av1, Dv1, DSv1, D15v2, DS15v2 e così via)

Man mano che si espande l'infrastruttura di Azure, viene distribuito hardware di nuova generazione progettato per supportare i tipi di macchine virtuali più recenti. Alcune delle macchine virtuali della serie precedente non vengono eseguite nell'infrastruttura di ultima generazione. Per questo motivo, i clienti possono occasionalmente riscontrare errori di allocazione per questi SKU legacy. Per evitare questo problema, è consigliabile che i clienti che usano macchine virtuali serie legacy considerino il passaggio alle macchine virtuali più recenti equivalenti in base alle raccomandazioni seguenti: queste macchine virtuali sono ottimizzate per l'hardware più recente e consentono di sfruttare prezzi e prestazioni migliori.

Serie/dimensioni di macchine virtuali legacy Serie/dimensioni delle macchine virtuali più recenti consigliate Ulteriori informazioni
Serie Av1 Serie Av2 https://azure.microsoft.com/blog/new-av2-series-vm-sizes/
Serie Dv1 o DSv1 (da D1 a D5) Serie Dv3 o DSv3 https://azure.microsoft.com/blog/introducing-the-new-dv3-and-ev3-vm-sizes/
Serie Dv1 o DSv1 (da D11 a D14) Serie Ev3 o ESv3
D15v2 o DS15v2 Se si usa il modello di distribuzione di Resource Manager per sfruttare le dimensioni maggiori delle macchine virtuali, provare a passare a D16v3/DS16v3 o D32v3/DS32v3. Questi sono progettati per essere eseguiti nell'hardware di ultima generazione. Se si usa il modello di distribuzione Resource Manager per assicurarsi che l'istanza della macchina virtuale sia isolata per l'hardware dedicato a un singolo cliente, provare a passare alle nuove dimensioni di macchine virtuali isolate, E64i_v3 o E64is_v3, progettate per l'esecuzione nell'hardware di ultima generazione. https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/

Errori di allocazione per distribuzioni di grandi dimensioni (più di 500 core)

Ridurre il numero di istanze delle dimensioni della macchina virtuale richieste e quindi ripetere l'operazione di distribuzione. Inoltre, per distribuzioni di dimensioni maggiori, è possibile valutare i set di scalabilità di macchine virtuali di Azure con più gruppi di posizionamento. Il numero di istanze di VM può aumentare o diminuire automaticamente in risposta alla domanda o a una pianificazione definita e si ha una maggiore probabilità di successo dell'allocazione perché le distribuzioni possono essere distribuite tra più cluster quando vengono distribuite come gruppo multi-posizionamento. Altre informazioni sull'uso di set di scalabilità di macchine virtuali di grandi dimensioni e su come convertire un set di scalabilità esistente in più gruppi di posizionamento. Si noti che è possibile modificare un set di scalabilità dal supporto di un singolo gruppo di posizionamento al supporto di più gruppi di posizionamento, ma non è possibile eseguire una conversione nell'altra direzione.

Informazioni complementari

Funzionamento dell'allocazione

I server nei data center di Azure sono partizionati in cluster. In genere, una richiesta di allocazione viene tentata in più cluster, ma è possibile che determinati vincoli della richiesta di allocazione forzano la piattaforma Azure a tentare la richiesta in un solo cluster. In questo articolo si farà riferimento a questo argomento come "aggiunto a un cluster". Il diagramma 1 seguente illustra il caso di un'allocazione normale tentata in più cluster. Il diagramma 2 illustra il caso di un'allocazione aggiunta al cluster 2 perché è qui che è ospitato il CS_1 o il set di disponibilità del servizio cloud esistente. Il diagramma 1 mostra l'allocazione tentata in più cluster e il diagramma 2 mostra l'allocazione aggiunta a un cluster.

Perché si verificano errori di allocazione

Quando una richiesta di allocazione viene aggiunta a un cluster, è più probabile che non riescano a trovare risorse gratuite perché il pool di risorse disponibile è più piccolo. Inoltre, se la richiesta di allocazione viene aggiunta a un cluster ma il tipo di risorsa richiesto non è supportato da tale cluster, la richiesta avrà esito negativo anche se il cluster dispone di risorse gratuite. Il diagramma 3 seguente illustra il caso in cui un'allocazione aggiunta ha esito negativo perché l'unico cluster candidato non dispone di risorse gratuite. Il diagramma 4 illustra il caso in cui un'allocazione aggiunta ha esito negativo perché l'unico cluster candidato non supporta le dimensioni della macchina virtuale richieste, anche se il cluster dispone di risorse gratuite.

Il diagramma 3 mostra l'allocazione non riuscita nel cluster aggiunto: nessuna risorsa disponibile e il diagramma 4 mostra l'allocazione non riuscita nel cluster aggiunto: dimensioni non supportate.

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.