Nadmierna alokacja rezerwacji pojemności

Dotyczy: ✔️ Maszyny wirtualne z systemem Linux Maszyny wirtualne z systemem Windows — elastyczne zestawy ✔️ ✔️ skalowania ✔️

Platforma Azure zezwala na skojarzenie dodatkowych maszyn wirtualnych powyżej liczby rezerwacji pojemności. Te maszyny wirtualne są dostępne w celu umożliwienia scenariuszy zwiększania szybkości i innych scenariuszy skalowania w poziomie bez limitów pojemności zarezerwowanej. Jedyna różnica polega na tym, że liczba maszyn wirtualnych spoza zarezerwowanej ilości nie otrzymuje korzyści z umowy SLA dotyczącej dostępności pojemności. Jeśli platforma Azure ma dostępną pojemność spełniającą wymagania dotyczące maszyny wirtualnej, dodatkowa alokacja powiedzie się.

Widok wystąpienia grupy Rezerwacja pojemności zawiera migawkę użycia dla każdej rezerwacji pojemności składowej. Możesz użyć widoku wystąpienia, aby zobaczyć, jak działa nadmierna alokacja.

W tym artykule założono, że utworzono grupę rezerwacji pojemności (myCapacityReservationGroup), składową rezerwację pojemności (myCapacityReservation) i maszynę wirtualną (myVM1), która jest skojarzona z grupą. Aby uzyskać więcej informacji, zobacz Tworzenie rezerwacji pojemności i kojarzenie maszyny wirtualnej z rezerwacją pojemności .

Widok wystąpienia dla grupy rezerwacji pojemności

Widok wystąpienia dla grupy Rezerwacja pojemności wygląda następująco:

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

Załóżmy, że utworzymy inną maszynę wirtualną o nazwie myVM2 i skojarzymy ją z powyższą grupą Rezerwacja pojemności.

Widok wystąpienia dla grupy Rezerwacja pojemności wygląda teraz następująco:

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

Zwróć uwagę, że długość virtualMachinesAllocated wartości (2) jest większa niż capacity (1). Ten prawidłowy stan jest określany jako nadmiernie alokowany.

Ważne

Platforma Azure nie zatrzyma alokacji tylko dlatego, że rezerwacja pojemności jest w pełni zużywana. Reguły skalowania automatycznego, tymczasowe skalowanie w poziomie i powiązane wymagania będą działać poza ilość pojemności zarezerwowanej, o ile platforma Azure ma dostępną pojemność i inne ograniczenia, takie jak dostępny limit przydziału, zostaną spełnione.

Stany i zagadnienia

Istnieją trzy prawidłowe stany dla danej rezerwacji pojemności:

Stan Stan Zagadnienia do rozważenia
Dostępna pojemność zarezerwowana Długość virtualMachinesAllocated<capacity Czy potrzebna jest cała pojemność zarezerwowana? Opcjonalnie zmniejsz pojemność, aby zmniejszyć koszty.
Zużytą rezerwację Długość virtualMachinesAllocated == capacity Dodatkowe maszyny wirtualne nie otrzymają umowy SLA dotyczącej pojemności, chyba że przydział niektórych istniejących maszyn wirtualnych zostanie cofnięty. Opcjonalnie spróbuj zwiększyć pojemność, aby dodatkowe planowane maszyny wirtualne otrzymały umowę SLA.
Nadmierna alokacja rezerwacji Długość virtualMachinesAllocated>capacity Dodatkowe maszyny wirtualne nie otrzymają umowy SLA dotyczącej pojemności. Ponadto ilość maszyn wirtualnych (długość virtualMachinesAllocatedcapacity— ) nie otrzyma umowy SLA pojemności w przypadku cofnięcia przydziału. Opcjonalnie zwiększ pojemność, aby dodać umowę SLA pojemności do większej liczby istniejących maszyn wirtualnych.

Następne kroki