教學課程:使用 Azure CLI 建立及使用虛擬機器擴展集所適用的磁碟
虛擬機器擴展集 使用磁碟來儲存虛擬機實例的作業系統、應用程式和數據。 建立及管理擴展集時,請務必選擇預期的工作負載所適用的磁碟大小和設定。 本教學課程將說明如何建立及管理 VM 磁碟。 在本教學課程中,您將了解:
- OS 磁碟和暫存磁碟
- 資料磁碟
- 標準和進階磁碟
- 磁碟效能
- 連結及準備資料磁碟
如果您沒有 Azure 訂用帳戶,請在開始前建立免費帳戶 。
必要條件
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 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 執行個體。