Exercício – Redimensionar um disco de VM
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.
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
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
Execute o comando
az disk update
para redimensionar o disco para 128 GB.az disk update --name uploadDataDisk1 --size-gb 128
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.
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)
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 /
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
.
- Desmonta o disco
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 /
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