PowerFlex: OpenStack: Невідповідність розміру об'єму, коли image_volume_cache_enabled відповідає True
Summary: Наступні два симптоми спостерігаються при використанні опції «image_volume_cache_enabled» у середовищі OpenStack/RHOSP (Red Hat OpenStack Platform). Симптом 1: Вперше при створенні завантажувального тома з зображення з погляду, розмір створеного тома завжди становив 8 ГБ на стороні OpenStack. Симптом 2: Під час другого і пізніше створення завантажувальних томів із кешу томів зображень розмір не округлявся до 8 ГБ на стороні OpenStack. ...
Symptoms
Наступні два симптоми спостерігаються при використанні опції «image_volume_cache_enabled» у середовищі OpenStack/RHOSP (Red Hat OpenStack Platform).
Симптом 1:
При першому створенні завантажувального тома з одного погляду розмір об'єму на стороні OpenStack завжди стає 8 ГБ.
Симптом 2:
Під час другого створення завантажувальних томів із кешу зображень і томів розмір томів не округлявся до 8 ГБ на стороні OpenStack.
У OpenStack/RHOSP з бекенд-сховищем PowerFlex Cinder
Опція "image_volume_cache_enabled = True" задається в cinder.conf, і створюються завантажувальні томи.
Симптом 1:
Наприклад, коли спочатку було запитано створення завантажувального тома обсягом 33 ГБ, і OpenStack, і PowerFlex очікували мати однаковий обсяг 40 ГБ. Однак об'єм 8 ГБ був створений на стороні 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==
Симптом 2:
Наприклад, коли запитується створення завантажувального тома об'ємом 50 ГБ при увімкненому кеші об'єму-образу, і OpenStack, і PowerFlex очікують однаковий обсяг 56 ГБ. Однак обсяг 50 ГБ був створений на стороні OpenStack.
$ 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".
Вплив
Не можу правильно керувати об'ємом бекенду та розміром обсягу з боку OpenStack.
Cause
Симптом 1:
Це не проблема драйвера Cinder, а внутрішній механізм OpenStack Cinder. Проблема в тому, що Cinder не очікує, що сховище поверне диски іншого розміру, ніж той, який вказаний користувачем.
Щоб вирішити проблему, виправте файл Cinder Cinder/volume/flows/manager/create_volume.py . Він повинен враховувати можливе округлення за допомогою шлакодрайвера або бекенд-сховища та коригувати відповідні тестові набори.
Відстеження проблем #1915015 було відкрито для спільноти OpenStack Cinder, щоб вирішити цю проблему. пор. Помилка #1915015 "Об'єм PowerFlex має недійсний розмір після створення f...": Помилок: Пресованої
Симптом 2:
Це проблема з драйвером Cinder і функцією create_volume_from_snapshot. У create_cloned_volume/extend_volume така сама проблема.
Є опція виправити це в драйвері Cinder, повернувши реальний розмір гучності, але таким чином не пройшов тестові цикли Tempest через іншу проблему на стороні Tempest.
Поки що проблему з Tempest потрібно спочатку виправити, щоб реалізувати виправлення в драйвері Cinder.
Відстеження проблем #1917299 було відкрито для спільноти OpenStack Tempest, щоб вирішити цю проблему. пор. Помилка #1917299 "Потрібна конфігурація розміру блоку для створення томів": Комахи : буря
Примітка: Це не пов'язано з симптомом 1. Теоретично користувачі стикаються з цією проблемою навіть без опції image_volume_cache_enabled, але коли викликаються вищезазначені функції.
Resolution
Це не проблема PowerFlex. Зв'яжіться з постачальником OpenStack, поділіться цією статтею Dell і згадайте номери відстеження проблем.
Additional Information
Впливові версії:
Все
виправлено у версії:
Ще визначено, приблизного часу до вирішення немає.
Посилання:
Кеш об'єму зображень Cinder:
Це опціональний параметр, реалізований у компоненті Cinder для суттєвого покращення продуктивності створення тома з кешу зображень за допомогою функції snapshot бекенд-сховища. Див. документ OpenStack: https://docs.openstack.org/cinder/latest/admin/blockstorage-image-volume-cache.html
Tempest:
OpenStack Integration Test Suite використовується не лише для регресійного тестування, а й для кваліфікації. Див. документ OpenStack: https://docs.openstack.org/tempest/latest/overview.html
Коли була написана ця стаття:
- Симптом 1: Немає обхідного шляху з опцією image_volume_cache_enabled при увімкненому режимі
- Симптом 2: Єдиний можливий обхідний шлях — завжди вказувати розмір тому, кратний 8 ГБ.