Exercício – Dimensionar as VMs corretamente
As máquinas virtuais precisam ser dimensionadas adequadamente para o trabalho esperado. Uma VM sem a quantidade correta de memória ou de CPU falhará quando a carga aumentar ou ficará muito lenta a ponto de prejudicar sua eficiência.
Tamanhos de VM predefinidos
Ao criar uma máquina virtual, você pode fornecer um valor de tamanho de VM que determina a quantidade de recursos de computação dedicados à VM, incluindo CPU, GPU e memória disponibilizadas para a máquina virtual do Azure.
O Azure define um conjunto predefinido de tamanhos de VM para Linux e Windows para que você escolha com base no uso esperado.
Type | Tamanhos | Descrição |
---|---|---|
Uso geral | Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 | Equilíbrio entre CPU e memória. Ideal para Desenvolvimento/Teste e para soluções de dados e aplicativos de pequeno a médio porte. |
Computação otimizada | Fs, F | Relação alta entre CPU e memória. Bom para aplicativos de tráfego médio, dispositivos de rede e processos em lote. |
Otimizado para memória | Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D | Relação de memória/núcleo alta. Ótima para banco de dados relacionais, caches médios a grandes e análises na memória. |
Otimizado para armazenamento | Ls | Taxa de transferência de disco e E/S altas. Ideal para Big Data, SQL e bancos de dados NoSQL. |
Otimizado para GPU | NV, NC | VMs especializadas, destinadas para renderização gráfica e edição de vídeo pesadas. |
Alto desempenho | H, A8-11 | Nossas VMs de CPU mais potentes com RDMA (adaptadores de rede de alta taxa de transferência) opcionais. |
Os tamanhos disponíveis variam de acordo com a região em que você está criando a VM. Você pode obter uma lista dos tamanhos disponíveis usando o comando vm list-sizes
. Tente digitar o seguinte comando no Azure Cloud Shell:
az vm list-sizes --location eastus --output table
Aqui está uma resposta abreviada para eastus
:
MaxDataDiskCount MemoryInMb Name NumberOfCores OsDiskSizeInMb ResourceDiskSizeInMb
------------------ ------------ ---------------------- --------------- ---------------- ----------------------
2 2048 Standard_B1ms 1 1047552 4096
2 1024 Standard_B1s 1 1047552 2048
4 8192 Standard_B2ms 2 1047552 16384
4 4096 Standard_B2s 2 1047552 8192
8 16384 Standard_B4ms 4 1047552 32768
16 32768 Standard_B8ms 8 1047552 65536
4 3584 Standard_DS1_v2 1 1047552 7168
8 7168 Standard_DS2_v2 2 1047552 14336
16 14336 Standard_DS3_v2 4 1047552 28672
32 28672 Standard_DS4_v2 8 1047552 57344
64 57344 Standard_DS5_v2 16 1047552 114688
....
64 3891200 Standard_M128-32ms 128 1047552 4096000
64 3891200 Standard_M128-64ms 128 1047552 4096000
64 3891200 Standard_M128ms 128 1047552 4096000
64 2048000 Standard_M128s 128 1047552 4096000
64 1024000 Standard_M64 64 1047552 8192000
64 1792000 Standard_M64m 64 1047552 8192000
64 2048000 Standard_M128 128 1047552 16384000
64 3891200 Standard_M128m 128 1047552 16384000
Especificar um tamanho durante a criação da VM
Não especificamos um tamanho quando criamos nossa VM. Portanto, o Azure selecionou para nós um tamanho padrão de uso geral. No entanto, podemos especificar o tamanho como parte do comando vm create
usando o parâmetro --size
. Por exemplo, você pode usar o seguinte comando para criar uma máquina virtual de dois núcleos:
az vm create \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM2 \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--verbose \
--size "Standard_DS2_v2"
Aviso
O tipo de assinatura impõe limites sobre quantos recursos você pode criar, bem como o tamanho total desses recursos. Os limites de cota dependem do tipo de assinatura e da região. A CLI do Azure informa quando esse limite é excedido com o erro Cota excedida. Se esse erro ocorrer em sua assinatura paga, solicite o aumento dos limites associados a ela (até 10.000 vCPUs) por meio de uma solicitação online gratuita.
Redimensionar uma VM existente
Também podemos redimensionar uma VM existente se ela foi dimensionada incorretamente no momento da criação ou se a carga de trabalho é alterada. Vamos usar a primeira VM que criamos, SampleVM. Antes de solicitar um redimensionamento, devemos verificar se o tamanho desejado está disponível no cluster do qual nossa VM faz parte. Podemos usar o comando vm list-vm-resize-options
:
az vm list-vm-resize-options \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--output table
Esse comando retorna uma lista de todas as configurações de tamanho possíveis disponíveis no grupo de recursos. Se o tamanho desejado não está disponível em nosso cluster, mas está disponível na região, podemos desalocar a VM. Esse comando interrompe a VM em execução e a remove do cluster atual sem perda de nenhum recurso. Nós podemos então redimensioná-lo, o que recria a VM em um novo cluster onde a configuração de tamanho está disponível.
Observação
A área restrita do Microsoft Learn está limitada a alguns tamanhos de VM.
Para redimensionar uma VM, usaremos o comando vm resize
. Por exemplo, talvez a VM não tenha potência suficiente para a tarefa que precisa executar. Poderíamos aumentar para um D2s_v3, em que ela tem 2 vCores e 8 GB de memória. Digite este comando no Cloud Shell:
az vm resize \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--size Standard_D2s_v3
Este comando leva alguns minutos para reduzir os recursos da VM e, ao terminar, ele retorna uma nova configuração JSON.