Exercício – dimensionar VMs corretamente
As máquinas virtuais têm de ser dimensionadas de forma adequada para o trabalho esperado. Uma VM sem a quantidade correta de memória ou de CPU falhará quando em carga ou será executada muito lentamente para ser eficiente.
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 disponibilizada para a máquina virtual do Azure.
O Azure define um conjunto de tamanhos de VM predefinidos para Linux e Windows dos quais escolher com base no uso esperado.
Type | Tamanhos | Description |
---|---|---|
Fins gerais | Dsv3, Dv3, DSv2, Dv2, DS, D, Av2, A0-7 | CPU-para-memória equilibrada. Ideal para desenvolvimento/teste e aplicações e soluções de dados pequenas a médias. |
Com otimização de computação | Fs, F | CPU-para-memória elevada. Adequada para aplicações de tráfego médio, aplicações de rede e processos em lote. |
Com otimização de memória | Esv3, Ev3, M, GS, G, DSv2, DS, Dv2, D | Memória-para-núcleo elevada. É ideal para bases de dados relacionais, caches médias a grandes e análise dentro da memória. |
Com otimização de armazenamento | Ls | Débito e E/S de disco elevados. Ideal para bases de dados de macrodados, SQL e NoSQL. |
Otimizada para GPU | NV, NC | VMs especializadas destinadas a composição gráfica e edição de vídeo exigentes. |
Elevado desempenho | H, A8-11 | As nossas mais avançadas VMs com CPU, com interfaces de rede de alto débito (RDMA) opcionais. |
Os tamanhos disponíveis mudam com base na região na qual você está criando a VM. Pode obter uma lista dos tamanhos disponíveis com o comando vm list-sizes
. Tente digitar o seguinte comando no Azure Cloud Shell:
az vm list-sizes --location eastus --output table
Esta é 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, então o Azure selecionou um tamanho padrão de uso geral para nós. No entanto, podemos especificar o tamanho como parte do comando vm create
com 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 seu escalão de subscrição impõe limites ao número de recursos que pode criar, bem como ao tamanho total desses recursos. Os limites de cota dependem do tipo e da região da sua assinatura. A CLI do Azure informa quando você excede esse limite com um erro de Cota Excedida . Se acertar este erro na sua própria subscrição paga, pode pedir para aumentar os limites associados à sua subscrição paga (até 10.000 vCPUs) através de um pedido online gratuito.
Redimensionar uma VM existente
Também podemos redimensionar uma VM existente se a carga de trabalho for alterada ou se ela tiver sido dimensionada incorretamente na criação. 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 vm list-vm-resize-options
comando:
az vm list-vm-resize-options \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--output table
Este 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 estiver disponível em nosso cluster, mas estiver disponível na região, poderemos desalocar a VM. Este comando interrompe a VM em execução e a remove do cluster atual sem perder recursos. Em seguida, podemos redimensioná-lo, o que recria a VM em um novo cluster onde a configuração de tamanho está disponível.
Nota
O sandbox do Microsoft Learn está limitado a poucos tamanhos de VM.
Para redimensionar uma VM, usaremos o vm resize
comando. Por exemplo, talvez achemos que a nossa VM é fraca para a tarefa que queremos realizar. Poderíamos esbarrar em um D2s_v3, onde ele tem 2 vCores e 8 GB de memória. Escreva este comando no Cloud Shell:
az vm resize \
--resource-group "<rgn>[sandbox resource group name]</rgn>" \
--name SampleVM \
--size Standard_D2s_v3
Esse comando leva alguns minutos para reduzir os recursos da VM e, uma vez concluído, retorna uma nova configuração JSON.