PowerFlex: OpenStack: Volumstørrelsen samsvarer ikke når image_volume_cache_enabled er Sann
Summary: Følgende to symptomer oppstår når alternativet "image_volume_cache_enabled" brukes i et OpenStack/RHOSP-miljø (Red Hat OpenStack Platform). Symptom 1: For første gang med oppstartbar volumopprettelse fra et øyeblikksbilde, ble den opprettede volumstørrelsen alltid 8 GB på OpenStack-siden. Symptom 2: Ved andre tidspunkt og senere av oppstartbare volumkreasjoner fra bildevolumbufferen, ble ikke størrelsen på opprettede volumer avrundet til 8 GB på OpenStack-siden. ...
Symptoms
Følgende to symptomer oppstår når alternativet "image_volume_cache_enabled" brukes i et OpenStack/RHOSP-miljø (Red Hat OpenStack Platform).
Symptom 1:
Første gang et oppstartbart volum fra et øyeblikksbilde opprettes, blir den opprettede volumstørrelsen alltid 8 GB på OpenStack-siden.
Symptom 2:
Den andre gangen oppstartbare volumopprettelser opprettes fra bildevolumbuffer, ble størrelsen på opprettede volumer ikke avrundet til 8 GB på OpenStack-siden.
I OpenStack/RHOSP med PowerFlex Cinder backend-lagring
Alternativet "image_volume_cache_enabled = True" er spesifisert i cinder.conf, og oppstartbare volumer opprettes.
Symptom 1:
Eksempel, når det opprinnelig ble bedt om å opprette et oppstartbart volum på 33 GB, forventet både OpenStack og PowerFlex å ha samme volum på 40 GB. Imidlertid ble 8 GB-volumet opprettet på OpenStack-siden.
$ 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==
Symptom 2:
For eksempel, når det blir bedt om å opprette et 50 GB oppstartbart volum mens en volum-bildebuffer er aktivert, forventer både OpenStack og PowerFlex å ha det samme volumet på 56 GB. Imidlertid ble 50 GB-volumet opprettet på OpenStack-siden.
$ 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".
Innvirkning
Kan ikke administrere backend-lagringskapasitet og volumstørrelse riktig fra OpenStack-siden.
Cause
Symptom 1:
Dette er ikke et Cinder-driverproblem, men en intern OpenStack Cnder-mekanisme. Problemet er at Cinder ikke forventer at lagring skal returnere en annen størrelse på disker enn det en bruker spesifiserer.
For å løse det, fiks filen Cinder cinder/volume/flows/manager/create_volume.py . Den må være oppmerksom på mulig avrunding med knivdriver eller backendlagring og korrigere tilsvarende testsuiter.
Problemsporing #1915015 ble åpnet for OpenStack Cinder-fellesskapet for å løse problemet. Jf. feil #1915015 "PowerFlex-volumet har ugyldig størrelse etter oppretting f...": Feil: Slagg
Symptom 2:
Dette er et problem med Cinder-driveren for create_volume_from_snapshot-funksjonen. create_cloned_volume/extend_volume har samme problem.
Det er et alternativ å fikse det i Cinder-driveren ved å returnere en reell volumstørrelse, men på den måten kunne ikke passere Tempest-testsyklusene på grunn av et annet problem på Tempest-siden.
Foreløpig må Tempest-problemet løses først for å implementere en løsning i Cinder-driveren.
Problemsporing #1917299 ble åpnet for OpenStack Tempest-fellesskapet for å løse problemet. Jf. Bug #1917299 "Need chunk size configuration for volume creation": Bugs : storm
Notat: Dette er ikke relatert til symptom 1. Brukere opplever teoretisk dette problemet selv uten det image_volume_cache_enabled alternativet, men når funksjonene ovenfor kalles.
Resolution
Dette er ikke et problem med PowerFlex. Kontakt OpenStack-leverandøren, og del denne Dell-artikkelen og nevn sporingsnumrene for problemet.
Additional Information
Berørte versjoner:
Alt
løst i versjon:
For å bli bestemt, ingen estimert tid til løsning.
Referanser:
Cinder Image-Volume cache:
Dette er en valgfri parameter som implementeres i Cinder-komponenten for å dramatisk forbedre ytelsen ved å opprette et volum fra en bildebuffer ved hjelp av øyeblikksbildefunksjonen for serverdellagring. Se OpenStack-dokument: https://docs.openstack.org/cinder/latest/admin/blockstorage-image-volume-cache.html
Tempest:
OpenStack Integration Test Suite brukes ikke bare til regresjonstesting, men også til kvalifisering. Se OpenStack-dokument: https://docs.openstack.org/tempest/latest/overview.html
Da denne artikkelen ble skrevet:
- Symptom 1: Ingen løsning med alternativet image_volume_cache_enabled når det er aktivert
- Symptom 2: Den eneste mulige løsningen er alltid å angi en volumstørrelse på flere 8 GB.