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

超量分配产能预留

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

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

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

本文假设你已创建产能预留组 (myCapacityReservationGroup)、成员产能预留 (myCapacityReservation) 和与该组关联的虚拟机 (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 的虚拟机,并将其与上述产能预留组相关联。

容量预留组的实例视图现在将如下所示:

{ 
    "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 有可用容量并满足其他约束(例如可用配额),自动缩放规则、临时横向扩展和相关要求所用的容量就会超出预留容量。

状态和注意事项

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

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

后续步骤