Tutorial: Criar e usar discos com um conjunto de dimensionamento de máquinas virtuais com o Azure PowerShell
Os Conjuntos de Dimensionamento de Máquinas Virtuais usam discos para armazenar o sistema operacional da instância de VM, os aplicativos e os dados. Ao criar e gerenciar um conjunto de dimensionamento, é importante escolher um tamanho e uma configuração de disco apropriados para a carga de trabalho esperada. Este tutorial aborda como criar e gerenciar os discos de VM. Neste tutorial, você aprenderá:
- Discos de sistema operacional e discos temporários
- Discos de dados
- Discos Standard e Premium
- Desempenho do disco
- Anexar e preparar discos de dados
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Azure Cloud Shell
O Azure hospeda o Azure Cloud Shell, um ambiente de shell interativo que pode ser usado por meio do navegador. É possível usar o bash ou o PowerShell com o Cloud Shell para trabalhar com os serviços do Azure. É possível usar os comandos pré-instalados do Cloud Shell para executar o código neste artigo, sem precisar instalar nada no seu ambiente local.
Para iniciar o Azure Cloud Shell:
Opção | Exemplo/Link |
---|---|
Selecione Experimentar no canto superior direito de um bloco de código ou de comando. Selecionar Experimentar não copia automaticamente o código nem o comando para o Cloud Shell. | |
Acesse https://shell.azure.com ou selecione o botão Iniciar o Cloud Shell para abri-lo no navegador. | |
Selecione o botão Cloud Shell na barra de menus no canto superior direito do portal do Azure. |
Para usar o Azure Cloud Shell:
Inicie o Cloud Shell.
Selecione o botão Copiar em um bloco de código (ou bloco de comando) para copiar o código ou o comando.
Cole o código ou comando na sessão do Cloud Shell selecionando Ctrl+Shift+V no Windows e no Linux, ou selecionando Cmd+Shift+V no macOS.
Pressione Enter para executar o código ou o comando.
Discos padrão do Azure
Quando um conjunto de dimensionamento é criado ou dimensionado, dois discos são automaticamente anexados a cada instância de VM.
Disco do sistema operacional – os discos do sistema operacional podem ser dimensionados para até 2 TB e hospedar o sistema operacional da instância de VM. O disco do sistema operacional é rotulado /dev/sda por padrão. A configuração de cache do disco do SO é otimizada para desempenho do SO. Devido a essa configuração, o disco do sistema operacional não deve hospedar aplicativos ou dados. Para aplicativos e dados, utilize um disco de dados, que é detalhado posteriormente neste artigo.
Disco temporário – discos temporários utilizam uma unidade de estado sólido localizada no mesmo host do Azure que a instância da VM. Esses são discos de alto desempenho que podem ser usados para operações como o processamento de dados temporário. No entanto, se a instância de VM for movida para um novo host, todos os dados armazenados em um disco temporário serão removidos. O tamanho do disco temporário é determinado pelo tamanho da instância de VM. Os discos temporários são rotulados /dev/sdb e têm um ponto de montagem de /mnt.
Discos de dados do Azure
Outros discos de dados podem ser adicionados caso você precise instalar aplicativos e armazenar dados. Os discos de dados devem ser usados em qualquer situação onde o armazenamento de dados durável e responsivo é desejado. Cada disco de dados tem uma capacidade máxima de 4 TB. O tamanho da instância de VM determina quantos discos de dados podem ser anexados. Para cada vCPU da VM, podem ser anexados dois discos de dados.
Tipos de disco da máquina virtual
A tabela a seguir fornece uma comparação dos cinco tipos de disco para ajudar você a decidir qual usar.
Disco Ultra | SSD Premium v2 | SSD Premium | SSD Standard | ||
---|---|---|---|---|---|
Tipo de disco | SSD | SSD | SSD | SSD | HDD |
Cenário | Cargas de trabalho de E/S intensiva, como SAP HANA, bancos de dados de camada superior (por exemplo, SQL, Oracle) e outras cargas de trabalho de transações pesadas. | Cargas de trabalho sensíveis à produção e ao desempenho que exigem consistentemente baixa latência e alta IOPS e taxa de transferência | Cargas de trabalho sensíveis à produção e ao desempenho | Servidores Web, aplicativos empresariais pouco usados e desenvolvimento/teste | Backup, não crítico, acesso não frequente |
Tamanho máximo do disco | 65.536 GiB | 65.536 GiB | 32.767 GiB | 32.767 GiB | 32.767 GiB |
Taxa de transferência máxima | 4\.000 MB/s | 1\.200 MB/s | 900 MB/s | 750 MB/s | 500 MB/s |
IOPS Máxima | 160.000 | 80.000 | 20.000 | 6.000 | 2.000, 3.000* |
Utilizável como disco do sistema operacional? | No | No | Sim | Sim | Yes |
*Aplica-se apenas a discos com desempenho otimizado (versão prévia) habilitado.
Para um vídeo que aborda algumas diferenças de alto nível para os diferentes tipos de disco, bem como algumas maneiras de determinar o que afeta seus requisitos de carga de trabalho, confira Bloquear opções de armazenamento com o Armazenamento em Disco do Azure e o Elastic SAN.
Criar e anexar discos
Você pode criar e anexar discos ao criar um conjunto de dimensionamento ou com um conjunto de dimensionamento existente.
Desde a versão 2019-07-01
da API, é possível definir o tamanho do disco do sistema operacional em um conjunto de dimensionamento de máquinas virtuais com a propriedade storageProfile.osDisk.diskSizeGb. Após o provisionamento, talvez seja necessário expandir ou reparticionar o disco para uso do espaço inteiro. Saiba mais sobre como expandir o volume em seu sistema operacional em Windows ou Linux.
Anexar discos na criação do conjunto de dimensionamento
Crie um conjunto de dimensionamento de máquinas virtuais com New-AzVmss. Quando solicitado, forneça um nome de usuário e senha para as instâncias da VM. Para distribuir o tráfego para as instâncias de VM individuais, um balanceador de carga também é criado. O balanceador de carga inclui regras para distribuir o tráfego na porta TCP 80, além de permitir o tráfego de área de trabalho remota na porta TCP 3389 e comunicação remota do PowerShell na porta TCP 5985.
Dois discos são criados com o parâmetro -DataDiskSizeGb
. É o primeiro disco tem 64 GB de tamanho e o segundo, 128 GB. Quando solicitado, forneça suas próprias credenciais administrativas desejadas para as instâncias de VM no conjunto de dimensionamento:
New-AzResourceGroup -Name "myResourceGroup" -Location "East US"
New-AzVmss `
-ResourceGroupName "myResourceGroup" `
-Location "EastUS" `
-OrchestrationMode "Flexible" `
-VMScaleSetName "myScaleSet" `
-VirtualNetworkName "myVnet" `
-SubnetName "mySubnet" `
-PublicIpAddressName "myPublicIPAddress" `
-LoadBalancerName "myLoadBalancer" `
-DataDiskSizeInGb 64,128
Leva alguns minutos para criar e configurar todos os recursos e as instâncias de VM do conjunto de dimensionamento.
Anexar um disco ao conjunto de dimensionamento existente
Você também pode anexar discos a um conjunto de dimensionamento existente. Use o conjunto de dimensionamento criado na etapa anterior para adicionar outro disco com Add-AzVmssDataDisk. O exemplo a seguir anexa um disco adicional de 128 GB em um conjunto de dimensionamento existente:
# Get scale set object
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Attach a 128 GB data disk to LUN 2
Add-AzVmssDataDisk `
-VirtualMachineScaleSet $vmss `
-CreateOption Empty `
-Lun 2 `
-DiskSizeGB 128
# Update the scale set to apply the change
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-VirtualMachineScaleSet $vmss
Como alternativa, se desejar adicionar um disco de dados a uma instância individual em um conjunto de dimensionamento, use Add-AzVMDataDisk.
$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId 1
Add-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -LUN 2 -DiskSizeInGB 1 -CreateOption Empty -StorageAccountType Standard_LRS
Update-AzVmssVM -VirtualMachineScaleSetVM $VirtualMachine
Listar discos anexados
Para exibir informações sobre discos anexados a um conjunto de dimensionamento, use Get-AzVmss da seguinte maneira:
Get-AzVmss -ResourceGroupName "myResourceGroup" -Name "myScaleSet"
Na propriedade VirtualMachineProfile.StorageProfile, é exibida a lista DataDisks. São exibidas informações sobre o tamanho do disco, a camada de armazenamento e o LUN (número de unidade lógica). A saída de exemplo abaixo detalha os três discos de dados anexados ao conjunto de dimensionamento:
DataDisks[0] :
Lun : 0
Caching : None
CreateOption : Empty
DiskSizeGB : 64
ManagedDisk :
StorageAccountType : PremiumLRS
DataDisks[1] :
Lun : 1
Caching : None
CreateOption : Empty
DiskSizeGB : 128
ManagedDisk :
StorageAccountType : PremiumLRS
DataDisks[2] :
Lun : 2
Caching : None
CreateOption : Empty
DiskSizeGB : 128
ManagedDisk :
StorageAccountType : PremiumLRS
Desanexar um disco
Quando não precisar mais de determinado disco, você poderá desanexá-lo do conjunto de dimensionamento. O disco é removido de todas as instâncias de VM no conjunto de dimensionamento. Para desanexar um disco de um conjunto de dimensionamento, use Remove-AzVmssDataDisk e especifique o LUN do disco. Os LUNs são mostrados na saída de Get-AzVmss na seção anterior. O exemplo a seguir desanexa o LUN 3 do conjunto de dimensionamento:
# Get scale set object
$vmss = Get-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet"
# Detach a disk from the scale set
Remove-AzVmssDataDisk `
-VirtualMachineScaleSet $vmss `
-Lun 2
# Update the scale set and detach the disk from the VM instances
Update-AzVmss `
-ResourceGroupName "myResourceGroup" `
-VMScaleSetName "myScaleSet" `
-VirtualMachineScaleSet $vmss
Como alternativa, se desejar remover um disco de dados para uma instância individual em um conjunto de dimensionamento, use Remove-AzVMDataDisk.
$VirtualMachine = Get-AzVmssVM -ResourceGroupName "myResourceGroup" -VMScaleSetName "myScaleSet" -InstanceId "c91dfbd9"
Remove-AzVmssVMDataDisk -VirtualMachineScaleSetVM $VirtualMachine -Lun 2
Update-AzVmssVM -VirtualMachineScaleSetVM -VM $VirtualMachine
Limpar os recursos
Para remover o conjunto de dimensionamento e os discos, exclua o grupo de recursos e todos os seus recursos com Remove-AzResourceGroup. O parâmetro -Force
confirma que você deseja excluir os recursos sem um prompt adicional para fazer isso. O parâmetro -AsJob
retorna o controle ao prompt sem aguardar a conclusão da operação.
Remove-AzResourceGroup -Name "myResourceGroup" -Force -AsJob
Próximas etapas
Neste tutorial, você aprendeu a criar e usar discos com conjuntos de dimensionamento com o Azure PowerShell:
- Discos de sistema operacional e discos temporários
- Discos de dados
- Discos Standard e Premium
- Desempenho do disco
- Anexar e preparar discos de dados
Siga para o próximo tutorial para aprender a usar uma imagem personalizada para suas instâncias de VM do conjunto de dimensionamento.