Correzione di un errore AllocationFailed o ZonalAllocationFailed durante la creazione, il riavvio o il ridimensionamento set di scalabilità di macchine virtuali in Azure
Avviso
Se il set di scalabilità di macchine virtuali di Microsoft Azure fa parte di un cluster di Azure Service Fabric, non seguire queste indicazioni per la risoluzione dei problemi. Questo materiale sussidiario può causare perdite di dati e danni irreversibili del cluster in questo scenario. Per altre informazioni, vedere È possibile usare set di scalabilità di macchine virtuali di grandi dimensioni nel cluster di Service Fabric?
In questo articolo ottenere informazioni su:
- Errori AllocationFailed o ZonalAllocationFailed in Microsoft Azure set di scalabilità di macchine virtuali.
- Come evitare errori di allocazione.
- Cause degli errori di allocazione.
- Come risolvere gli errori di allocazione quando si verificano.
Per risolvere gli errori di allocazione per le macchine virtuali standard, vedere Risolvere gli errori di allocazione durante la creazione, il riavvio o il ridimensionamento delle macchine virtuali in Azure.
Sintomo
A causa di una domanda elevata per i servizi di Azure, è possibile che si verifichi un errore di allocazione se si tenta di creare o avviare istanze di macchine virtuali in determinate aree. Azure tenta di allocare risorse di calcolo alla sottoscrizione ogni volta che si:
- Creare un set di scalabilità di macchine virtuali.
- Riavviare un'istanza di macchina virtuale del set di scalabilità arrestata (deallocata).
- Ridimensionare un set di scalabilità.
I dettagli dell'errore seguenti sono un esempio del messaggio di errore di allocazione.
Codice di errore: AllocationFailed o ZonalAllocationFailed
Messaggio di errore 1: Allocazione non riuscita. Non disponiamo di capacità sufficiente per le dimensioni della VM richieste in questa area geografica. Altre informazioni sul miglioramento della probabilità di esito positivo dell'allocazione sono disponibili in https://aka.ms/allocation-guidance.
Messaggio di errore 2: Allocazione non riuscita. Le VM con i seguenti vincoli non possono essere allocate perché la condizione è troppo restrittiva. Rimuovere alcuni vincoli e riprovare. I vincoli applicati sono:
- Zona di disponibilità
- Dimensioni della VM
Messaggio di errore 3: Allocazione non riuscita. Se si sta provando ad aggiungere una nuova macchina virtuale o ad aggiornare/ridimensionare una macchina virtuale esistente in un set di scalabilità di macchine virtuali con un singolo gruppo di posizionamento, si noti che tale allocazione ha come ambito un cluster singolo ed è possibile che il cluster non disponga di capacità sufficiente. Per altre informazioni sul miglioramento della probabilità di esito positivo dell'allocazione, vedere https://aka.ms/allocation-guidance.
Come evitare errori di allocazione
Per evitare errori di allocazione, è possibile applicare alcune impostazioni di configurazione al set di scalabilità per ottimizzare le richieste di allocazione.
Provisioning eccessivo. Con l'overprovisioning attivato, il set di scalabilità attiva effettivamente più istanze di macchine virtuali di quelle richieste. Elimina quindi le istanze di macchina virtuale aggiuntive dopo il provisioning del numero richiesto di istanze di macchina virtuale. Questa procedura migliora le percentuali di successo del provisioning e riduce il tempo di distribuzione. Non vengono fatturate le istanze aggiuntive della macchina virtuale e non vengono conteggiate nei limiti di quota. Per abilitare il provisioning eccessivo:
Nella portale di Azure cercare e selezionare Set di scalabilità di macchine virtuali.
Selezionare il nome del set di scalabilità.
Nel riquadro dei menu selezionare Configurazione.
Nell'intestazione Overprovisioning impostare Abilita overprovisioning su Sì.
Selezionare Salva.
Altre informazioni sul provisioning eccessivo.
Abilitare set di scalabilità di grandi dimensioni. Le set di scalabilità di macchine virtuali di grandi dimensioni sono definite come set di scalabilità che possono essere ridimensionati a più di 100 istanze di macchine virtuali. Questa funzionalità viene impostata da una proprietà del set di scalabilità (
singlePlacementGroup=false
). Ciò che rende speciale un set di scalabilità di grandi dimensioni non è il numero di istanze di macchine virtuali, ma il numero di gruppi di posizionamento in esso contenuti. Un gruppo di posizionamento è simile a un set di disponibilità di Azure, con domini di errore e domini di aggiornamento specifici. ConsinglePlacementGroup
impostato sufalse
, si ha una maggiore probabilità di esito positivo dell'allocazione, perché le distribuzioni possono essere distribuite tra più cluster quando vengono distribuiti come gruppo multisollocazione. Altre informazioni sull'uso di set di scalabilità di macchine virtuali di grandi dimensioni, in particolare su come convertire un set di scalabilità esistente in più gruppi di posizionamento.Note
È 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. Una volta
singlePlacementGroup
impostato sufalse
, non è possibile modificarlo di nuovo.
Ridurre il numero di istanze delle dimensioni di VM richieste e quindi ripetere l'operazione di distribuzione. Per le distribuzioni di dimensioni maggiori, è possibile valutare Azure set di scalabilità di macchine virtuali con più gruppi di posizionamento. Il numero di istanze di macchine virtuali può aumentare o diminuire automaticamente in risposta alla domanda o a una pianificazione definita.
Altri suggerimenti
Fino a quando il tipo di macchina virtuale preferito non è disponibile nell'area preferita, i clienti che riscontrano problemi di distribuzione devono considerare le indicazioni riportate nelle sezioni seguenti come soluzione temporanea.
Identificare lo scenario più adatto al caso. Per aumentare la probabilità di esito positivo dell'allocazione, ripetere la richiesta di allocazione usando la soluzione suggerita corrispondente. In alternativa, è sempre possibile riprovare in un secondo momento. È possibile che nel cluster, nell'area o nella zona siano state liberate risorse sufficienti per soddisfare la richiesta in un altro momento.
Causa
L'area o la zona non dispone di capacità core sufficiente per lo SKU richiesto.
Causa 1: ridimensionato un set di scalabilità o istanze di macchina virtuale aggiunte a un set di scalabilità esistente
Se è presente una richiesta di ridimensionare un set di scalabilità o aggiungere un'istanza di macchina virtuale a un set di scalabilità esistente, è necessario provarla nel cluster originale che ospita il set di scalabilità esistente. In alternativa, il cluster supporta le dimensioni della macchina virtuale richieste, ma potrebbe non avere capacità sufficiente.
Soluzione per la causa 1
Provare una delle azioni seguenti:
Tentare di spostare il set di scalabilità in un cluster diverso nella stessa area con capacità adeguata.
Arrestare (deallocare) tutte le istanze di macchina virtuale nel set di scalabilità e quindi ridimensionare il set di scalabilità in base alle esigenze. Al termine del ridimensionamento, riavviare le istanze della macchina virtuale. Per arrestare le istanze della macchina virtuale:
Nella portale di Azure cercare e selezionare Set di scalabilità di macchine virtuali.
Selezionare il nome del set di scalabilità.
Selezionare Interrompi.
Dopo aver arrestato tutte le istanze di macchina virtuale per eseguire il ridimensionamento e quindi avviare il set di scalabilità, il nuovo tentativo di allocazione può identificare un cluster con capacità sufficiente per ospitare l'intero set di scalabilità.
Configurare il set di scalabilità per la scalabilità in più gruppi di posizionamento.
Vedere Creazione di un set di scalabilità di grandi dimensioni.
Causa 2: Riavviata una macchina virtuale parzialmente arrestata (deallocata)
La deallocazione parziale indica che una o più istanze di macchine virtuali in un set di scalabilità sono state arrestate (deallocate), ma non tutte. Quando si dealloca un'istanza di macchina virtuale, vengono rilasciate le risorse associate. Il riavvio delle istanze di macchina virtuale in un set di disponibilità parzialmente deallocato equivale all'aggiunta di istanze di macchina virtuale a un set di disponibilità esistente. È quindi necessario provare la richiesta di allocazione nel cluster originale che ospita il set di disponibilità esistente, che potrebbe avere capacità insufficiente.
Soluzione per la causa 2
Arrestare (deallocare) tutte le istanze di macchina virtuale nel set di scalabilità e quindi riavviare ogni istanza di macchina virtuale. Per arrestare le istanze della macchina virtuale:
Nella portale di Azure cercare e selezionare Set di scalabilità di macchine virtuali.
Selezionare il nome del set di scalabilità.
Nel riquadro dei menu selezionare Istanze.
Selezionare tutte le istanze di macchina virtuale elencate.
Selezionare Interrompi.
Dopo l'arresto di tutte le macchine virtuali, selezionare la prima istanza di macchina virtuale e quindi selezionare Avvia. Azure effettua un nuovo tentativo di allocazione e seleziona un nuovo cluster con capacità sufficiente.
Causa 3: Istanze di macchina virtuale riavviate completamente arrestate
La deallocazione completa indica che tutte le istanze di macchina virtuale in un set di disponibilità sono state arrestate (deallocate). La richiesta di allocazione per riavviare queste istanze di macchina virtuale sarà destinati a tutti i cluster che supportano le dimensioni necessarie all'interno dell'area o della zona.
Soluzione per la causa 3
Modificare la richiesta di allocazione usando i suggerimenti in questo articolo. Ripetere quindi la richiesta per migliorare la probabilità di esito positivo dell'allocazione.
Se si usano serie di macchine virtuali o dimensioni precedenti (ad esempio Dv1, DSv1, Av1, D15v2 o DS15v2), è consigliabile passare alle versioni più recenti. Per informazioni specifiche sulle dimensioni di VM, vedere queste raccomandazioni. Non è consentito usare una dimensione di macchina virtuale diversa? Provare quindi a eseguire la distribuzione in un'area diversa all'interno della stessa area geografica. Per altre informazioni sulle dimensioni della macchina virtuale disponibili in ogni area, vedere https://aka.ms/azureregions.
Se si usano le zone di disponibilità, provare un'altra zona all'interno dell'area con capacità disponibile per le dimensioni della macchina virtuale richieste.
Se la richiesta di allocazione è di grandi dimensioni (più di 500 core), vedere le sezioni seguenti per suddividere la richiesta in distribuzioni più piccole.
Provare a ridistribuire l'istanza della macchina virtuale, che alloca l'istanza di macchina virtuale a un nuovo cluster all'interno dell'area.
Errori di allocazione per dimensioni della macchina virtuale precedenti
Alcune dimensioni delle macchine virtuali serie precedenti non vengono eseguite nell'infrastruttura di generazione più recente. I clienti possono occasionalmente riscontrare errori di allocazione per questi SKU legacy. È consigliabile che i clienti che usano macchine virtuali serie legacy considerino la migrazione alle macchine virtuali più recenti equivalenti. Le macchine virtuali più recenti sono ottimizzate per l'hardware più recente e consentono di sfruttare i prezzi e le prestazioni migliori.
Vedere le raccomandazioni seguenti:
Dimensioni o serie di macchine virtuali legacy | Dimensioni o serie di macchine virtuali più recenti consigliate | Collegamento al blog |
---|---|---|
Serie Av1 | Serie Av2 | Nuove dimensioni delle macchine virtuali serie A_v2 |
Serie Dv1 o DSv1 (da D1 a D5) | Serie Dv3 o DSv3 | Introduzione alle nuove dimensioni di vm Dv3 e Ev3 |
Serie Dv1 o DSv1 (da D11 a D14) | Serie Ev3 o ESv3 | |
D15v2 o DS15v2 | Se si usa il modello di distribuzione Resource Manager per sfruttare le dimensioni di vm maggiori, è consigliabile passare a D16v3/DS16v3 o D32v3/DS32v3. Queste dimensioni sono progettate per l'esecuzione nell'hardware di ultima generazione. Si usa il modello di distribuzione Resource Manager per assicurarsi che l'istanza della macchina virtuale sia isolata nell'hardware dedicato a un singolo cliente? Prendere quindi in considerazione il passaggio alle nuove dimensioni di vm isolate, E64i_v3 o E64is_v3, progettate per l'esecuzione nell'hardware di generazione più recente. |
Nuove dimensioni di vm isolate ora disponibili |
Informazioni generali
Come funziona l'allocazione
La piattaforma Azure tenta di partizionare i server del data center in cluster. In genere, tenta una richiesta di allocazione in più cluster. Tuttavia, alcuni vincoli della richiesta di allocazione possono forzare la piattaforma Azure a tentare la richiesta in un solo cluster ("aggiunto a un cluster"). Il diagramma 1 seguente mostra un'allocazione normale che viene tentata in più cluster (da cluster 1 a cluster n). Nel diagramma 2, un'allocazione viene aggiunta al cluster 2, perché tale cluster ospita il servizio cloud esistente (CS_1) o il set di disponibilità.
Perché si verificano gli errori di allocazione
Se una richiesta di allocazione viene aggiunta a un cluster, è possibile che non sia possibile trovare risorse gratuite, perché il pool di risorse disponibile è più piccolo. Cosa accade se la richiesta di allocazione viene aggiunta a un cluster che non supporta il tipo di risorsa richiesta? La richiesta avrà esito negativo anche se il cluster dispone di risorse gratuite. Il diagramma 3 seguente mostra dove un'allocazione bloccata ha esito negativo perché l'unico cluster candidato non dispone di risorse gratuite. Il diagramma 4 mostra dove 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.
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.