适用于: ✔️ Windows 虚拟机 ✔️ Linux 虚拟机
可以将容量预留组用于新的或现有的虚拟机(VM)。 若要了解有关容量预留的详细信息,请参阅 容量预留概述。
关联新虚拟机
若要将新虚拟机关联到容量预留组,必须将该组显式引用为 VM 的属性。 此参考保护组中用于要使用的应用程序和工作负荷的匹配预留。
若要将capacityReservationGroup属性添加到 VM,请构造对PUT提供程序的以下Microsoft.Compute请求:
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName}?api-version=2021-04-01
在请求正文中,包括 capacityReservationGroup 属性:
{
"location": "chinanorth3",
"properties": {
"hardwareProfile": {
"vmSize": "Standard_D2s_v3"
},
…
"capacityReservation":{
"capacityReservationGroup":{
"id":"subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}"
}
"storageProfile": {
…
},
"osProfile": {
…
},
"networkProfile": {
…
}
}
}
关联现有虚拟机
现有的区域性虚拟机只需使用容量预留组属性进行更新,而无需解除分配,它将自动消耗容量预留。 必须重新分配现有的区域虚拟机。
区域虚拟机
对于容量预留的初始版本,必须将虚拟机分配给容量预留:
- 如有必要,请按照指南创建容量预留组和容量预留。 或递增现有容量预留的数量,以便有未使用的预留容量。
- 解除分配虚拟机。
- 更新 VM 上的容量预留组属性。
- 重启 VM。
按照步骤将虚拟机关联到容量预留组。
解除分配虚拟机:
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourcegroupname}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName}/deallocate?api-version=2021-04-01将
capacityReservationGroup属性添加到 VM。 构造对PUT提供程序的以下Microsoft.Compute请求:PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName}?api-version=2021-04-01在请求正文中,包括
capacityReservationGroup属性:{ "location": "chinanorth3", "properties": { "capacityReservation": { "capacityReservationGroup": { "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}" } } } }
区域虚拟机
不需要重新分配就可以将分区虚拟机分配给容量保留。 如果现有容量预留组中有容量,可以将现有区域虚拟机添加到容量预留组,并更新 VM 以在容量预留组中使用匹配的容量预留。
重要
将现有区域 VM 关联到容量预留组而无需解除分配的功能目前为 预览版。 有关适用于 Beta 版、预览版或尚未正式发布的 Azure 功能的法律条款,请参阅 预览 版使用条款。
- 如有必要,请按照指南创建容量预留组和容量预留。 或递增现有容量预留的数量,以便有未使用的预留容量。
- 更新 VM 上的容量预留组属性。
按照步骤将虚拟机关联到容量预留组。
将 capacityReservationGroup 属性添加到 VM。 构造对PUT提供程序的以下Microsoft.Compute请求:
PUT https://management.chinacloudapi.cn/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{VirtualMachineName}?api-version=2021-04-01
在请求正文中,包括 capacityReservationGroup 属性:
{
"location": "chinanorth3",
"properties": {
"capacityReservation": {
"capacityReservationGroup": {
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}"
}
}
}
}
使用零大小预留保护现有区域虚拟机
已在区域内部署的虚拟机可无需重新分配即可转换为使用按需容量预订。 如果现有的容量预留组中没有容量,您可以首先创建零大小匹配的预留来保护您的工作负载。 基本过程涉及 3 个步骤:
创建容量预留组,然后在每个目标区域中匹配容量预留,并将预留数量设置为零。 这不需要额外的配额或容量。 有关如何创建预留的详细信息,请参阅 “创建容量预留”。
将当前在运行的区域虚拟机关联到容量预留中。 将虚拟机 capacityReservationGroup 属性设置为所需的容量预留组。 完成后,目标容量预留将被过度分配。 请参阅 区域虚拟机。
增加每个容量预留(CR)的保留数量,以匹配分配的虚拟机(VM)数量。 由于每个 CR 已过度分配,因此此步骤不需要额外的配额或容量。 有关如何更新预留计数的详细信息,请参阅 容量预留修改。
增加数量后,您应该会看到 CR 处于完全分配的状态,并且所有虚拟机都已分配。 请参阅 使用实例视图查看 VM 分配。
有关使用共享容量预留组的信息,请参阅在 共享容量预留组中使用零大小预留保护现有区域工作负荷。
使用实例视图查看 VM 分配
capacityReservationGroup设置属性后,VM 和组之间现在存在关联。 Azure 会自动在组中查找匹配的容量预留,并使用预留槽。 容量预留的实例视图反映属性中的 virtualMachinesAllocated 新 VM:
GET https://management.chinacloudapi.cn/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":"chinanorth3",
"properties":{
"capacityReservations":[
{
"id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/ {CapacityReservationGroupName}/capacityReservations/{CapacityReservationName}"
}
],
"virtualMachinesAssociated":[
{
"id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{myVM}"
}
],
"instanceView":{
"capacityReservations":[
{
"name":"{CapacityReservationName}",
"utilizationInfo":{
"virtualMachinesAllocated":[
{
"id":"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{myVM}"
}
]
},
"statuses":[
{
"code":"ProvisioningState/succeeded",
"level":"Info",
"displayStatus":"Provisioning succeeded",
"time":"2021-05-25T15:12:10.4165243+00:00"
}
]
}
]
}
}
}