Corrigir um erro de Falha de Alocação ou ZonalAllocation Falha ao criar, reiniciar ou redimensionar Conjuntos de Dimensionamento de Máquinas Virtuais no Azure

Aviso

Se o Conjunto de Dimensionamento de Máquinas Virtuais do Microsoft Azure fizer parte de um cluster do Azure Service Fabric, não siga estas diretrizes de solução de problemas. Essa diretriz pode causar perda de dados e danos irreversíveis do cluster nesse cenário. Para obter mais informações, confira Posso usar grandes conjuntos de dimensionamento de máquinas virtuais no cluster do Service Fabric?

Neste artigo, obtenha informações sobre:

  • Erros de falha de alocação ou ZonalAllocation Falha no Microsoft Azure Conjuntos de Dimensionamento de Máquinas Virtuais.
  • Como evitar falhas de alocação.
  • As causas das falhas de alocação.
  • Como solucionar problemas de falhas de alocação quando elas surgem.

Para solucionar problemas de falhas de alocação para VMs (máquinas virtuais padrão), confira Solucionar problemas de falhas de alocação ao criar, reiniciar ou redimensionar VMs no Azure.

Sintoma

Devido à alta demanda por serviços do Azure, pode ocorrer uma falha de alocação se você tentar criar ou iniciar instâncias de VM em determinadas regiões. O Azure tenta alocar recursos de computação para sua assinatura sempre que você:

  • Crie um conjunto de dimensionamento de máquinas virtuais.
  • Reinicie uma instância de VM de conjunto de dimensionamento interrompida (desalocada).
  • Redimensione um conjunto de dimensionamento.

Os detalhes do erro a seguir são um exemplo da mensagem de falha de alocação.

Código de erro: Falha de alocação ou Falha de ZonalAllocation

Mensagem de erro 1: falha na alocação. Não temos capacidade suficiente para o tamanho de VM solicitado nesta região. Leia mais sobre como melhorar a probabilidade de sucesso de alocação em https://aka.ms/allocation-guidance.

Mensagem de erro 2: falha na alocação. VM(s) com as seguintes restrições não podem ser alocadas porque a condição é muito restritiva. Remova algumas restrições e tente novamente. As restrições aplicadas são:

  • Zona de disponibilidade
  • Tamanho da VM

Mensagem de erro 3: falha na alocação. Se você estiver tentando adicionar uma nova VM a um Conjunto de Dimensionamento de Máquinas Virtuais com um único grupo de posicionamento ou atualizar/redimensionar uma VM existente em um Conjunto de Dimensionamento de Máquina Virtual com um único grupo de posicionamento, observe que essa alocação está no escopo de um único cluster e é possível que o cluster esteja fora de capacidade. Leia mais sobre como melhorar a probabilidade de sucesso de alocação em https://aka.ms/allocation-guidance.

Como evitar falhas de alocação

Para evitar falhas de alocação, você pode aplicar algumas configurações ao conjunto de dimensionamento para otimizar solicitações de alocação.

  • Superprovisionamento. Com a superprovisionação ativada, o conjunto de dimensionamento realmente gira mais instâncias de VM do que você pediu. Em seguida, ele exclui as instâncias de VM extras depois que o número solicitado de instâncias de VM é provisionado com êxito. Essa prática melhora as taxas de sucesso de provisionamento e reduz o tempo de implantação. Você não é cobrado pelas instâncias extras de VM e elas não contam para seus limites de cota. Para habilitar a superprovisionação:

    1. No portal do Azure, pesquise e selecione Conjuntos de dimensionamento de máquinas virtuais.

    2. Selecione o nome do conjunto de dimensionamento.

    3. No painel de menus, selecione Configuração.

    4. No título Overprovisioning , defina Habilitar a superprovisionação como Ativado.

    5. Selecione Salvar.

    Saiba mais sobre a superprovisionamento.

  • Habilitar conjuntos de grande escala. Grandes Conjuntos de Dimensionamento de Máquinas Virtuais são definidos como conjuntos de escala que podem ser dimensionados para mais de 100 instâncias de VM. Essa funcionalidade é definida por uma propriedade de conjunto de dimensionamento (singlePlacementGroup=false). O que torna um conjunto de grande escala especial não é o número de instâncias de VM, mas o número de grupos de posicionamento que ele contém. Um grupo de posicionamento é semelhante a um conjunto de disponibilidade do Azure, com seus próprios domínios de falha e domínios de atualização. Com singlePlacementGroup definido como false, você tem uma maior chance de sucesso de alocação, pois as implantações podem ser espalhadas por vários clusters quando implantadas como um grupo multissubstitutório. Saiba mais sobre como trabalhar com grandes conjuntos de dimensionamento de máquinas virtuais, especificamente como converter um conjunto de dimensionamento existente para abranger vários grupos de posicionamento.

    Observação

    Você pode alterar um conjunto de dimensionamento de dar suporte a um único grupo de posicionamento para dar suporte a vários grupos de posicionamento, mas não é possível executar uma conversão na outra direção. Depois de singlePlacementGroup definido como false, você não pode alterá-lo novamente.

Reduza o número de instâncias do tamanho da VM solicitada e tente novamente a operação de implantação. Para implantações maiores, talvez você queira avaliar o Azure Conjuntos de Dimensionamento de Máquinas Virtuais com vários grupos de posicionamento. O número de instâncias de VM pode aumentar ou diminuir automaticamente em resposta à demanda ou a um agendamento definido.

Outras dicas

Até que seu tipo de VM preferencial esteja disponível em sua região preferencial, os clientes que enfrentam problemas de implantação devem considerar as diretrizes nas seções a seguir como uma solução temporária.

Identifique o cenário que melhor corresponda ao seu caso. Para aumentar a probabilidade de sucesso de alocação, tente novamente a solicitação de alocação usando a solução sugerida correspondente. Ou você sempre pode tentar novamente mais tarde. Recursos suficientes podem ter sido liberados no cluster, região ou zona para acomodar sua solicitação em outro momento.

Motivo

A região ou a zona não tem capacidade de núcleo suficiente para o SKU solicitado.

Causa 1: Redimensionar um conjunto de dimensionamento ou adicionar instâncias de VM a um conjunto de dimensionamento existente

Se houver uma solicitação para redimensionar um conjunto de dimensionamento ou adicionar uma instância de VM a um conjunto de dimensionamento existente, ele deverá ser testado no cluster original que hospeda o conjunto de escala existente. Ou o cluster dá suporte ao tamanho da VM solicitada, mas pode não ter capacidade suficiente no momento.

Solução para a causa 1

Experimente uma das seguintes ações:

  • Tente mover o conjunto de dimensionamento para um cluster diferente na mesma região com capacidade adequada.

    Pare (desaloque) todas as instâncias de VM no conjunto de dimensionamento e redimensione o conjunto de dimensionamento conforme necessário. Depois que o redimensionamento for concluído, reinicie as instâncias de VM. Para parar as instâncias de VM:

    1. No portal do Azure, pesquise e selecione Conjuntos de dimensionamento de máquinas virtuais.

    2. Selecione o nome do conjunto de dimensionamento.

    3. Selecione Parar.

    Depois de parar todas as instâncias de VM para executar o redimensionamento e iniciar o conjunto de dimensionamento, a nova tentativa de alocação pode identificar um cluster com capacidade suficiente para hospedar todo o conjunto de dimensionamento.

  • Configure seu conjunto de dimensionamento para escalar em mais de um grupo de posicionamento.

    Consulte Criando um conjunto de grande escala.

Causa 2: Reiniciada uma VM parcialmente interrompida (desalocada)

A desalocação parcial significa que você parou (desalocado) uma ou mais instâncias de VM em um conjunto de dimensionamento. Quando você desaloca uma instância de VM, os recursos associados são liberados. Reiniciar instâncias de VM em um conjunto de disponibilidade parcialmente desalocado é o mesmo que adicionar instâncias de VM a um conjunto de disponibilidade existente. Portanto, você deve tentar a solicitação de alocação no cluster original que hospeda o conjunto de disponibilidade existente, que pode ter capacidade insuficiente.

Solução para a causa 2

Pare (desaloque) todas as instâncias de VM no conjunto de dimensionamento e reinicie cada instância de VM. Para parar as instâncias de VM:

  1. No portal do Azure, pesquise e selecione Conjuntos de dimensionamento de máquinas virtuais.

  2. Selecione o nome do conjunto de dimensionamento.

  3. No painel de menus, selecione Instâncias.

  4. Selecione todas as instâncias da máquina virtual listadas.

  5. Selecione Parar.

Depois que todas as VMs pararem, selecione a primeira instância da VM e selecione Iniciar. O Azure faz uma nova tentativa de alocação e seleciona um novo cluster com capacidade suficiente.

Causa 3: Instâncias de VM reiniciadas que foram totalmente interrompidas

A alocação completa significa que você interrompeu (deslocou) todas as instâncias de VM em um conjunto de disponibilidade. A solicitação de alocação para reiniciar essas instâncias de VM terá como destino todos os clusters que dão suporte ao tamanho necessário na região ou zona.

Solução para a causa 3

Altere sua solicitação de alocação usando as sugestões neste artigo. Em seguida, tente novamente a solicitação para melhorar a chance de sucesso de alocação.

Se você usar séries ou tamanhos de VM mais antigos (como Dv1, DSv1, Av1, D15v2 ou DS15v2), considere mudar para versões mais recentes. Consulte estas recomendações para tamanhos de VM específicos. Você não está impedido de usar um tamanho de VM diferente? Em seguida, tente implantar em uma região diferente dentro da mesma geografia. Para obter mais informações sobre os tamanhos de VM disponíveis em cada região em https://aka.ms/azureregions.

Se você usar zonas de disponibilidade, experimente outra zona dentro da região que pode ter capacidade disponível para o tamanho da VM solicitada.

Se sua solicitação de alocação for grande (mais de 500 núcleos), consulte as seções a seguir para dividir a solicitação em implantações menores.

Tente reimplantar a instância da VM, que aloca a instância da VM para um novo cluster na região.

Falhas de alocação para tamanhos de VM mais antigos

Alguns tamanhos de VM de séries mais antigas não são executados em nossa infraestrutura de última geração. Os clientes podem ocasionalmente sofrer falhas de alocação para essas SKUs herdadas. Incentivamos os clientes que estão usando máquinas virtuais de série herdada a considerar a migração para as VMs mais recentes equivalentes. As VMs mais recentes são otimizadas para o hardware mais recente e permitem que você aproveite melhores preços e desempenho.

Confira as seguintes recomendações:

Série ou tamanho da VM herdada Série ou tamanho mais recente recomendado Link do blog
Série Av1 Série Av2 Novos tamanhos de VM A_v2-Series
Série D1 ou DSv1 (D1 a D5) Série Dv3 ou DSv3 Apresentando os novos tamanhos de VM Dv3 e Ev3
Série D1 ou DSv1 (D11 a D14) Série Ev3 ou ESv3
D15v2 ou DS15v2

Se você usar o modelo de implantação Resource Manager para aproveitar os tamanhos maiores da VM, considere migrar para D16v3/DS16v3 ou D32v3/DS32v3. Esses tamanhos são projetados para serem executados no hardware de última geração.

Você usa o modelo de implantação Resource Manager para garantir que sua instância de VM esteja isolada no hardware dedicado a um único cliente? Em seguida, considere mover para os novos tamanhos de VM isolados, E64i_v3 ou E64is_v3, que foram projetados para serem executados no hardware de última geração.

Novos tamanhos de VM isolados agora disponíveis

Informações gerais

Como funciona a alocação

A plataforma do Azure tenta particionar servidores de datacenter em clusters. Normalmente, ele tenta uma solicitação de alocação em vários clusters. Mas determinadas restrições da solicitação de alocação podem forçar a plataforma do Azure a tentar a solicitação em apenas um cluster ("fixado em um cluster"). O diagrama 1 abaixo mostra uma alocação normal que é tentada em vários clusters (Cluster 1 a Cluster n). No Diagrama 2, uma alocação é fixada no Cluster 2, pois esse cluster hospeda o serviço de nuvem existente (CS_1) ou o conjunto de disponibilidade.

Diagrama 1: uma alocação de plataforma do Azure tentada em vários clusters. Diagrama 2: uma alocação de plataforma do Azure fixada em um cluster.

Por que falhas de alocação acontecem

Se uma solicitação de alocação for fixada em um cluster, haverá uma maior chance de não encontrar recursos gratuitos, pois o pool de recursos disponível é menor. E se sua solicitação de alocação estiver fixada em um cluster que não dá suporte ao tipo de recurso solicitado? Em seguida, sua solicitação falhará mesmo que o cluster tenha recursos gratuitos. O diagrama 3 abaixo mostra onde uma alocação fixa falha porque o único cluster de candidatos não tem recursos gratuitos. O diagrama 4 mostra onde uma alocação fixa falha, porque o único cluster candidato não dá suporte ao tamanho da VM solicitada, mesmo que o cluster tenha recursos gratuitos.

Diagramas de falhas de alocação são clusters fixados. O diagrama 3 mostra que não há recursos gratuitos disponíveis. O diagrama 4 mostra que o tamanho não tem suporte.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.