你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

过度分配产能预留

适用于:✔️ Linux VM ✔️ Windows VM ✔️ 统一规模集 ✔️ 灵活规模集

Azure 允许在超出产能预留数量之外关联额外的虚拟机 (VM)。 这些 VM 可用于支持突发和其他横向扩展方案,而不受预留容量量的限制。 唯一的区别是,超出预留数量的 VM 不会获得产能可用性服务级别协议 (SLA) 权益。 只要 Azure 具有满足 VM 要求的可用产能,额外分配就会成功。

产能预留组的实例视图提供每个成员产能预留使用情况的快照。 可以使用实例视图来查看超量分配的工作原理。

本文假设你已创建产能预留组 (myCapacityReservationGroup)、成员产能预留 (myCapacityReservation) 和与该组关联的 VM (myVM1)。 有关详细信息,请参阅创建产能预留将 VM 关联到产能预留

产能预留组的实例视图

产能预留组的实例视图将如此实例所示:

GET 
https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/myCapacityReservationGroup?$expand=instanceview&api-version=2021-04-01
{ 
    "name": "myCapacityReservationGroup", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus", 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "myCapacityReservation", 
"utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
                            } 
                        ] 
                    }, 
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "<time>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

假设创建名为 myVM2 的另一个 VM,并将其关联到前面的产能预留组。

产能预留组的实例视图现如此示例所示:

{ 
    "name": "myCapacityReservationGroup", 
    "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/myCapacityReservationGroup", 
    "type": "Microsoft.Compute/capacityReservationGroups", 
    "location": "eastus", 
    "properties": { 
        "capacityReservations": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/MYCAPACITYRESERVATIONGROUP/capacityReservations/MYCAPACITYRESERVATION" 
            } 
        ], 
        "virtualMachinesAssociated": [ 
            { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
            }, 
 { 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2" 
            } 
        ], 
        "instanceView": { 
            "capacityReservations": [ 
                { 
                    "name": "myCapacityReservation", 
"utilizationInfo": { 
                        "virtualMachinesAllocated": [ 
                            { 
                                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM1" 
                            }, 
{ 
                "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/myVM2" 
            } 
                        ] 
                    }, 
                    "statuses": [ 
                        { 
                            "code": "ProvisioningState/succeeded", 
                            "level": "Info", 
                            "displayStatus": "Provisioning succeeded", 
                            "time": "<time>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
} 

virtualMachinesAllocated (2) 的长度大于 capacity (1)。 这种有效状态称为“超量分配”。

重要

Azure 不会因为产能预留已完全使用而停止分配。 只要 Azure 有可用产能并满足其他约束(例如可用配额),自动缩放规则、临时横向扩展和相关要求所用的产能就会超出预留产能。

状态和注意事项

特定产能预留有三种有效状态:

State 状态 注意事项
预留容量可用 virtualMachinesAllocated<capacity 的长度 是否需要所有预留容量? (可选)减少产能以降低成本。
预留已使用 virtualMachinesAllocated == capacity 的长度 除非解除分配某些现有 VM,否则更多的 VM 不会收到产能 SLA。 (可选)尝试增加产能,以便额外计划的 VM 可收到 SLA。
预留已超量分配 virtualMachinesAllocated>capacity 的长度 更多的 VM 不会收到产能 SLA。 此外,如果解除分配,相应数量的 VM(virtualMachinesAllocated - capacity 的长度)将不会收到产能 SLA。 (可选)增加产能,将产能 SLA 添加到更多现有 VM。

下一步