Partilhar via


Conjuntos de dimensionamento de máquinas virtuais e grupos de posicionamento

Nota

Este documento aborda os Conjuntos de Dimensionamento de Máquina Virtual em execução no modo de Orquestração Uniforme. Recomendamos o uso da Orquestração Flexível para novas cargas de trabalho. Para obter mais informações, consulte Modos de ordenação para conjuntos de escala de máquina virtual no Azure.

Agora você pode criar Conjuntos de Dimensionamento de Máquina Virtual do Azure com uma capacidade de até 1.000 VMs. Neste documento, um grande conjunto de escala de máquina virtual é definido como um conjunto de escala capaz de dimensionar para mais de 100 VMs. Esta capacidade é definida por uma propriedade de conjunto de dimensionamento (singlePlacementGroup=False).

Determinados aspetos de conjuntos de dimensionamento de grande escala, como o balanceamento de carga e os domínios de falha, têm um comportamento diferente de um conjunto de dimensionamento padrão. Este documento explica as características dos conjuntos de dimensionamento de grande escala e descreve o que precisa de saber para utilizá-los com êxito nas aplicações.

Uma abordagem comum para implementar a infraestrutura cloud de grande escala é criar um conjunto de unidades de escala, por exemplo, através da criação de vários conjuntos de dimensionamento de VMs em várias VNETs e contas de armazenamento. Esta abordagem permite uma gestão mais fácil, em comparação com VMs únicas, e várias unidades de escala são úteis para muitas aplicações, particularmente as que requerem outros componentes empilháveis, como várias redes virtuais e pontos finais. No entanto, se a sua aplicação precisar de um único cluster grande, pode ser mais fácil implementar um conjunto de dimensionamento único de até 1000 VMs. Os cenários de exemplo incluem implementações de macrodados centralizadas ou grelhas de computação que requerem uma gestão simples de um grande conjunto de nós de trabalho. Combinados com discos de dados anexados ao Conjunto de Dimensionamento de Máquina Virtual, os conjuntos de grande escala permitem implantar uma infraestrutura escalável que consiste em milhares de vCPUs e petabytes de armazenamento, como uma única operação.

Grupos de colocação

O que faz com que um conjunto de dimensionamento de grande escala seja especial não é o número de VMs, mas o número de grupos de colocação nele contidos. Um grupo de colocação é uma construção semelhante a um conjunto de disponibilidade do Azure, com os seus próprios domínios de falha e domínios de atualização. Por predefinição, um conjunto de dimensionamento consiste num único grupo de colocação com o tamanho máximo de 100 VMs. Se a propriedade singlePlacementGroup do grupo de dimensionamento estiver definida como falso, o conjunto de dimensionamento pode ser composto por vários grupos de colocação e tem um intervalo de 0-1000 VMs. Quando o valor predefinido for definido como verdadeiro, o conjunto de dimensionamento é composto por um único grupo de colocação, e tem um intervalo de 0-100 VMs.

Lista de verificação para utilizar conjuntos de dimensionamento de grande escala

Para decidir se a aplicação pode utilizar eficazmente os conjuntos de dimensionamento de grande escala, considere os seguintes requisitos:

  • Se estiver a planear implementar um grande número de VMs, os limites de quota de vCPU de Computação poderão ter de ser aumentados.
  • Os conjuntos de dimensionamento criados a partir de imagens do Azure Marketplace ou imagens da Galeria de Computação do Azure podem escalar até 1.000 VMs.
  • Atualmente, os conjuntos de dimensionamento criados a partir de imagens personalizadas (imagens VM criadas e carregadas por si) podem ser aumentados verticalmente até 600 VMs.
  • Os conjuntos de dimensionamento de grande escala requerem Managed Disks do Azure. Os conjuntos de dimensionamento que não são criados com discos geridos requerem várias contas de armazenamento (uma por cada 20 VMs). Os conjuntos de dimensionamento de grande escala são concebidos para funcionar exclusivamente com Managed Disks, para reduzir a sobrecarga da gestão do armazenamento e para evitar o risco de existirem limites de subscrição para contas de armazenamento.
  • Grande escala (SPG=false) não suporta rede InfiniBand
  • O balanceamento de carga de camada 4 com conjuntos de dimensionamento compostos por vários grupos de colocação requer o SKU Balanceador de Carga do Azure Standard. O SKU Balanceador de Carga do Azure Standard oferece mais benefícios, como a capacidade de balancear a carga entre diversos conjuntos de dimensionamento. O SKU Standard também requer que os conjuntos de dimensionamento tenham um Grupo de Segurança de rede associado ao mesmo, caso contrário, os conjuntos NAT não funcionam corretamente. Se tiver de utilizar o SKU Balanceador de Carga do Azure Básico, confirme que o conjunto de dimensionamento está configurado para utilizar um único grupo de colocação, que é a predefinição.
  • O balanceamento de carga de camada 7 com o Gateway de Aplicação do Azure é suportado para todos os conjuntos de dimensionamento.
  • Um conjunto de dimensionamento é definido com uma única sub-rede - certifique-se de que a sub-rede tem um espaço de endereço suficientemente grande para todas as VMs necessárias. Por predefinição, um conjunto de dimensionamento aprovisiona em excesso (cria VMs adicionais no momento da implementação ou ao aumentar horizontalmente, o que não lhe é cobrado) para melhorar a fiabilidade e o desempenho da implementação. Permita um espaço de endereço 20% maior do que o número de VMs que planeia dimensionar.
  • Os domínios de falha e os domínios de atualização só são consistentes dentro de um grupo de colocação. Essa arquitetura não altera a disponibilidade geral de um conjunto de escalas, pois as VMs são distribuídas uniformemente em hardware físico distinto, mas significa que, se você precisar garantir que duas VMs estejam em hardware diferente, verifique se elas estão em domínios de falha diferentes no mesmo grupo de posicionamento. Consulte este link Opções de disponibilidade.
  • O domínio de falha e o ID do grupo de colocação são apresentados na vista de instância da VM do conjunto de dimensionamento. Pode ver a vista de instância da VM de um conjunto de dimensionamento no Explorador de Recursos do Azure.

Criar um conjunto de dimensionamento de grande escala

Quando cria um conjunto de dimensionamento no portal do Azure, basta especificar o valor da Contagem de instâncias até 1000. Se for mais de 100 instâncias, a opção Ativar o dimensionamento acima de 100 instâncias estará definida como Sim, o que irá permitir que ele seja dimensionado para vários grupos de colocação.

Esta imagem mostra a folha de instâncias do Portal do Azure. As opções para selecionar a Contagem de instâncias e o tamanho da instância estão disponíveis.

Você pode criar um grande Conjunto de Escala de Máquina Virtual usando o comando Azure CLI az vmss create . Este comando configura as predefinições inteligentes, como a dimensão da sub-rede baseada no argumento instance-count:

az group create -l southcentralus -n biginfra
az vmss create -g biginfra -n bigvmss --image Ubuntu2204 --instance-count 1000

O comando vmss create repõe as predefinições de certos valores de configuração, caso não os especifique. Para ver as opções disponíveis que pode ignorar, tente:

az vmss create --help

Se estiver a criar um conjunto de dimensionamento de grande escala ao compor um modelo do Azure Resource Manager, certifique-se de que o modelo cria um conjunto de dimensionamento com base em Managed Disks do Azure. Você pode definir a propriedade singlePlacementGroup como false na seção de propriedades do recurso Microsoft.Compute/virtualMachineScaleSets . O fragmento JSON seguinte mostra o início de um modelo de conjunto de dimensionamento, incluindo a capacidade de 1000 VMs e a definição "singlePlacementGroup" : falso:

{
  "type": "Microsoft.Compute/virtualMachineScaleSets",
  "location": "australiaeast",
  "name": "bigvmss",
  "sku": {
    "name": "Standard_DS1_v2",
    "tier": "Standard",
    "capacity": 1000
  },
  "properties": {
    "singlePlacementGroup": false,
    "upgradePolicy": {
      "mode": "Automatic"
    }

Para obter um exemplo completo de um modelo de conjunto de dimensionamento, veja https://github.com/gbowerman/azure-myriad/blob/main/bigtest/bigbottle.json.

Converter um conjunto de dimensionamento existente para abranger vários grupos de colocação

Para tornar um Conjunto de Escala de Máquina Virtual existente capaz de ser dimensionado para mais de 100 VMs, você precisa alterar a propriedade singlePlacementGroup para false no modelo de conjunto de escala. Pode testar a alteração desta propriedade com o Explorador de Recursos do Azure. Localize um conjunto de dimensionamento existente, selecione Editar e altere a propriedade singlePlacementGroup. Se não visualizar esta propriedade, poderá estar a ver o conjunto de dimensionamento com uma versão anterior da API Microsoft.Compute.

Nota

Pode alterar um conjunto de dimensionamento para que não suporte apenas um único grupo de colocação (o comportamento padrão), mas para que suporte vários grupos de colocação. No entanto, não pode fazer a conversão inversa. Por conseguinte, certifique-se de que compreende as propriedades dos conjuntos de dimensionamento de grande escala antes de converter.