共用方式為


教學課程 - 使用 Azure CLI 管理 Azure 磁碟

適用於:✔️ Linux 虛擬機 ✔️ 彈性規模設定

Azure 虛擬機器 (VM) 會使用磁碟來儲存作系統、應用程式和數據。 當您建立 VM 時,請務必選擇適合預期工作負載的磁碟大小和組態。 本教學課程說明如何部署和管理 VM 磁碟。 您瞭解:

  • OS 磁碟和暫存磁碟
  • 數據磁碟
  • 標準和進階磁碟
  • 磁碟效能
  • 連結及準備資料磁碟
  • 磁碟快照

預設 Azure 磁碟

建立 Azure 虛擬機時,會自動將兩個磁碟連結至虛擬機。

作業系統磁碟 - 作業系統磁碟的大小最多可達 2 TB,並存放 VM 的作業系統。 OS 磁碟預設會標示為 /dev/sda。 OS 磁碟的磁碟快取組態已針對 OS 效能進行最佳化。 由於此設定,OS 磁碟 不應該 用於應用程式或數據。 針對應用程式和數據,請使用本教學課程稍後詳述的數據磁碟。

暫存磁碟 - 暫存磁碟使用與 VM 位於相同 Azure 主機上的固態硬碟。 暫存磁碟效能很高,可用於臨時數據處理等作業。 不過,如果 VM 移至新的主機,則會移除儲存在暫存磁碟上的任何數據。 暫存磁碟的大小取決於 VM 大小。 暫存磁碟會標示為 /dev/sdb,其掛接點為 /mnt

Azure 資料磁碟

若要安裝應用程式和儲存數據,可以新增其他數據磁碟。 資料磁碟應使用於任何需要持久且有回應之資料儲存體的情況。 虛擬機的大小會決定可以連結至 VM 的數據磁碟數目。

VM 磁碟類型

Azure 提供兩種類型的磁碟。

標準磁碟 - 由 HDD 支援,並提供符合成本效益的記憶體,同時仍能執行效能。 標準磁碟非常適合符合成本效益的開發與測試工作負載。

進階磁碟 - 以 SSD 為基礎、高效能、低延遲的磁碟所支援。 最適合用於執行生產工作負載的 VM。 VM 大小名稱中含有 S 的類型,通常支援高效能儲存體。 例如,DS 系列、DSv2 系列、GS 系列和 FS 系列 VM 都支援進階記憶體。 當您選取磁碟大小時,其值會上調為下一個類型。 例如,如果磁碟大小超過 64 GB,但小於 128 GB,則磁碟類型為 P10。


進階 SSD 的大小 P1 P2 P3 P4 P6 P10 P15 P20 P30 P40 P50 P60 P70 P80
磁碟大小 (以 GiB 為單位) 4 8 16 32 64 128 256 512 1,024 2,048 4,096 8,192 16,384 32,767
每個磁碟的基本佈建 IOPS 120 120 120 120 240 500 1,100 2,300 5,000 7,500 7,500 16,000 18,000 20,000
**每個磁碟的擴充佈建 IOPS N/A N/A N/A N/A N/A N/A N/A N/A 8,000 16,000 20,000 20,000 20,000 20,000
每個磁碟的基本配置吞吐量 25 MB/秒 25 MB/秒 25 MB/秒 25 MB/秒 50 MB/秒 100 MB/秒 125 MB/秒 150 MB/秒 200 MB/秒 250 MB/秒 250 MB/秒 500 MB/s 750 MB/秒 900 MB/秒
**每個磁碟的擴充佈建輸送量 N/A N/A N/A N/A N/A N/A N/A N/A 300 MB/秒 600 MB/秒 900 MB/秒 900 MB/秒 900 MB/秒 900 MB/秒
每一磁碟的 IOPS 高載上限 3,500 3,500 3,500 3,500 3,500 3,500 3,500 3,500 30,000* 30,000* 30,000* 30,000* 30,000* 30,000*
每個磁碟的最大突發吞吐量 170 MB/秒 170 MB/秒 170 MB/秒 170 MB/秒 170 MB/秒 170 MB/秒 170 MB/秒 170 MB/秒 1,000 MB/秒* 1,000 MB/秒* 1,000 MB/秒* 1,000 MB/秒* 1,000 MB/秒* 1,000 MB/秒*
最大突發持續時間 30 分鐘 30 分鐘 30 分鐘 30 分鐘 30 分鐘 30 分鐘 30 分鐘 30 分鐘 無限制* 無限制* 無限制* 無限制* 無限制* 無限制*
符合保留資格 是,最多一年 是,最多一年 是,最多一年 是,最多一年 是,最多一年 是,最多一年

*僅適用於已啟用隨選高載的磁碟。
** 僅適用於已啟用效能加強的磁碟。

當您布建進階記憶體磁碟時,不同於標準記憶體,您保證該磁碟的容量、IOPS 和輸送量。 例如,如果您建立 P50 磁碟,Azure 會為該磁碟佈建 4,095 GB 儲存體容量、7,500 IOPS 和 250 MB/秒的輸送量。 您的應用程式可以使用全部或部分的容量和效能。 進階 SSD 磁碟的設計是為了在 99.9% 的時間內,提供低個位數毫秒延遲以及上表所述的目標 IOPS 和輸送量。

雖然上表指出每個磁碟的最大 IOPS,但可藉由分割多個資料磁碟來達到較高等級的效能。 例如,64 個數據磁碟可以連結至Standard_GS5 VM。 如果每個磁碟的大小都是 P30,則最多可以達到 80,000 IOPS。 如需每個 VM 最大 IOPS 的詳細資訊,請參閱 VM 類型和大小

啟動 Azure Cloud Shell

Azure Cloud Shell 是免費的互動式 Shell,可讓您用來執行本文中的步驟。 它具有預先安裝和設定的共用 Azure 工具,可與您的帳戶搭配使用。

若要開啟 Cloud Shell,請從程式代碼區塊的右上角選取 [ 試用 ]。 您也可以前往 https://shell.azure.com/powershell ,在新的瀏覽器分頁中開啟 Cloud Shell。 選取 [複製] 即可複製程式碼區塊,將它貼到 Cloud Shell 中,然後按 enter 鍵加以執行。

建立和連結磁碟

數據磁碟可以在 VM 建立期間建立和連結至現有的 VM。

在建立 VM 時連結磁碟

使用 az group create 命令來建立資源群組。

az group create --name myResourceGroupDisk --location eastus

使用 az vm create 命令建立 VM。 下列範例會建立名為 myVM 的 VM、新增名為 azureuser 的用戶帳戶,並在不存在時產生 SSH 密鑰。 使用--datadisk-sizes-gb參數來指定應建立並附加到虛擬機的額外磁碟。 若要建立並連結多個磁碟,請使用以空格分隔的磁碟大小值清單。 在下列範例中,VM 會以兩個數據磁碟建立,兩個數據磁碟都是 128 GB。 由於磁碟大小為 128 GB,因此這些磁碟都設定為 P10,每個磁碟最多提供 500 IOPS。

az vm create \
  --resource-group myResourceGroupDisk \
  --name myVM \
  --image Ubuntu2204 \
  --size Standard_DS2_v2 \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 128 128

將磁碟連結至現有的 VM

若要建立新的磁碟並將其連結至現有的虛擬機,請使用 az vm disk attach 命令。 下列範例會建立 128 GB 大小的進階磁碟,並將其連結至上一個步驟中建立的 VM。

az vm disk attach \
    --resource-group myResourceGroupDisk \
    --vm-name myVM \
    --name myDataDisk \
    --size-gb 128 \
    --sku Premium_LRS \
    --new

準備數據磁碟

將磁碟連結至虛擬機之後,作系統必須設定為使用磁碟。 下列範例示範如何手動設定磁碟。 此程式也可以使用 cloud-init 進行自動化,稍後的教學課程會涵蓋此 程式

使用虛擬機建立 SSH 連線。 將範例IP位址取代為虛擬機的公用IP。

ssh azureuser@10.101.10.10

使用 parted分割磁碟。

sudo parted /dev/sdc --script mklabel gpt mkpart xfspart xfs 0% 100%

使用 mkfs 命令將檔案系統寫入資料分割區。 使用 partprobe 讓OS知道變更。

sudo mkfs.xfs /dev/sdc1
sudo partprobe /dev/sdc1

掛接新的磁碟,使其可在作系統中存取。

sudo mkdir /datadrive && sudo mount /dev/sdc1 /datadrive

磁碟現在可以透過 /datadrive 裝入點來存取,您可以藉由執行 df -h 命令來驗證。

df -h | grep -i "sd"

輸出結果顯示新的磁碟驅動器已掛接在/datadrive上。

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        29G  2.0G   27G   7% /
/dev/sda15      105M  3.6M  101M   4% /boot/efi
/dev/sdb1        14G   41M   13G   1% /mnt
/dev/sdc1        50G   52M   47G   1% /datadrive

若要確保磁碟驅動器在重新啟動后重新掛接,必須將磁碟驅動器新增至 /etc/fstab 檔案。 若要這樣做,請使用 blkid 公用程式取得磁碟的 UUID。

sudo -i blkid

在此案例中, /dev/sdc1 輸出會顯示磁碟驅動器的 UUID。

/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="xfs"

備註

不當編輯 /etc/fstab 檔案會導致系統無法開機。 如果不確定,請參閱散發套件的文件,以取得如何適當編輯此檔案的相關資訊。 在編輯之前,也建議先備份 /etc/fstab 檔案。

/etc/fstab在文本編輯器中開啟檔案,如下所示:

sudo nano /etc/fstab

將類似下列這一行新增至 /etc/fstab 檔案,並將 UUID 值取代為您自己的值。

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e   /datadrive  xfs    defaults,nofail   1  2

當您完成編輯檔案時,請使用 Ctrl+O 來寫入檔案並 Ctrl+X 結束編輯器。

現在磁碟已設定完成,請關閉 SSH 連線。

exit

擷取磁碟快照

當您建立磁碟快照時,Azure 會建立磁碟的唯讀時間點複本。 在進行設定變更之前,Azure VM 快照集有助於快速儲存 VM 的狀態。 發生問題或錯誤時,可以使用快照還原 VM。 當 VM 有多個磁碟時,每個磁碟會各自產生快照集。 若要取得應用程式一致的備份,請考慮在建立磁碟快照之前停止虛擬機器。 或者,使用 Azure 備份服務,可讓您在執行 VM 時執行自動備份。

建立快照

建立快照集之前,您需要磁碟的標識碼或名稱。 使用 az vm show 來顯示磁碟標識碼。 在此範例中,磁碟標識符會儲存在變數中,以便在稍後的步驟中使用。

osdiskid=$(az vm show \
   -g myResourceGroupDisk \
   -n myVM \
   --query "storageProfile.osDisk.managedDisk.id" \
   -o tsv)

現在您已擁有標識符,請使用 az snapshot create 來建立磁碟的快照集。

az snapshot create \
    --resource-group myResourceGroupDisk \
    --source "$osdiskid" \
    --name osDisk-backup

從快照建立磁碟

接著,您可以使用 az disk create 將此快照集轉換成磁碟,以用來重新建立虛擬機。

az disk create \
   --resource-group myResourceGroupDisk \
   --name mySnapshotDisk \
   --source osDisk-backup

從快照集還原虛擬機器

若要示範虛擬機復原,請使用 az vm delete 刪除現有的虛擬機。

az vm delete \
--resource-group myResourceGroupDisk \
--name myVM

從快照集磁碟建立新的虛擬機。

az vm create \
    --resource-group myResourceGroupDisk \
    --name myVM \
    --attach-os-disk mySnapshotDisk \
    --os-type linux

重新附加數據磁碟

所有數據磁碟都必須重新附加至虛擬機。

使用 az disk list 命令尋找資料磁碟名稱。 本範例會將磁碟的名稱放在名為 datadisk的變數中,這會在下一個步驟中使用。

datadisk=$(az disk list \
   -g myResourceGroupDisk \
   --query "[?contains(name,'myVM')].[id]" \
   -o tsv)

使用 az vm disk attach 命令連結磁碟。

az vm disk attach \
   –g myResourceGroupDisk \
   --vm-name myVM \
   --name $datadisk

後續步驟

在本教學課程中,您已瞭解 VM 磁碟主題,例如:

  • OS 磁碟和暫存磁碟
  • 數據磁碟
  • 標準和進階磁碟
  • 磁碟效能
  • 連接並準備資料磁碟
  • 磁碟快照

前進到下一個教學課程,以瞭解將 VM 設定自動化。