你当前正在访问 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。 |