PowerFlex:OpenStack:當 image_volume_cache_enabled 為「True」時,磁碟區大小不符

Summary: 在 OpenStack/RHOSP (Red Hat OpenStack 平台) 環境中使用「image_volume_cache_enabled」選項時,會觀察到下列兩個症狀。 症狀 1:第一次從 Glance 映像建立可開機磁碟區時,所建立的磁片區大小在 OpenStack 端一律會變成 8 GB。 症狀 2:在第二次(也是較晚的時間)從映射卷緩存創建可引導卷時,OpenStack 端創建的卷的大小並未四捨五入到 8 GB。 ...

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

在 OpenStack/RHOSP (Red Hat OpenStack 平台) 環境中使用「image_volume_cache_enabled」選項時,會觀察到下列兩個症狀。

症狀 1:
第一次從 Glance 映像建立可開機磁碟區時,所建立的磁片區大小在 OpenStack 端一律會變成 8 GB。

症狀 2:
第二次從映像磁碟區快取建立可開機磁碟區時,OpenStack 端所建立的磁碟區大小並未四捨五入至 8 GB。
 

在 OpenStack/RHOSP 中搭配 PowerFlex Cinder 後端儲存裝置

在 cinder.conf 中指定了選項「image_volume_cache_enabled = True」,並建立了可開機磁碟區。

症狀 1:
例如,當初使要求建立 33 GB 的可開機磁碟區時,OpenStack 和 PowerFlex 都預期會具有相同的 40 GB 大小磁碟區。但是,在 OpenStack 端卻建立了 8 GB 的磁碟區。

$ 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 GB 的可開機磁碟區時,OpenStack 和 PowerFlex 都預期會具有相同的 56 GB 大小磁碟區。但是,在 OpenStack 端卻建立了 50 GB 的磁碟區。

$ 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 檔案。它必須知道煤渣驅動程式或後端存儲可能進行四捨五入,並更正相應的測試套件。

OpenStack Cinder 社群已開放問題追蹤 #1915015 以解決此問題。參見 錯誤 #1915015 「PowerFlex 磁碟區在建立後大小無效...」:錯誤:煤渣 


症狀 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 元件中實作的選用參數,可透過使用後端儲存裝置的快照功能,大幅改善從映像快取建立磁碟區的效能。請參閱 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 GB 的倍數。

Affected Products

OpenStack Data Protection Extension, PowerFlex Software
Article Properties
Article Number: 000188623
Article Type: Solution
Last Modified: 12 Nov 2025
Version:  3
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.