Exercício – redimensionar um disco de VM

Concluído

Digamos que você subestimou o tamanho de alguns dos arquivos carregados e que seu disco de upload está ficando sem espaço. Decide duplicar o espaço de 64 GB para 128 GB.

Aqui, você pratica o processo que aprendeu nas unidades anteriores.

Redimensionar o disco de dados

Para redimensionar um disco, é necessário o ID ou nome do disco. Neste caso, já sabe o nome – uploadDataDisk1. Mas caso você não tenha criado o disco ou alguém tenha criado o disco, você pode correr az disk list para encontrar o nome.

  1. Execute o az disk list comando para imprimir a lista dos discos gerenciados no grupo de recursos. Esta lista poderá incluir outros discos se tiver múltiplas VMs no mesmo grupo de recursos.

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

    Verá o disco com o nome 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 sua VM. Este comando não exclui sua VM, mas a coloca em um estado em que você pode modificar os discos virtuais.

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

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

    az vm start --name support-web-vm01
    

    Ainda não está tudo. O sistema operacional na VM ainda não pode usar o espaço extra. Trataremos dessa situação na próxima seção.

Expandir a partição do disco

A etapa final é informar o SO acerca do espaço disponível. Assim como as etapas de particionamento e formato que você fez anteriormente, esse processo é idêntico ao que você segue para expandir um disco físico local.

  1. Embora você possa 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 a VM é desalocada e reiniciada. Execute o seguinte comando az vm show para atualizar a sua variável Bash com o novo endereço IP público da sua VM.

    ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
    
  2. Tal como fez anteriormente, execute o comando lsblk na sua VM através de SSH para compreender o respetivo estado atual.

    ssh azureuser@$ipaddress lsblk
    

    Pode ver que o disco sdc/sdc1 ainda tem 64 GB de tamanho.

    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 az vm extension set comando para informar o sistema operacional na VM sobre o espaço recém-disponível executando um script Bash pré-fabricado que criamos para ajudá-lo.

    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 está em execução, pode examinar o script de Bash a partir de um separador diferente do browser, se assim pretender.

    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 ficheiros.
    • Remonta a unidade /dev/sdc1 no ponto de montagem /uploads.
  4. Para verificar a configuração, volte a executar o comando lsblk na sua VM através de SSH.

    ssh azureuser@$ipaddress lsblk
    

    Desta vez, verá que o disco sdc/sdc1 foi expandido de forma a acomodar o tamanho acrescido do seu 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. Por último, execute o utilitário df do sistema operativo na sua VM através de SSH para provar que o SO consegue vê-lo corretamente.

    ssh azureuser@$ipaddress df -h
    

    Verá que o tamanho da unidade é de 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