共用方式為


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

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

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

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

必要條件

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

預設 Azure 磁碟

大部分的 VM SKU 都包含自動建立的暫存本機磁碟,並在發生調整時新增至虛擬機擴展集實例。 不過,有一些 SKU 無法使用暫存磁碟。 在此情況下,調整作業不會自動建立暫存磁碟,並將暫存磁碟新增至新建立的實例。 如需執行和不使用暫存磁碟之 VM SKU 的詳細資訊,請參閱 沒有本機暫存磁碟的 Azure VM 大小。

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

暫存磁碟 - 暫存磁碟會使用與 VM 執行個體位於相同 Azure 主機的固態磁碟機。 暫存磁碟的效能非常好,可用於暫存資料處理等作業。 不過,如果 VM 執行個體移至新的主機,則會移除儲存在暫存磁碟上的任何資料。 VM 實例大小會決定暫存磁碟的大小。

Azure 資料磁碟

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

VM 磁碟類型

Azure 提供兩種類型的磁碟。

標準磁碟

標準記憶體由 HDD 或 SSD 支援,可提供符合成本效益的記憶體和效能。 標準磁碟非常適合符合成本效益的開發及測試工作負載。

進階磁碟

進階磁碟是以 SSD 為基礎的高效能、低延遲磁碟為後盾。 建議將這些磁碟用於執行生產工作負載的 VM。 進階儲存體支援 DS 系列、DSv2 系列、GS 系列和 FS 系列 VM。 如需詳細資訊,請參閱 Azure 受控磁碟類型

建立和連結磁碟

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

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

在建立擴展集時連結磁碟

首先,使用 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 執行個體。