教學課程:使用 Azure CLI 建立及使用虛擬機器擴展集所適用的磁碟

虛擬機器擴展集會使用磁碟來儲存 VM 執行個體的作業系統、應用程式和資料。 建立及管理擴展集時,請務必選擇預期的工作負載所適用的磁碟大小和設定。 本教學課程將說明如何建立及管理 VM 磁碟。 在本教學課程中,您會了解:

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

如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶

必要條件

  • 本文需要 2.0.29 版或更新版本的 Azure CLI。 如果您是使用 Azure Cloud Shell,就已安裝最新版本。

預設 Azure 磁碟

建立或調整擴展集後,有兩個磁碟會自動連結到各個 VM 執行個體。

作業系統磁碟 - 作業系統磁碟可裝載 VM 執行個體的作業系統,其大小可以高達 2 TB。 OS 磁碟預設會標示為 /dev/sda。 OS 磁碟的磁碟快取組態已針對 OS 效能進行最佳化。 因為此組態,OS 磁碟不得裝載應用程式或資料。 請對應用程式和資料使用資料磁碟,本文稍後會詳細說明。

暫存磁碟 - 暫存磁碟會使用與 VM 執行個體位於相同 Azure 主機的固態磁碟機。 暫存磁碟的效能非常好,可用於暫存資料處理等作業。 不過,如果 VM 執行個體移至新的主機,則會移除儲存在暫存磁碟上的任何資料。 暫存磁碟的大小取決於 VM 執行個體大小。 暫存磁碟會標示為 /dev/sdb,其掛接點為 /mnt

Azure 資料磁碟

如果您需要安裝應用程式和儲存資料,您可以新增額外的資料磁碟。 資料磁碟應使用於任何需要持久且有回應之資料儲存體的情況。 每個資料磁碟皆具有 4 TB 的最大容量。 VM 執行個體的大小會決定可連結的資料磁碟數目。 針對每個 VM 虛擬 CPU,每個虛擬機器最多可以將兩個資料磁碟連結到 64 個磁碟。

VM 磁碟類型

Azure 提供兩種類型的磁碟。

標準磁碟

標準儲存體以 HDD 作為後盾,既可提供符合成本效益的儲存體,又可保有效能。 標準磁碟適合用於具成本效益的開發和測試工作負載。

進階磁碟

進階磁碟是以 SSD 為基礎的高效能、低延遲磁碟為後盾。 建議將這些磁碟用於執行生產工作負載的 VM。 進階儲存體支援 DS 系列、DSv2 系列、GS 系列和 FS 系列 VM。 當您選取磁碟大小時,其值會上調為下一個類型。 例如,如果磁碟大小少於 128 GB,則磁碟類型為 P10。 如果磁碟大小介於 129 GB 與 512 GB 之間,則大小為 P20。 如果超過 512 GB,則大小為 P30。

建立和連結磁碟

您可以在建立擴展集時建立並連結磁碟,或使用現有的擴展集。

自 API 版本 2019-07-01 起,即可使用 storageProfile.osDisk.diskSizeGb 屬性來設定虛擬機器擴展集中的 OS 磁碟大小。 佈建之後,您可能必須擴充或重新分割磁碟,以利用整個空間。 深入瞭解如何在 WindowsLinux 的作業系統中擴充磁碟區。

在建立擴展集時連結磁碟

重要

自 2023 年 11 月起,如果未指定協調流程模式,則使用 PowerShell 和 Azure CLI 建立的 VM 擴展集會預設為彈性協調流程模式。 如需此變更的詳細資訊,以及您應該採取的動作,請移至針對 VMSS PowerShell/CLI 客戶的中斷性變更 - Microsoft 社群中樞

首先,使用 az group create 命令來建立資源群組。 在此範例中,會在 eastus 區域中建立名為 myResourceGroup 的資源群組。

az group create --name myResourceGroup --location eastus

使用 az vmss create 命令建立虛擬機器擴展集。 下列範例會建立名為 myScaleSet 的擴展集,以及產生 SSH 金鑰 (如果不存在)。 系統會使用 --data-disk-sizes-gb 參數建立兩個磁碟。 第一個磁碟的大小為 64 GB,第二個磁碟則為 128 GB:

az vmss create \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --image Ubuntu2204 \
  --orchestration-mode Flexible \
  --admin-username azureuser \
  --generate-ssh-keys \
  --data-disk-sizes-gb 64 128

建立及設定所有擴展集資源和 VM 執行個體需要幾分鐘的時間。

將磁碟連結至現有的擴展集

您也可以將其他磁碟連結至現有擴展集裡的每個執行個體。 請使用在先前的步驟中建立的擴展集,透過 az vmss disk attach 新增另一個磁碟。 下列範例會連結另一個 128 GB 的磁碟:

az vmss disk attach \
  --resource-group myResourceGroup \
  --vmss-name myScaleSet \
  --size-gb 128

或者,如果您想要將資料磁碟新增至擴展集中的個別執行個體,請使用 az vm disk attach

az vm disk attach \
  --vm-name myScaleSet_Instance1 \
  --resource-group myResourceGroup \
  --size-gb 30 \
  --name disk_name \
  --new

列出已連結的磁碟

若要檢視已連結至擴展集之磁碟的相關資訊,請使用 az vmss show 並查詢 virtualMachineProfile.storageProfile.dataDisks

az vmss show \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --query virtualMachineProfile.storageProfile.dataDisks

此時會顯示磁碟大小、儲存層和 LUN (邏輯單元編號) 的相關資訊。 下列範例輸出會詳盡顯示三個連結至擴展集的資料磁碟:

[
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 64,
    "lun": 0,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 1,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  },
  {
    "additionalProperties": {},
    "caching": "None",
    "createOption": "Empty",
    "diskSizeGb": 128,
    "lun": 2,
    "managedDisk": {
      "additionalProperties": {},
      "storageAccountType": "StandardSSD_LRS"
    },
    "name": null
  }
]

中斷連結磁碟

當您不再需要給定的磁碟時,您可以從擴展集將其中斷連結。 磁碟會從擴展集中的所有 VM 執行個體移除。 若要從擴展集將磁碟中斷連結,請使用 az vmss disk detach,並指定磁碟的 LUN。 LUN 會顯示在上一節提及之 az vmss show 的輸出中。 下列範例會從擴展集將 LUN 2 中斷連結:

az vmss disk detach \
  --resource-group myResourceGroup \
  --name myScaleSet \
  --lun 2

您也可以使用 az vm disk detach 中斷個別執行個體與磁碟的連結。

az vm disk detach \
  --vm-name myScaleSet_Instance1
  --name disk_name

清除資源

若要移除您的擴展集和磁碟,請使用 az group delete 刪除資源群組及其所有資源。 --no-wait 參數不會等待作業完成,就會將控制項傳回給提示字元。 --yes 參數會確認您想要刪除資源,而不另外對您提示將要進行此作業。

az group delete --name myResourceGroup --no-wait --yes

下一步

在此教學課程中,您已了解如何使用 Azure CLI 來建立及使用擴展集所適用的磁碟:

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

前往下一個教學課程,了解如何將自訂映像用於擴展集 VM 執行個體。