Risolvere i problemi relativi a errori di allocazione quando si crea o ridimensiona una VM in Azure
Si applica a: ✔️ macchine virtuali Linux ✔️ macchine virtuali Windows
Quando si crea una macchina virtuale (VM), si avviano VM arrestate (deallocate) o si ridimensiona una VM, Microsoft Azure alloca risorse di calcolo alla sottoscrizione. Microsoft continua a investire in funzionalità e infrastrutture aggiuntive per garantire che tutti i tipi di VM supportino le richieste dei clienti. In alcuni casi possono, tuttavia, verificarsi errori di allocazione delle risorse a causa di un aumento senza precedenti delle richieste di servizi di Azure in aree specifiche. Questo problema può verificarsi quando si tenta di creare o avviare le VM in un'area e le VM possono visualizzare un 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. Ulteriori informazioni su come aumentare la possibilità di eseguire correttamente l'allocazione sono disponibili in https://aka.ms/allocation-guidance"
Raccomandazione alternativa: quando si riceve una raccomandazione alternativa, significa che le dimensioni della VM richieste non sono attualmente disponibili nell'area o nella zona selezionata. Per aumentare le probabilità di allocare correttamente una macchina virtuale, è possibile selezionare una delle opzioni alternative. È sufficiente applicare le modifiche alla selezione dell'input della VM o ridimensionare la VM attualmente esistente con l'opzione desiderata e provare ad avviare o creare di nuovo la VM.
Ad esempio, provare una di queste opzioni alternative per migliorare la probabilità di successo dell'allocazione:
- Dimensioni alternative delle VM per la stessa zona e area: Standard_A2_v2, Standard_A2m_v2, o Standard_D2a_v4
- Zone alternative per la stessa dimensione e area della VM: Zona 1 e 3
Nota
Se si stanno risolvendo i problemi di un set di scalabilità di macchine virtuali (VMSS), il processo è uguale a una VM standard. Per risolvere il problema, seguire le istruzioni riportate in questo articolo.
Messaggio di errore: "Allocazione non riuscita. Se si sta provando ad aggiungere una nuova VM a un set di scalabilità di macchine virtuali con un singolo gruppo di posizionamento o ad aggiornare/ridimensionare una VM esistente in un set di scalabilità di macchine virtuali con un singolo gruppo di posizionamento, notare che tale allocazione ha come ambito un cluster singolo ed è possibile che il cluster non disponga di capacità sufficiente. Ulteriori informazioni su come aumentare la possibilità di eseguire correttamente l'allocazione sono disponibili in http://aka.ms/allocation-guidance."
Questo articolo illustra le cause di alcuni dei più comuni errori di allocazione e suggerisce possibili soluzioni alternative.
Fino a quando il tipo preferito di VM è disponibile nella propria area preferita, è consigliabile che la clientela che ha problemi di distribuzione tenga in considerazione le indicazioni come soluzione alternativa temporanea.
Identificare lo scenario più adatto al caso e quindi ripetere la richiesta di allocazione usando la soluzione alternativa suggerita corrispondente per aumentare la possibilità di eseguire correttamente l'allocazione. In alternativa, è sempre possibile riprovare in un secondo momento. Questo avviene perché nel cluster, nell'area o nella zona è stato liberato un numero di risorse sufficiente a soddisfare la richiesta.
Valutare l'opportunità di usare le prenotazioni della capacità on demand per garantire che la capacità sia sempre disponibile per i propri carichi di lavoro. Questa opzione consente di riservare la capacità di calcolo in anticipo, assicurandosi che le macchine virtuali possano essere distribuite in base alle esigenze senza errori di allocazione. Questo approccio può migliorare l'affidabilità e la prevedibilità delle distribuzioni.
Macchina virtuale autonoma
Causa
Se si dispone di una VM autonoma in Azure, ovvero non fa parte di un set di disponibilità o di un gruppo di posizionamento di prossimità con altre macchine virtuali e si verificano errori di allocazione quando si tenta un'operazione di creazione, avvio o ridistribuzione, ciò indica che Azure attualmente non dispone di capacità sufficiente per soddisfare la richiesta nell'area o nella zona specificata.
Soluzioni alternative
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
Ripetere l'allocazione
In alcuni casi, il problema potrebbe essere temporaneo e ripetere l'allocazione dopo un breve periodo di tempo può risolvere il problema.
Ridimensionare la VM
Valutare la possibilità di modificare la VM in una dimensione diversa che potrebbe avere una maggiore disponibilità nell'area o nella zona.
Modificare l'area o la zona
Se l'area o la zona corrente riscontra una domanda elevata, provare a distribuire la VM in un'area o in una zona di disponibilità diversa in cui potrebbe essere presente una maggiore capacità.
Ridimensionare una VM, aggiungere macchine virtuali o avviare macchine virtuali parzialmente arrestate (deallocate) in un set di disponibilità esistente
Nota
Una VM può essere aggiunta a un set di disponibilità solo in fase di creazione. Per aggiungere una VM esistente a un set di disponibilità o modificare il set di disponibilità di una VM, è necessario eliminare e creare nuovamente la VM. Per altre informazioni, vedere Modificare il set di disponibilità di una VM tramite Azure PowerShell.
Causa
La richiesta di ridimensionamento di una VM o di aggiunta a un set di disponibilità esistente deve essere eseguita nel cluster originale che ospita il set di disponibilità esistente. Il cluster potrebbe non supportare la dimensione di VM richiesta o non disporre di una capacità sufficiente.
La deallocazione parziale significa che una o più VM in un set di disponibilità sono state arrestate (deallocate), ma non tutte. Quando si dealloca una VM, vengono rilasciate le risorse associate. Avviare le VM in un set di disponibilità parzialmente deallocato equivale ad aggiungere VM a un set di disponibilità esistente. Pertanto, è necessario fare la richiesta di allocazione al cluster originale che ospita il set di disponibilità esistente che può non avere una capacità sufficiente.
Soluzioni alternative
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
Per una nuova distribuzione della VM, se può far parte di un set di disponibilità diverso, crearela VM in un set di disponibilità diverso (nella stessa area o zona). La nuova VM può quindi essere aggiunta alla stessa rete virtuale.
Valutare la possibilità di ridimensionare la VM a una dimensione diversa che potrebbe avere una maggiore disponibilità nell'area o nella zona. Per assicurarsi che le dimensioni delle VM siano supportate nel set di disponibilità, usare i set di disponibilità - Elencare le dimensioni disponibili - API REST.
Arrestare (deallocare) tutte le VM nello stesso set di disponibilità e quindi avviare tutte le VM applicabili in un batch per consentire l'allocazione da tutti i cluster disponibili, anziché solo dal cluster in cui è attualmente allocato il set di disponibilità.
Per arrestare tutte le VM nel set di disponibilità, seguire questa procedura:
- Passare a Macchine virtuali nel portale di Azure.
- Selezionare Aggiungi filtro e aggiungere un filtro per il set di disponibilità che si vuole gestire.
- Selezionare la casella per tutte le VM nel set di disponibilità.
- Selezionare Arresta e attendere il completamento dell'operazione e di tutte le VM per segnalare lo stato Arrestato (deallocato).
- Selezionare Avvia per allocare di nuovo tutte le VM.
Avviare VM completamente arrestate (deallocate) in un set di disponibilità
Causa
La deallocazione completa significa che sono state arrestate (deallocate) tutte le VM in un set di disponibilità. La richiesta di allocazione per avviare queste VM viene eseguita in tutti i cluster che supportano le dimensioni desiderate nell'ambito dell'area o della zona.
Soluzioni alternative
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
Ripetere l'allocazione
In alcuni casi, il problema potrebbe essere temporaneo e ripetere l'allocazione dopo un breve periodo di tempo può risolvere il problema.
Ridimensionare le VM
Valutare la possibilità di ridimensionare la VM a una dimensione diversa che potrebbe avere una maggiore disponibilità nell'area o nella zona. Per assicurarsi che le dimensioni delle VM siano supportate nel set di disponibilità, usare Set di disponibilità - Elencare le dimensioni disponibili - API REST.
Modificare l'area o la zona
Se l'area o la zona corrente riscontra una domanda elevata, provare a distribuire o eseguire la migrazione delle VM a un'area o a una zona di disponibilità diversa in cui potrebbe esserci più capacità.
Errori di allocazione per le VM nelle zone di disponibilità
Causa
Le zone di disponibilità di Azure sono data center separati fisicamente e logicamente all'interno di un'area di Azure. Ogni zona di disponibilità ha potenza, raffreddamento e infrastruttura di rete indipendenti. Sono progettati per garantire disponibilità elevata e resilienza isolando gli errori in una singola zona, riducendo così al minimo l'impatto su altre zone all'interno della stessa area.
Tuttavia, a causa delle condizioni aggiuntive dei vincoli di distribuzione associate alle zone di disponibilità, potrebbero verificarsi errori di allocazione.
Soluzioni alternative
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
Ripetere l'allocazione
In alcuni casi, la ripetizione della richiesta di allocazione in un secondo momento può essere utile perché le risorse potrebbero essere state liberate nella zona.
Ridimensionare la VM
Valutare la possibilità di ridimensionare la VM a una dimensione diversa che potrebbe avere una maggiore disponibilità nell'area o nella zona.
Modificare l'area o la zona
Se l'area o la zona corrente riscontra una domanda elevata, provare a distribuire o eseguire la migrazione delle VM a un'area o a una zona di disponibilità diversa in cui potrebbe esserci più capacità. L'area o la zona possono essere modificate con i metodi seguenti:
Creare una nuova VM usando una copia del disco del sistema operativo, in una zona diversa o senza il vincolo di zona. La rimozione del vincolo di zona espande le opzioni di allocazione all'intera area, anziché limitarle a una singola zona.
Per altre informazioni, vedere gli articoli seguenti:
Eseguire la migrazione o creare la VM in un'area diversa. Per altre informazioni, vedere Spostare le VM di Azure tra aree.
Errori di allocazione eccessivamente vincolati
Causa
Quando la piattaforma di calcolo di Azure non può allocare una VM per soddisfare i vincoli necessari specificati nella richiesta, si verificano errori di allocazione eccessivamente vincolati. Questi errori si verificano in genere quando non è possibile soddisfare requisiti specifici all'interno delle risorse disponibili. Sono spesso indicati da errori come OverconstrainedZonalAllocationRequest
o OverconstrainedAllocationRequest
.
Questi vincoli in genere (ma non sempre) includono gli elementi seguenti:
- Dimensioni/SKU della VM
- Rete accelerata
- Availability Zone (Zona di disponibilità)
- Disco temporaneo
- Gruppo di posizionamento di prossimità (PPG)
- Disco Ultra o PremiumSSDv2
Soluzioni alternative
Per ovviare a questo problema, utilizzare uno dei seguenti metodi:
Ripetere l'allocazione
In alcuni casi, la ripetizione della richiesta di allocazione in un secondo momento può essere utile perché le risorse potrebbero essere state liberate nella zona.
Ridimensionare la VM
Valutare la possibilità di ridimensionare la VM a una dimensione diversa che potrebbe avere una maggiore disponibilità nell'area o nella zona.
Modificare l'area o la zona
Se l'area o la zona corrente riscontra una domanda elevata, provare a distribuire o eseguire la migrazione delle VM a un'area o a una zona di disponibilità diversa in cui potrebbe esserci più capacità. L'area o la zona possono essere modificate con i metodi seguenti:
Creare una nuova VM usando una copia del disco del sistema operativo, in una zona diversa o senza il vincolo di zona. La rimozione del vincolo di zona espande le opzioni di allocazione all'intera area, anziché limitarle a una singola zona.
Per altre informazioni, vedere gli articoli seguenti:
Eseguire la migrazione o creare la VM in un'area diversa. Per altre informazioni, vedere Spostare le VM di Azure tra aree.
Modificare i vincoli che potrebbero limitare l'allocazione: potrebbe esserci una disponibilità sufficiente per lo SKU della VM nella zona. Tuttavia, i vincoli definiti potrebbero impedire l'allocazione. Per aumentare la probabilità di successo dell'allocazione, valutare la possibilità di modificare i vincoli:
- Disabilitando la rete accelerata.
- Rimuovendo la VM da qualsiasi gruppo di posizionamento di prossimità.
- Rimuovendo qualsiasi disco UltraSSD o PemiumSSDv2.
Errori di allocazione per le VM che usano gruppi di posizionamento di prossimità
I gruppi di posizionamento di prossimità assicurano che le risorse siano collocate nello stesso data center per ridurre la latenza. Tuttavia, il vincolo di distribuzione aggiunto può talvolta causare errori di allocazione. Per altre informazioni e procedure consigliate, vedere Gruppi di posizionamento di prossimità.
Causa
Quando si richiede di avviare o allocare la prima VM in un gruppo di posizionamento di prossimità, il data center viene selezionato automaticamente. Se la dimensione necessaria della VM non è disponibile, la richiesta non riesce. Negli scenari con carichi di lavoro elastici in cui le istanze di VM vengono aggiunte o rimosse in modo dinamico, l'applicazione di un vincolo di gruppo di posizionamento di prossimità può causare un errore di allocazione, che indica che la richiesta di allocazione non può essere completata.
Soluzione
Deallocare tutte le VM nel gruppo di posizionamento di prossimità e provare a modificare l'ordine in cui si avviano le VM. L'avvio delle VM in un primo momento con lo SKU più restrittivo può aumentare le probabilità di allocazioni riuscite.
Errori di allocazione per dimensioni di VM precedenti (Av1, Dv1, DSv1, D15v2, DS15v2 e così via)
Con l'espansione dell'infrastruttura di Azure, viene distribuito hardware di nuova generazione progettato per supportare i tipi di macchina virtuale più recenti. Alcune delle serie di VM precedenti non vengono eseguite nell'infrastruttura di generazione più recente. Per questo motivo, è possibile che i clienti riscontrino occasionalmente errori di allocazione per queste SKU di versione precedente. Per evitare questo problema, consigliamo alla clientela che usa VM di serie di versioni precedenti per valutare lo spostamento a VM più recenti equivalenti per le seguenti raccomandazioni: Queste VM sono ottimizzate per l'hardware più recente e consentiranno di sfruttare un rapporto prezzo/prestazioni più vantaggioso.
Dimensioni/Serie VM legacy | Dimensioni/Serie VM 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 | Prendere in considerazione il passaggio a D16v3/DS16v3 o D32v3/DS32v3. Queste VM sono progettate per l'hardware di generazione più recente. Per assicurarsi che l'istanza di VM sia isolata all'hardware dedicato a un singolo cliente, provare a passare alle nuove dimensioni di VM isolate, E64i_v3 o E64is_v3, progettate per essere eseguite sull'hardware di generazione più recente. | https://azure.microsoft.com/blog/new-isolated-vm-sizes-now-available/ |
Errori di allocazione per distribuzioni di grandi dimensioni (oltre 500 core)
Ridurre il numero di istanze delle dimensioni di VM richieste e quindi ripetere l'operazione di distribuzione. Inoltre, per distribuzioni più grandi, può essere utile valutare i set di scalabilità di macchine virtuali di Azure con gruppi di selezione host multipli. Il numero di istanze di macchina virtuale può essere aumentato o ridotto automaticamente in base alla richiesta o a una pianificazione definita e si hanno maggiori possibilità di eseguire correttamente l'allocazione perché le distribuzioni possono essere distribuite in più cluster quando sono distribuite come gruppo di selezione host multiplo. Altre informazioni sull'utilizzo di set di scalabilità di macchine virtuali di grandi dimensioni e su come convertire un set di scalabilità esistente in modo da estendersi su più gruppi di posizionamento. Si noti che è possibile modificare un set di scalabilità dal supporto di un singolo gruppo di selezione host al supporto di più gruppi di selezione host, ma non è possibile eseguire una conversione nell'altra direzione.
Informazioni di base
Come funziona l'allocazione
I server nei data center di Azure sono partizionati in cluster. In genere, viene eseguita una richiesta di allocazione in più cluster, ma è possibile che determinati vincoli (come dimensione della VM, Ultra SSD e gruppi di posizionamento di prossimità) nella richiesta di allocazione impongano alla piattaforma Azure di tentare la richiesta in un solo cluster. Il diagramma 1 riportato di seguito illustra il caso di un'allocazione normale tentata in più cluster.
Perché si verificano gli errori di allocazione
Quando un'allocazione ha un grande numero di restrizioni, la probabilità di non riuscire a trovare risorse disponibili è più alta, perché il pool di risorse disponibili è più ridotto. Inoltre, se la richiesta di allocazione è limitata (ad esempio, quando si usano gruppi di posizionamento di prossimità ma il tipo di risorsa richiesta non è supportato dal set di cluster e da quelli nelle vicinanze), la richiesta ha esito negativo anche se il cluster ha risorse disponibili. Il diagramma 2 riportato di seguito illustra il caso in cui un'allocazione non riesce perché i cluster candidati associati al gruppo di posizionamento di prossimità non hanno risorse disponibili. Il diagramma 3 illustra il caso in cui un'allocazione non riesce perché i cluster candidati associati al gruppo di posizionamento di prossimità non supportano la dimensione richiesta della VM, anche se i cluster hanno risorse disponibili.
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.