虛擬機器擴展集 使用磁碟來儲存虛擬機實例的作業系統、應用程式和數據。 建立及管理擴展集時,請務必選擇預期的工作負載所適用的磁碟大小和設定。 本教學課程將說明如何建立及管理 VM 磁碟。 在本教學課程中,您將了解:
- OS 磁碟和暫存磁碟
- 資料磁碟
- 標準和進階磁碟
- 磁碟效能
- 連結及準備資料磁碟
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱開始使用 Azure Cloud Shell。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱 使用 Azure CLI 向 Azure 進行驗證。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能的詳細資訊,請參閱 使用和管理 Azure CLI 的擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
- 本文需要 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 磁碟大小。 佈建之後,您可能必須擴充或重新分割磁碟,以利用整個空間。 深入瞭解如何在 Windows 或 Linux 的作業系統中擴充磁碟區。
在建立擴展集時連結磁碟
首先,使用 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 執行個體。