Exercício – Redimensionar um disco de VM

Concluído

Digamos que você tenha subestimado o tamanho de alguns dos arquivos carregados e que seu disco de upload esteja ficando sem espaço. Você decide duplicar o espaço de 64 GB para 128 GB.

Aqui, você irá praticar o processo que aprendeu na unidade anterior.

Redimensionar o disco de dados

Para redimensionar um disco, você precisa do ID ou nome do disco. Nesse caso, você já sabe o nome—*uploadDataDisk1—mas caso não saiba, ou outra pessoa tenha criado o disco, você pode executar az disk list para encontrar o nome.

  1. Execute o comando az disk list para imprimir a lista de discos gerenciados no grupo de recursos. Essa lista poderá incluir outros discos se você tiver várias VMs no mesmo grupo de recursos.

    az disk list \
      --query '[*].{Name:name,Gb:diskSizeGb,Tier:sku.tier}' \
      --output table
    

    Você verá o disco denominado uploadDataDisk1.

    Name                                                        Tier
    ----------------------------------------------------------  -------
    support-web-vm01_OsDisk_1_a7c59897dfda42dfab2edf4933e713a6  Premium
    uploadDataDisk1                                             Premium
    
  2. Execute o seguinte comando az vm deallocate para parar e desalocar a VM. Esse comando não exclui sua VM, mas a coloca em um estado no qual você pode modificar os discos virtuais.

    az vm deallocate --name support-web-vm01
    
  3. Execute o comando az disk update para redimensionar o disco para 128 GB.

    az disk update --name uploadDataDisk1 --size-gb 128
    
  4. Execute o comando az vm start para reiniciar a VM.

    az vm start --name support-web-vm01
    

    Ainda não terminamos. O sistema operacional na VM não pode usar o espaço extra ainda. Vamos lidar com essa situação na próxima seção.

Expandir a partição de disco

A etapa final é informar ao SO sobre o espaço disponível. Assim como as etapas de particionamento e de formatação executadas anteriormente, este processo é idêntico ao que você segue para expandir um disco físico local.

  1. Embora seja possível reservar um endereço IP público fixo para sua VM, por padrão, sua VM recebe um novo endereço IP público quando ela é desalocada e reiniciada. Execute o seguinte comando az vm show para atualizar sua variável Bash com o novo endereço IP público da VM.

    ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
    
  2. Como fez anteriormente, execute lsblk na VM via SSH para compreender seu estado atual.

    ssh azureuser@$ipaddress lsblk
    

    Você pode ver que o disco sdc/sdc1 ainda tem um tamanho de 64 GB.

    NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0    7G  0 disk 
    └─sdb1    8:17   0    7G  0 part /mnt
    sdc       8:32   0  128G  0 disk 
    └─sdc1    8:33   0   64G  0 part /uploads
    sda       8:0    0   30G  0 disk 
    ├─sda14   8:14   0    4M  0 part 
    ├─sda15   8:15   0  106M  0 part /boot/efi
    └─sda1    8:1    0 29.9G  0 part /
    
  3. Semelhante ao que você fez anteriormente para inicializar seu disco, execute o seguinte comando az vm extension set para informar ao sistema operacional na VM sobre o novo espaço disponível, executando um script Bash pré-criado que criamos para ajudar você.

    az vm extension set \
      --vm-name support-web-vm01 \
      --name customScript \
      --publisher Microsoft.Azure.Extensions \
      --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/resize-data-disk.sh"]}' \
      --protected-settings '{"commandToExecute": "./resize-data-disk.sh"}'
    

    Enquanto o comando é executado, se desejar, você poderá examinar o script do Bash em uma guia separada no navegador.

    Para resumir, o script:

    • Desmonta o disco /dev/sdc1.
    • Redimensiona a partição 1 para 128 GB.
    • Verifica a consistência da partição.
    • Redimensiona o sistema de arquivos.
    • Remonta a unidade /dev/sdc1 de volta para o ponto de montagem /uploads.
  4. Para verificar a configuração, execute lsblk em sua VM via SSH uma segunda vez.

    ssh azureuser@$ipaddress lsblk
    

    Dessa vez, você verá que o disco sdc/sdc1 é expandido para acomodar o aumento do tamanho do disco.

    NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
    sdb       8:16   0     7G  0 disk 
    └─sdb1    8:17   0     7G  0 part /mnt
    sdc       8:32   0   128G  0 disk 
    └─sdc1    8:33   0 119.2G  0 part /uploads
    sda       8:0    0    30G  0 disk 
    ├─sda14   8:14   0     4M  0 part 
    ├─sda15   8:15   0   106M  0 part /boot/efi
    └─sda1    8:1    0  29.9G  0 part /
    
  5. Como uma etapa de verificação final, execute o utilitário df do sistema de operacional na sua VM via SSH para provar que o sistema operacional pode vê-lo corretamente.

    ssh azureuser@$ipaddress df -h
    

    Você verá que o tamanho da unidade é 128 GB.

    Filesystem      Size  Used Avail Use% Mounted on
    udev            1.7G     0  1.7G   0% /dev
    tmpfs           345M  9.3M  335M   3% /run
    /dev/sda1        29G  1.9G   28G   7% /
    tmpfs           1.7G     0  1.7G   0% /dev/shm
    tmpfs           5.0M     0  5.0M   0% /run/lock
    tmpfs           1.7G     0  1.7G   0% /sys/fs/cgroup
    /dev/sda15      105M  3.2M  102M   3% /boot/efi
    /dev/sdb1       6.8G   16M  6.4G   1% /mnt
    /dev/sdc1       118G   60M  112G   1% /uploads
    tmpfs           345M     0  345M   0% /run/user/1000