Partilhar via


Tutorial - Gerenciar discos do Azure com a CLI do Azure

Aplica-se a: ✔️ Linux VMs ✔️ Conjuntos de escala flexível

As máquinas virtuais (VMs) do Azure usam discos para armazenar o sistema operacional, os aplicativos e os dados. Ao criar uma VM, é importante escolher um tamanho de disco e uma configuração adequados à carga de trabalho esperada. Este tutorial mostra como implantar e gerenciar discos VM. Você aprende sobre:

  • Discos de SO e discos temporários
  • Discos de dados
  • Discos Standard e Premium
  • Desempenho do disco
  • Anexar e preparar os discos de dados
  • Instantâneos de disco

Discos do Azure predefinidos

Quando uma máquina virtual do Azure é criada, dois discos são automaticamente anexados à máquina virtual.

Disco do sistema operacional - Os discos do sistema operacional podem ser dimensionados até 2 TB e hospedam o sistema operacional VMs. O disco do SO está identificado como /dev/sda por predefinição. A configuração da colocação em cache do disco do SO está otimizada para o desempenho do sistema operativo. Devido a essa configuração, o disco do sistema operacional não deve ser usado para aplicativos ou dados. Para aplicativos e dados, use discos de dados, que são detalhados mais adiante neste tutorial.

Disco temporário - Os discos temporários usam uma unidade de estado sólido localizada no mesmo host do Azure que a VM. Os discos temporários são de alto desempenho e podem ser usados para operações como processamento temporário de dados. No entanto, se a 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 VM. Os discos temporários estão identificados como /dev/sdb e têm um ponto de montagem de /mnt.

Discos de dados do Azure

Para instalar aplicativos e armazenar dados, discos de dados adicionais podem ser adicionados. Os discos de dados devem ser utilizados em qualquer situação em que se pretenda armazenamento de dados durável e reativo. O tamanho da máquina virtual determina quantos discos de dados podem ser anexados a uma VM.

Tipos de disco VM

O Azure fornece dois tipos de discos.

Discos standard - suportados por HDD e que proporcionam um armazenamento económico sem deixar de ter desempenho. Os discos padrão são ideais para uma carga de trabalho de desenvolvimento e teste econômica.

Discos Premium - apoiados por discos baseados em SSD, de elevado desempenho e de baixa latência. Perfeito para VMs que executam carga de trabalho de produção. Os tamanhos de VM com um S no nome do tamanho normalmente suportam o Armazenamento Premium. Por exemplo, as VMs das séries DS, DSv2, GS e FS oferecem suporte ao armazenamento premium. Quando você seleciona um tamanho de disco, o valor é arredondado para o próximo tipo. Por exemplo, se o tamanho do disco for superior a 64 GB, mas inferior a 128 GB, o tipo de disco será P10.


Tamanhos de SSD Premium P1 P2 P3 P4 P6 P10 P15 P20 P30 Pág. 40 P50 P60 Pág. 70 Pág. 80
Tamanho do disco em GiB 4 8 16 32 64 128 256 512 1,024 2,048 4,096 8,192 16,384 32 767
IOPS provisionadas de base por disco 120 120 120 120 240 500 1100 2300 5.000 7,500 7,500 16,000 18,000 20.000
**IOPS provisionadas expandidas por disco** N/A N/A N/A N/A N/A N/A N/A N/A 8,000 16,000 20.000 20.000 20.000 20.000
Taxa de transferência básica provisionada por disco 25 MB/s 25 MB/s 25 MB/s 25 MB/s 50 MB/s 100 MB/s 125 MB/s 150 MB/s 200 MB/s 250 MB/s 250 MB/s 500 MB/s 750 MB/s 900 MB/s
**Taxa de transferência provisionada expandida por disco** N/A N/A N/A N/A N/A N/A N/A N/A 300 MB/s 600 MB/s 900 MB/s 900 MB/s 900 MB/s 900 MB/s
IOPS de intermitência máxima por disco 3500 3500 3500 3500 3500 3500 3500 3500 30,000* 30,000* 30,000* 30,000* 30,000* 30,000*
Taxa máxima de transferência por explosão por disco 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 170 MB/s 1.000 MB/s* 1.000 MB/s* 1.000 MB/s* 1.000 MB/s* 1.000 MB/s* 1.000 MB/s*
Duração máxima da explosão 30 minutos 30 minutos 30 minutos 30 minutos 30 minutos 30 minutos 30 minutos 30 minutos Ilimitado* Ilimitado* Ilimitado* Ilimitado* Ilimitado* Ilimitado*
Elegível para reserva Não Não Não Não Não Não Não Não Sim, até um ano Sim, até um ano Sim, até um ano Sim, até um ano Sim, até um ano Sim, até um ano

*Aplica-se apenas a discos com ativação de burst a pedido.
** Apenas se aplica a discos com desempenho plus ativado.

Ao provisionar um disco de armazenamento premium, ao contrário do armazenamento padrão, você tem garantida a capacidade, IOPS e taxa de transferência desse disco. Por exemplo, se você criar um disco P50, o Azure provisionará capacidade de armazenamento de 4.095 GB, 7.500 IOPS e taxa de transferência de 250 MB/s para esse disco. Seu aplicativo pode usar toda ou parte da capacidade e do desempenho. Os SSDs premium são concebidos para fornecer latências de um dígito baixo em milissegundos e garantir IOPS e taxa de transferência, conforme descritos na tabela anterior, em 99,9% do tempo.

Embora a tabela acima identifique o máximo de IOPS por disco, um nível de desempenho superior pode ser alcançado através do striping de múltiplos discos de dados. Por exemplo, 64 discos de dados podem ser conectados a Standard_GS5 VM. Se cada um desses discos for dimensionado como um P30, um máximo de 80.000 IOPS pode ser alcançado. Para obter informações detalhadas sobre IOPS máximos por VM, consulte Tipos e tamanhos de VM.

Lançar o Azure Cloud Shell

O Azure Cloud Shell é um shell interativo gratuito que você pode usar para executar as etapas neste artigo. Tem ferramentas comuns do Azure pré-instaladas e configuradas para utilização com a sua conta.

Para abrir o Cloud Shell, selecione Experimente no canto superior direito de um bloco de código. Você também pode iniciar o Cloud Shell em uma guia separada do navegador acessando https://shell.azure.com/powershell. Selecione Copiar para copiar os blocos de código, cole-o no Cloud Shell e prima Enter para executá-lo.

Criar e anexar discos

Os discos de dados podem ser criados e anexados no momento da criação da VM ou a uma VM existente.

Anexar disco na criação da VM

Crie um grupo de recursos com o comando az group create.

az group create --name myResourceGroupDisk --location eastus

Crie uma VM usando o comando az vm create . O exemplo a seguir cria uma VM chamada myVM, adiciona uma conta de usuário chamada azureuser e gera chaves SSH se elas não existirem. O --datadisk-sizes-gb argumento é usado para especificar que um disco adicional deve ser criado e anexado à máquina virtual. Para criar e anexar mais de um disco, use uma lista delimitada por espaço de valores de tamanho de disco. No exemplo a seguir, uma VM é criada com dois discos de dados, ambos de 128 GB. Como os tamanhos de disco são de 128 GB, esses discos são configurados como P10s, que fornecem no máximo 500 IOPS por disco.

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image Ubuntu2204 \
  --size Standard_DS2_v2 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

Anexar disco à VM existente

Para criar e anexar um novo disco a uma máquina virtual existente, use o comando az vm disk attach . O exemplo a seguir cria um disco premium, com 128 gigabytes de tamanho, e o anexa à VM criada na última etapa.

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \
    --new

Preparar discos de dados

Depois que um disco for conectado à máquina virtual, o sistema operacional precisará ser configurado para usar o disco. O exemplo a seguir mostra como configurar manualmente um disco. Esse processo também pode ser automatizado usando o cloud-init, que é abordado em um tutorial posterior.

Crie uma conexão SSH com a máquina virtual. Substitua o endereço IP de exemplo pelo IP público da máquina virtual.

ssh azureuser@10.101.10.10

Particione o disco com parted.

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

Escreva um sistema de arquivos na partição usando o mkfs comando. Use partprobe para conscientizar o sistema operacional sobre a alteração.

sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

Monte o novo disco para que ele esteja acessível no sistema operacional.

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

O disco agora pode ser acedido através do ponto de montagem /datadrive, o que pode ser verificado executando o comando df -h.

df -h | grep -i "sd"

A saída mostra o novo disco montado em /datadrive.

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.0G   27G   7% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   41M   13G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

Para garantir que a unidade seja remontada após uma reinicialização, ela deve ser adicionada ao arquivo /etc/fstab . Para fazer isso, obtenha o UUID do disco com o blkid utilitário.

sudo -i blkid

A saída exibe o UUID da unidade, /dev/sdc1 neste caso.

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"

Observação

A edição incorreta do arquivo /etc/fstab pode resultar em um sistema não inicializável. Se não tiver a certeza, consulte a documentação de distribuição para obter mais informações sobre como editar corretamente este ficheiro. Também é recomendável que um backup do arquivo /etc/fstab seja criado antes da edição.

Abra o /etc/fstab arquivo em um editor de texto da seguinte maneira:

sudo nano /etc/fstab

Adicione uma linha semelhante à seguinte ao arquivo /etc/fstab , substituindo o valor UUID pelo seu próprio.

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  xfs    defaults,nofail   1  2

Quando terminar de editar o arquivo, use Ctrl+O para gravar o arquivo e Ctrl+X sair do editor.

Agora que o disco foi configurado, feche a sessão SSH.

exit

Tirar um instantâneo do disco

Quando tira um snapshot de um disco, o Azure cria uma cópia do disco em modo de leitura, num determinado ponto no tempo. Os instantâneos de VM do Azure são úteis para salvar rapidamente o estado de uma VM antes de fazer alterações de configuração. Em caso de problema ou erro, a VM pode ser restaurada usando um snapshot. Quando uma VM tem mais de um disco, é tirado um instantâneo de cada disco de forma independente dos outros. Para fazer backups consistentes da aplicação, considerar parar a VM antes de tirar snapshots de disco. Como alternativa, use o serviço de Backup do Azure, que permite executar backups automatizados enquanto a VM está em execução.

Criar instantâneo

Antes de criar um instantâneo, você precisa do ID ou nome do disco. Use az vm show para mostrar o ID do disco. Neste exemplo, o ID do disco é armazenado em uma variável para que possa ser usado em uma etapa posterior.

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

Agora que você tem o ID, use az snapshot create para criar um snapshot do disco.

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

Criar disco a partir de uma imagem instantânea

Esse instantâneo pode ser convertido em um disco usando az disk create, que pode ser usado para recriar a máquina virtual.

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

Restaurar máquina virtual a partir de snapshot

Para demonstrar a recuperação da máquina virtual, exclua a máquina virtual existente usando az vm delete.

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

Crie uma nova máquina virtual a partir do disco de snapshot.

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

Reanexar disco de dados

Todos os discos de dados precisam ser reanexados à máquina virtual.

Localize o nome do disco de dados usando o comando az disk list . Este exemplo coloca o nome do disco em uma variável chamada datadisk, que é usada na próxima etapa.

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

Use o comando az vm disk attach para anexar o disco.

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

Próximos passos

Neste tutorial, você aprendeu sobre os tópicos de discos VM, como:

  • Discos de SO e discos temporários
  • Discos de dados
  • Discos Standard e Premium
  • Desempenho do disco
  • Anexar e preparar os discos de dados
  • Instantâneos de disco

Avance para o próximo tutorial para saber mais sobre como automatizar a configuração da VM.