PowerFlex: OpenStack: Neshoda velikosti svazku, když je image_volume_cache_enabled True
Summary: Při použití možnosti "image_volume_cache_enabled" v prostředí OpenStack/RHOSP (Red Hat OpenStack Platform) dochází k následujícím dvěma příznakům. Příznak 1: Při prvním vytvoření spouštěcího svazku z obrázku v rychlém sledu byla velikost vytvořeného svazku na straně OpenStacku vždy 8 GB. Příznak 2: Při druhém a pozdějším vytváření spouštěcích svazků z mezipaměti bitových kopií nebyla velikost vytvořených svazků v OpenStacku zaokrouhlena na 8 GB. ...
Symptoms
Při použití možnosti "image_volume_cache_enabled" v prostředí OpenStack/RHOSP (Red Hat OpenStack Platform) dochází k následujícím dvěma příznakům.
Příznak 1:
Při prvním vytvoření spouštěcího svazku z obrázku ve stručném přehledu je velikost vytvořeného svazku na straně OpenStack vždy 8 GB.
Příznak 2:
Podruhé při vytváření bootovatelných svazků z mezipaměti bitových kopií nebyla velikost vytvořených svazků na straně OpenStacku zaokrouhlena na 8 GB.
V OpenStack/RHOSP s backendovým úložištěm PowerFlex Cinder
V souboru cinder.conf je zadána možnost "image_volume_cache_enabled = True" a jsou vytvořeny zaváděcí svazky.
Příznak 1:
Například při počátečním požadavku na vytvoření spouštěcího svazku o velikosti 33 GB platformy OpenStack i PowerFlex očekávaly, že budou mít stejný svazek o velikosti 40 GB. Svazek o velikosti 8 GB byl však vytvořen na straně OpenStack.
$ openstack volume list --long
$
$ openstack volume create --image cirros --type sio --size 33 33gb-1
$ openstack volume list --long
+--------------------------------------+--------------------------------------------+-------
| ID | Name | Status | Size | Type | Bootable | Attached to | Properties |
+--------------------------------------+--------------------------------------------+-------
| fed72292-fd84-4b33-bf63-063f1bfb9f75 | 33gb-1 | available | 8 | sio | true | | | <<< 40 was expected but is 8.
| 364b78a7-0714-4b70-be16-8ec139564cb0 | image-b7d6350e-f835-4310-a5f4-6b6535ce86c4 | available | 8 | sio | false | | readonly='True' | <<< This is the volume-image cache (snapshot).
+--------------------------------------+--------------------------------------------+-------
# scli --query_all_volumes
Volume ID: b582f85000000000 Name: mUnBlKjqSfur1KQillkMEw== Size: 40.0 GB (40960 MB) Not mapped Thin-provisioned <<< This is the corespoinding volume to "33gb-1".
Volume ID: b582f85100000001 Name: aWB3fINbQ7GV4BMlUXsOPQ== Size: 8.0 GB (8192 MB) Not mapped Snapshot of mUnBlKjqSfur1KQillkMEw==
Příznak 2:
Například když je požadováno vytvoření 50GB spouštěcího svazku a povolena mezipaměť bitové kopie svazku, OpenStack i PowerFlex očekávají, že budou mít stejný svazek o velikosti 56 GB. Svazek o velikosti 50 GB byl ale vytvořen na straně OpenStacku.
$ openstack volume create --image cirros --type sio --size 50 50gb-1
$ openstack volume list --long
+--------------------------------------+--------------------------------------------+-------
| ID | Name | Status | Size | Type | Bootable | Attached to | Properties |
+--------------------------------------+--------------------------------------------+-------
| 1f0a279f-9c3d-42a2-ba9c-f31fa160c92c | 50gb-1 | available | 50 | sio | true | | | <<< 56 was expected but is 50.
| fed72292-fd84-4b33-bf63-063f1bfb9f75 | 33gb-1 | available | 8 | sio | true | | |
| 364b78a7-0714-4b70-be16-8ec139564cb0 | image-b7d6350e-f835-4310-a5f4-6b6535ce86c4 | available | 8 | sio | false | | readonly='True' |
+--------------------------------------+--------------------------------------------+-------
# scli --query_all_volumes
Volume ID: b582f85000000000 Name: mUnBlKjqSfur1KQillkMEw== Size: 40.0 GB (40960 MB) Not mapped Thin-provisioned
Volume ID: b582f85100000001 Name: aWB3fINbQ7GV4BMlUXsOPQ== Size: 8.0 GB (8192 MB) Not mapped Snapshot of mUnBlKjqSfur1KQillkMEw==
Volume ID: b582f85200000002 Name: cYLfBQJFRHKUjNjEtQpyAw== Size: 56.0 GB (57344 MB) Not mapped Snapshot of aWB3fINbQ7GV4BMlUXsOPQ== <<< This is the corresponding volume to "50gb-1".
Důsledky
Nelze správně spravovat kapacitu backendového úložiště a velikost svazku ze strany OpenStack.
Cause
Příznak 1:
Nejedná se o problém s ovladačem Cinder, ale o interní mechanismus OpenStack Cinder. Problém je v tom, že Cinder neočekává, že úložiště vrátí jinou velikost disků, než jakou uživatel určí.
Chcete-li to vyřešit, opravte soubor Cinder cinder/volume/flows/manager/create_volume.py . Musí si být vědom možného zaokrouhlování ovladačem cinder nebo backendovým úložištěm a opravit odpovídající testovací sady.
Issue tracking #1915015 byl otevřen pro komunitu OpenStack Cinder, aby problém vyřešila. srov. Bug #1915015 "PowerFlex volume has invalid size after creation f...": Chyby: Oharek
Příznak 2:
Jedná se o problém ovladače Cinder s funkcí create_volume_from_snapshot. Stejný problém má extend_volume create_cloned_volume /.
Existuje možnost opravit to v ovladači Cinder vrácením skutečné velikosti svazku, ale tímto způsobem nemohl projít testovacími cykly Tempest kvůli jinému problému na straně Tempest.
Prozatím musí být problém s Tempest nejprve opraven, aby bylo možné implementovat opravu v ovladači Cinder.
Issue tracking #1917299 byl otevřen pro komunitu OpenStack Tempest, aby se problém vyřešil. srov. Bug #1917299 "Need chunk size configuration for volume creation (Potřeba konfigurace velikosti bloku pro vytvoření svazku)": Chyby : bouře
Poznámka: To nesouvisí s příznakem 1. Uživatelé se teoreticky setkávají s tímto problémem i bez možnosti image_volume_cache_enabled , ale při volání výše uvedených funkcí.
Resolution
Nejedná se o problém se systémem PowerFlex. Obraťte se na dodavatele OpenStack, sdílejte tento článek Dell a uveďte čísla pro sledování problému.
Additional Information
Dotčené verze:
Vše
opraveno ve verzi:
Nebude stanoveno, žádná předpokládaná doba do vyřešení.
Odkazy:
Mezipaměť svazku Cinder Image-Volume:
Jedná se o volitelný parametr implementovaný v komponentě Cinder, který výrazně zlepšuje výkon vytváření svazku z mezipaměti obrázků pomocí funkce snímku back-endového úložiště. Viz dokument OpenStack: https://docs.openstack.org/cinder/latest/admin/blockstorage-image-volume-cache.html
Tempest:
OpenStack Integration Test Suite se nepoužívá pouze pro regresní testování, ale také pro kvalifikaci. Viz dokument OpenStack: https://docs.openstack.org/tempest/latest/overview.html
Kdy byl tento článek napsán:
- Příznak 1: Je-li povolena možnost image_volume_cache_enabled, není k dispozici žádné alternativní řešení
- Příznak 2: Jediným možným alternativním řešením je vždy zadat násobek velikosti svazku 8 GB.