練習 - 調整 VM 磁碟的大小
假設您低估了部分上傳檔案的大小,以及您的上傳磁碟空間即將不足。 您決定將磁碟空間從 64 GB 加倍為 128 GB。
在這裡,您會練習您在先前單元中學到的流程。
調整資料磁碟的大小
若要調整磁碟大小,您需要磁碟的識別碼或名稱。 在此情況下,您已經知道名稱—*uploadDataDisk1—但如果您不知道,或其他人已建立磁碟,您可以執行 az disk list
來尋找名稱。
執行
az disk list
命令以列印資源群組中的受控磁碟清單。 如果您在相同資源群組中有多個 VM,此清單可能會包含其他磁碟。az disk list \ --query '[*].{Name:name,Gb:diskSizeGb,Tier:sku.tier}' \ --output table
您會看到名為 uploadDataDisk1 的磁碟。
Name Tier ---------------------------------------------------------- ------- support-web-vm01_OsDisk_1_a7c59897dfda42dfab2edf4933e713a6 Premium uploadDataDisk1 Premium
執行下列命令
az vm deallocate
,以停止並解除配置 VM。 這個命令不會刪除您的 VM,但會將它置於您可以修改虛擬磁碟的狀態。az vm deallocate --name support-web-vm01
執行
az disk update
命令以將磁碟大小調整為 128 GB。az disk update --name uploadDataDisk1 --size-gb 128
執行
az vm start
命令以重新啟動 VM。az vm start --name support-web-vm01
我們還沒有完成。 VM 上的作業系統還無法使用額外的空間。 我們將在下一節中處理這個狀況。
擴充磁碟分割
最後一個步驟是告訴 OS 關於可用空間的資訊。 如同您稍早執行過的磁碟分割與格式化步驟,此流程與您在擴充實體內部部署磁碟時遵循的步驟完全相同。
雖然您可以為 VM 保留固定的公用 IP 位址,但根據預設,在您將 VM 解除配置並重新啟動時,VM 會收到新的公用 IP 位址。 執行下列
az vm show
命令,將您的 Bash 變數更新為 VM 的新公用 IP 位址。ipaddress=$(az vm show --name support-web-vm01 -d --query [publicIps] -o tsv)
如您稍早所執行的,透過 SSH 在 VM 上執行
lsblk
以了解其目前狀態。ssh azureuser@$ipaddress lsblk
您可以看到磁碟
sdc/sdc1
的大小仍為 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 /
類似您先前將磁碟初始化所做的,請執行下列
az vm extension set
命令,透過執行我們建立來協助您的預製 Bash 指令碼,告訴 VM 上的 OS 有新的可用空間。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"}'
在命令執行的時候,您也可以視需要從另一個瀏覽器索引標籤檢查 Bash 指令碼。
總結來說,指令碼:
- 將磁碟
/dev/sdc1
取消掛接。 - 將磁碟分割 1 調整為 128 GB。
- 驗證磁碟分割的一致性。
- 調整檔案系統大小。
- 重新將磁碟機
/dev/sdc1
掛接回掛接點/uploads
。
- 將磁碟
若要驗證設定,請再次透過 SSH 在 VM 上執行
lsblk
。ssh azureuser@$ipaddress lsblk
這一次,您會看到磁碟
sdc/sdc1
已擴充以容納增加的磁碟大小。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 /
最後一個驗證步驟是透過 SSH 在 VM 上執行作業系統的
df
公用程式,以證明 OS 可以正確地看到它。ssh azureuser@$ipaddress df -h
您會看到磁碟機大小為 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