Komunikaty o przekroczeniu quoty
Jeżeli utworzenie lub powiększenie zasobu (wolumenu, instancji, adresu IP, load balancera) kończy się błędem, najczęstszą przyczyną jest osiągnięcie quoty projektu. Ogólny opis quoty znajduje się w rozdziale Quota projektu.
W tym rozdziale opisujemy, jak rozpoznać, której quoty dotyczy błąd, jak znaleźć zasoby, które ją zajmują, oraz jak ją zwolnić lub zwiększyć. Przykłady komunikatów pochodzą z panelu Atman Cloud oraz z klienta CLI openstack.
Sprawdzenie wykorzystania quoty
W panelu
Wykorzystanie quoty widoczne jest na ekranie Project -> Compute -> Overview, w sekcji Limit Summary. Wykres w kolorze czerwonym oznacza, że quota została w całości wykorzystana – w poniższym przykładzie dotyczy to adresów IP (Floating IPs: Allocated 1 of 1).
W CLI
Wykorzystanie quoty dla instancji, vCPU, RAM oraz przestrzeni dyskowej:
$ openstack limits show --absolute
+--------------------------+-------+
| Name | Value |
+--------------------------+-------+
| maxTotalInstances | 10 |
| maxTotalCores | 12 |
| maxTotalRAMSize | 32768 |
| totalRAMUsed | 12288 |
| totalCoresUsed | 4 |
| totalInstancesUsed | 2 |
| maxTotalVolumes | 10 |
| maxTotalSnapshots | 10 |
| maxTotalVolumeGigabytes | 400 |
| totalVolumesUsed | 5 |
| totalGigabytesUsed | 290 |
| totalSnapshotsUsed | 1 |
...
Wartości max… to limity, a wartości total…Used – aktualne wykorzystanie. RAM podawany jest w MB.
Limity zasobów sieciowych (adresy IP, grupy zabezpieczeń, routery, sieci, porty) wyświetla polecenie:
openstack quota show
UWAGA
Wartości maxTotalFloatingIps, maxSecurityGroups i maxSecurityGroupRules w wyniku polecenia openstack limits show nie są aktualne (pokazują np. -1). Limity zasobów sieciowych należy sprawdzać na ekranie Overview lub poleceniem openstack quota show (pola floating-ips, secgroups, secgroup-rules).
Przekroczona quota przestrzeni dyskowej
To najczęstszy przypadek. Pojawia się przy tworzeniu lub powiększaniu wolumenu, tworzeniu kopii migawkowej, a także przy tworzeniu instancji (dysk systemowy instancji również jest wolumenem).
Komunikat w panelu
Przy tworzeniu wolumenu (Project -> Volumes -> Volumes -> Create Volume) w sekcji Volume Limits widoczne jest wykorzystanie quoty. Jeżeli podany rozmiar przekracza dostępną quotę, pasek Total Gibibytes zmienia kolor na czerwony, a po kliknięciu Create Volume pojawia się komunikat:
A volume of 150GiB cannot be created as you only have 110GiB of your quota available.
Komunikat w CLI
$ openstack volume create --size 150 --type 2000iops nowy-wolumen
VolumeSizeExceedsAvailableQuota: Requested volume or snapshot exceeds allowed gigabytes quota. Requested 150G, quota is 400G and 290G has been consumed. (HTTP 413)
Komunikat zawiera wszystkie potrzebne informacje: żądany rozmiar (150G), quotę (400G) i aktualne wykorzystanie (290G). W tym przykładzie dostępne jest tylko 110 GB.
KROK 1. SPRAWDZENIE WYKORZYSTANIA Z PODZIAŁEM NA TYPY DYSKÓW
Każdy typ przestrzeni dyskowej ma osobną quotę, a dodatkowo obowiązuje quota łączna gigabytes. Wykorzystanie z podziałem na typy wyświetla polecenie:
$ cinder quota-usage <project_id>
+--------------------------+--------+----------+-------+-----------+
| Type | In_use | Reserved | Limit | Allocated |
+--------------------------+--------+----------+-------+-----------+
| gigabytes | 290 | 0 | 400 | |
| gigabytes_2000iops | 210 | 0 | 400 | |
| gigabytes_8000iops | 80 | 0 | 400 | |
| gigabytes_15000iops | 0 | 0 | 400 | |
| snapshots | 1 | 0 | 10 | |
| volumes | 5 | 0 | 10 | |
...
In_use – wykorzystanie,
Reserved – przestrzeń zarezerwowana przez trwające operacje (np. tworzenie wolumenu),
Limit – przydzielona quota; wartość -1 oznacza brak osobnego limitu dla danego typu.
Wynik polecenia zawiera również typy dysków, które nie są dostępne w Twoim projekcie. Dostępne typy można wyświetlić poleceniem openstack volume type list – wiersze dotyczące pozostałych typów można pominąć.
Nazwy typów dysków w panelu, w umowie i w quocie odnoszą się do siebie następująco:
Typ (umowa, Strefa Klienta) |
Typ wolumenu w panelu |
Quota przestrzeni |
|---|---|---|
Standard (2.000 IOPS) |
|
|
Fast (8.000 IOPS) |
|
|
Ultra (15.000 IOPS) |
|
|
Rapid (25.000 IOPS) |
|
|
Jeżeli przekroczona zostanie zarówno quota łączna, jak i quota typu, komunikat wskazuje quotę łączną (gigabytes). Komunikat z nazwą typu (np. gigabytes_2000iops) pojawia się, gdy w quocie łącznej jest jeszcze miejsce, a wyczerpana jest quota danego typu.
KROK 2. ZNALEZIENIE ZASOBÓW, KTÓRE ZAJMUJĄ QUOTĘ
Do quoty przestrzeni dyskowej wliczają się wolumeny oraz kopie migawkowe wolumenów. Lista wolumenów z typami:
$ openstack volume list --long -c Name -c Status -c Size -c Type
+---------+-----------+------+----------+
| Name | Status | Size | Type |
+---------+-----------+------+----------+
| | in-use | 100 | 2000iops |
| | in-use | 50 | 8000iops |
| | available | 20 | 8000iops |
| | available | 10 | 8000iops |
| Volume1 | available | 10 | 2000iops |
+---------+-----------+------+----------+
Suma rozmiarów wolumenów wynosi 190 GB, a quota pokazuje wykorzystanie 290 GB. Brakujące 100 GB zajmuje kopia migawkowa wolumenu:
$ openstack volume snapshot list -c Name -c Status -c Size
+-----------------------------+-----------+------+
| Name | Status | Size |
+-----------------------------+-----------+------+
| snapshot for Snapshot próba | available | 100 |
+-----------------------------+-----------+------+
W panelu kopie migawkowe wolumenów widoczne są na ekranie Project -> Volumes -> Snapshots:
UWAGA – kopie migawkowe instancji
Kopia migawkowa instancji uruchomionej z wolumenu (akcja Create Snapshot na ekranie Project -> Compute -> Instances) tworzy dwa elementy:
obraz na ekranie Project -> Compute -> Images o rozmiarze 0 bytes (typ Snapshot),
kopię migawkową wolumenu systemowego na ekranie Project -> Volumes -> Snapshots o pełnym rozmiarze tego wolumenu (snapshot o nazwie
snapshot for <nazwa kopii>).
Kopia migawkowa wolumenu wlicza się do quoty, mimo że obraz pokazuje rozmiar 0. Usunięcie obrazu z ekranu Images nie usuwa kopii migawkowej wolumenu – należy ją usunąć osobno.
Do quoty wliczają się także wolumeny niepodłączone do żadnej instancji (status available), np. pozostałe po usunięciu instancji utworzonej z opcją Delete Volume on Instance Delete = NO.
KROK 3. ZWOLNIENIE LUB ZWIĘKSZENIE QUOTY
Problem można rozwiązać na jeden z poniższych sposobów:
Usunięcie niepotrzebnych kopii migawkowych – ekran Project -> Volumes -> Snapshots, akcja Delete Volume Snapshot lub polecenie
openstack volume snapshot delete <nazwa_lub_ID>. W powyższym przykładzie zwolni to 100 GB.Usunięcie niepotrzebnych wolumenów o statusie available – ekran Project -> Volumes -> Volumes, akcja Delete Volume lub polecenie
openstack volume delete <nazwa_lub_ID>. Wolumenu, z którego wykonano kopie migawkowe, nie można usunąć przed usunięciem tych kopii.Utworzenie mniejszego wolumenu – mieszczącego się w dostępnej quocie.
Zwiększenie limitu – zgłoś się do opiekuna handlowego w celu modyfikacji limitów przestrzeni dyskowej.
Usunięcie wolumenu lub kopii migawkowej jest nieodwracalne. Przed usunięciem upewnij się, że zasób nie zawiera potrzebnych danych.
Przekroczona quota vCPU lub RAM
Komunikat w panelu
W kreatorze tworzenia instancji (Project -> Compute -> Instances -> Launch Instance), w zakładce Flavor, flavory przekraczające dostępną quotę oznaczone są żółtym trójkątem przy kolumnie VCPUS lub RAM. Po najechaniu kursorem na ikonę wyświetlany jest komunikat, np.:
This flavor requires more RAM than your quota allows. Please select a smaller flavor or decrease the instance count.
Takiego flavora nie można wybrać.
Komunikat w CLI
$ openstack server create --flavor m24.c2 ...
Quota exceeded for ram: Requested 24576, but already used 12288 of 32768 ram (HTTP 403)
$ openstack server create --flavor m32.c16 ...
Quota exceeded for cores, ram: Requested 16, 32768, but already used 4, 12288 of 12, 32768 cores, ram (HTTP 403)
Komunikat wskazuje, której quoty dotyczy (cores – vCPU, ram – pamięć RAM w MB), ile zasobów wymaga instancja, ile jest wykorzystanych i jaki jest limit.
Rozwiązanie
wybierz mniejszy flavor,
zmniejsz flavor innej instancji (Resize Instance),
usuń nieużywaną instancję lub przełącz ją w stan SHELVED – instancja w stanie Shut Off nadal zajmuje quotę vCPU i RAM,
zgłoś się do opiekuna handlowego w celu modyfikacji limitów vCPU lub RAM.
Przekroczona quota adresów IP
Komunikat w panelu
Na ekranie Project -> Network -> Floating IPs przycisk przydzielenia adresu jest nieaktywny i ma opis ALLOCATE IP TO PROJECT (QUOTA EXCEEDED).
Komunikat w CLI
$ openstack floating ip create EXTERNAL
Error while executing command: ConflictException: 409, Quota exceeded for resources: ['floatingip'].
Rozwiązanie
zwolnij adres, który nie jest przypisany do żadnej instancji (kolumna Mapped Fixed IP Address jest pusta) – akcja Release Floating IP lub polecenie
openstack floating ip delete <adres_IP>. Zwolnionego adresu nie można odzyskać,zgłoś się do opiekuna handlowego w celu modyfikacji limitu adresów IP.
Przekroczona quota load balancerów
Komunikat w CLI
$ openstack loadbalancer create --vip-subnet-id <ID_podsieci> --name lb-www
Quota has been met for resources: Load Balancer (HTTP 403)
Limit load balancerów można sprawdzić poleceniem:
openstack loadbalancer quota show <project_id>
Wartość 0 w polu load_balancer oznacza, że w usłudze nie ma przydzielonych load balancerów. W celu modyfikacji limitu zgłoś się do opiekuna handlowego.
Pozostałe quoty
Pozostałe quoty (liczba wolumenów, kopii migawkowych, grup zabezpieczeń i reguł, sieci, routerów, portów) sprawdza się w ten sam sposób – na ekranie Overview lub poleceniami openstack limits show --absolute i openstack quota show. Komunikaty błędów mają postać zbliżoną do powyższych, np.:
Komunikat (przykład) |
Czego dotyczy |
|---|---|
|
liczba kopii migawkowych wolumenów |
|
liczba wolumenów |
|
liczba grup zabezpieczeń |
|
liczba reguł w grupach zabezpieczeń |
|
liczba instancji |
W celu modyfikacji tych quot zgłoś się do opiekuna handlowego. Podaj nazwę projektu, nazwę quoty, aktualną i oczekiwaną wartość.




