Dela via


Ändra en kapacitetsreservation

Gäller för: ✔️ Virtuella Linux-datorer Med virtuella Windows-datorer ✔️ ✔️ Enhetlig skalningsuppsättning ✔️ – flexibla skalningsuppsättningar

När du har skapat en kapacitetsreservationsgrupp och en kapacitetsreservation kanske du vill ändra dina reservationer. I den här artikeln beskrivs hur du utför följande åtgärder med hjälp av API:et, Azure Portal och PowerShell.

  • Uppdatera antalet reserverade instanser i en kapacitetsreservation.
  • Ändra storlek på virtuella datorer som är kopplade till en kapacitetsreservationsgrupp.
  • Ta bort kapacitetsreservationsgruppen och kapacitetsreservationen.

Uppdatera antalet reserverade instanser

Uppdatera antalet virtuella datorinstanser (VM) som reserverats i en kapacitetsreservation.

Viktigt!

I sällsynta fall när Azure inte kan uppfylla begäran om att öka antalet reserverade för befintliga kapacitetsreservationer kan en reservation hamna i ett feltillstånd och bli otillgänglig tills kvantiteten återställs till det ursprungliga beloppet.

    PATCH https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01

I begärandetexten capacity uppdaterar du egenskapen till det nya antal som du vill reservera:

{
    "sku":
    {
        "capacity": 5
    }
} 

I det här exemplet är egenskapen capacity nu inställd på 5.

Ändra storlek på virtuella datorer som är kopplade till en kapacitetsreservationsgrupp

Du måste göra något av följande alternativ om den virtuella datorn som storleksändras för närvarande är kopplad till en kapacitetsreservationsgrupp och den gruppen inte har någon reservation för målstorleken:

  • Skapa en ny reservation för den storleken.
  • Ta bort den virtuella datorn från reservationsgruppen innan du ändrar storlek.

Kontrollera om målstorleken är en del av reservationsgruppen.

  1. Hämta namnen på alla kapacitetsreservationer i gruppen.

        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}" 
                } 
            ] 
        } 
    } 
    
  2. Ta reda på storleken på den virtuella datorn som är reserverad för varje reservation. Följande exempel är för capacityReservationName1, men du kan upprepa det här steget för andra reservationer.

        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" 
        } 
    }  
    
  3. Föreställ dig följande scenarier:

Ta bort en kapacitetsreservationsgrupp och kapacitetsreservation

Azure tillåter att en grupp tas bort när alla medlemskapacitetsreservationer tas bort och inga virtuella datorer är associerade till gruppen.

Om du vill ta bort en kapacitetsreservation tar du först reda på alla virtuella datorer som är associerade med den. Listan över virtuella datorer är tillgänglig under egenskapen virtualMachinesAssociated .

Leta först upp alla virtuella datorer som är associerade med kapacitetsreservationsgruppen och koppla bort dem:

    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>" 
                        } 
                    ] 
                } 
            ] 
        } 
    } 
}  

Från föregående svar letar du reda på namnen på alla virtuella datorer under egenskapen virtualMachinesAssociated . Ta bort dem från kapacitetsreservationsgruppen med hjälp av stegen i Ta bort en VM-association till en kapacitetsreservation.

När alla virtuella datorer har tagits bort från kapacitetsreservationsgruppen tar du bort medlemskapacitetsreservationerna:

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}/capacityReservations/{capacityReservationName}?api-version=2021-04-01

Slutligen tar du bort den överordnade kapacitetsreservationsgruppen:

DELETE https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/CapacityReservationGroups/{CapacityReservationGroupName}?api-version=2021-04-01

Återställa instanskvantitet

En välformulerad begäran om att minska den reserverade kvantiteten bör alltid lyckas oavsett hur många virtuella datorer som är kopplade till reservationen. Att öka den reserverade kvantiteten kan dock kräva mer kvot och för att Azure ska kunna uppfylla begäran om mer kapacitet. I ett sällsynt scenario där Azure inte kan uppfylla begäran om att öka den reserverade kvantiteten för befintliga reservationer kan reservationen hamna i ett feltillstånd och bli otillgänglig tills den reserverade kvantiteten återställs till det ursprungliga beloppet.

Kommentar

Om en reservation är i ett feltillstånd fortsätter alla virtuella datorer som är kopplade till reservationen att fungera som vanligt.

Anta till exempel att myCapacityReservation fem instanser är reserverade. Du begär 5 extra instanser, vilket gör den totala reserverade kvantiteten lika med 10. Men på grund av en begränsad kapacitetssituation i regionen kan Azure inte uppfylla de ytterligare 5 instanser som du har begärt. I det här fallet myCapacityReservation uppfyller inte det avsedda tillståndet för 10 reserverade instanser och hamnar i ett feltillstånd .

Lös det här felet genom att följa dessa steg för att hitta det gamla reserverade kvantitetsvärdet:

  1. I Azure Portal går du till Programändringsanalys.
  2. Välj tillämpliga inställningar för prenumeration, resursgrupp och tidsintervall i filtren. Du kan bara gå tillbaka upp till 14 dagar tidigare i filtret Tidsintervall .
  3. Sök efter namnet på kapacitetsreservationen.
  4. Leta efter ändringen i egenskapen för den reservationen sku.capacity . Den gamla reserverade kvantiteten är värdet under kolumnen Gammalt värde .

Uppdatera myCapacityReservation till den gamla reserverade kvantiteten. När den har uppdaterats är reservationen omedelbart tillgänglig för användning med dina virtuella datorer.

Gå vidare