修改容量保留
適用於:✔️ Linux VM ✔️ Windows VM ✔️ 統一擴展集 ✔️ 彈性擴展集
建立容量保留群組和容量保留後,您可以修改保留。 本文說明如何使用 API、Azure 入口網站和 PowerShell 執行下列動作。
- 更新容量保留中保留的執行個體數目
- 為與容量保留群組相關聯的 VM 調整大小
- 刪除容量保留群組和容量保留
更新保留的執行個體數目
更新容量保留中保留的虛擬機器執行個體數目。
重要
在少數情況下,當 Azure 無法滿足「增加保留給現有容量保留的數量」要求時,保留可能會進入失敗狀態並且變得無法使用,直到數量還原為原始數量為止。
PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01
在要求本文中,將 capacity
屬性更新為您想要保留的新計數:
{
"sku":
{
"capacity": 5
}
}
請注意,在此範例中屬性 capacity
現在會設定為 5。
為與容量保留群組相關聯的 VM 調整大小
如果要調整大小的 VM 目前已連結至容量保留群組,且該群組沒有目標大小的保留,您必須執行下列其中一個選項:
- 為該大小建立新的保留
- 在調整大小之前,請先從保留群組中移除虛擬機器。
檢查目標大小是否為保留群組的一部分:
取得群組內所有容量保留的名稱。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?api-version=2021-04-01
{ "name": "<CapacityReservationGroupName>", "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}", "type": "Microsoft.Compute/capacityReservationGroups", "location": "eastUS", "zones": [ "1" ], "properties": { "capacityReservations": [ { "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}" }, { "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName2}" } ] } }
了解為每個保留保留的 VM 大小。 下列範例適用於
capacityReservationName1
,但您可以針對其他保留重複此步驟。GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}?api-version=2021-04-01
{ "name": "capacityReservationName1", "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName1}", "type": "Microsoft.Compute/capacityReservationGroups/capacityReservations", "location": "eastUS", "sku": { "name": "Standard_D2s_v3", "capacity": 3 }, "zones": [ "1" ], "properties": { "reservationId": "<reservationId>", "provisioningTime": "<provisioningTime>", "provisioningState": "Succeeded" } }
請考量下列案例:
刪除容量保留群組和容量保留
Azure 允許在所有成員容量保留均刪除,且沒有與群組相關聯的 VM 時,將群組刪除。
若要刪除容量保留,請先找出與其相關聯的所有虛擬機器。 虛擬機器清單可在 virtualMachinesAssociated
屬性下取得。
首先,找出所有與容量保留群組相關聯的虛擬機器,並中斷其關聯。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?$expand=instanceView&api-version=2021-04-01
{
"name": "<capacityReservationGroupName>",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}",
"type": "Microsoft.Compute/capacityReservationGroups",
"location": "eastus",
"properties": {
"capacityReservations": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}/capacityReservations/{capacityReservationName}"
}
],
"virtualMachinesAssociated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName1}"
},
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName2}"
}
],
"instanceView": {
"capacityReservations": [
{
"name": "{capacityReservationName}",
"utilizationInfo": {
"virtualMachinesAllocated": [
{
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName1}"
}
]
},
"statuses": [
{
"code": "ProvisioningState/succeeded",
"level": "Info",
"displayStatus": "Provisioning succeeded",
"time": "<time>"
}
]
}
]
}
}
}
從上述回應中,在 virtualMachinesAssociated
屬性底下找出所有虛擬機器的名稱,並使用移除 VM 與容量保留的關聯中的步驟將其從容量保留群組中移除。
從容量保留群組中移除所有虛擬機器之後,請刪除成員容量保留:
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01
最後,刪除父容量保留群組。
DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?api-version=2021-04-01
還原執行個體數量
無論與保留相關聯的 VM 數目為何,減少保留數量的要求只要格式正確,就應該都會成功。 不過,要增加保留的數量,可能需要更多配額,且 Azure 可能需要滿足額外的容量要求。 在少數情況下,當 Azure 無法滿足「增加保留給現有保留的數量」要求時,保留可能會進入失敗狀態並且變得無法使用,直到保留的數量還原為原始數量為止。
注意
如果保留處於失敗狀態,與該保留相關聯的所有 VM 都可繼續正常運作。
例如,假設 myCapacityReservation
保留的數量為 5。 您要求 5 個額外的執行個體,而使保留的總數成為 10。 不過,由於區域中的容量有所限制,Azure 無法滿足額外要求的 5 個數量。 在此情況下,myCapacityReservation
將不符合其 10 個保留數量的預定狀態,而將進入失敗狀態。
若要解決此失敗帶來的問題,請採取下列步驟,找出舊的保留數量值:
- 移至 Azure 入口網站中的應用程式變更分析
- 在篩選條件中選取適用的 [訂用帳戶]、[資源群組] 和 [時間範圍]
- 在 [時間範圍] 篩選條件中最多只能回溯 14 天
- 搜尋容量保留的名稱
- 尋找該保留的
sku.capacity
屬性變更- 舊的保留數量會是 [舊值] 資料行底下的值
將 myCapacityReservation
更新為舊的保留數量。 更新之後,保留將立即可供您的虛擬機器使用。