Exercício – redimensionar um disco de VM
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, você precisa do ID ou nome do disco. Nesse caso, você já sabe o nome—*uploadDataDisk1—, mas caso não tenha feito isso, ou alguém tenha criado o disco, você pode executar az disk list
para encontrar o nome.
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
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
Execute o
az disk update
comando para redimensionar o disco para 128 GB.az disk update --name uploadDataDisk1 --size-gb 128
Execute o
az vm start
comando para reiniciar a VM.az vm start --name support-web-vm01
Ainda não terminamos. 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.
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)
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 /
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é-feito 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
.
- Desmonta o disco
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 /
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