PowerFlex:OpenStack:image_volume_cache_enabledがTrueの場合のボリューム サイズの不一致

Summary: OpenStack/RHOSP (Red Hat OpenStack Platform)環境でオプション「image_volume_cache_enabled」を使用すると、次の2つの現象が発生します。 現象1:Glanceイメージからブータブル ボリュームを作成するのは初めてですが、作成されたボリューム サイズは常にOpenStack側で8 GBになりました。 現象2: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 Platform)環境でオプション「image_volume_cache_enabled」を使用すると、次の2つの現象が発生します。

現象1:
概要イメージからブータブル ボリュームを初めて作成すると、作成されたボリューム サイズは常にOpenStack側で8 GBになります。

現象2:
イメージボリューム キャッシュからのブータブル ボリュームの作成の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を修正します。cinderドライバーまたはバックエンド ストレージによる丸めの可能性を認識し、対応するテスト スイートを修正する必要があります

問題追跡 #1915015 は、OpenStack Cinder コミュニティーが問題に対処するために開設されました。cf. バグ#1915015「PowerFlexボリュームは、作成後に無効なサイズを持っています...」: バグ:燃え殻 


現象2:
これは、create_volume_from_snapshot関数に関連した、Cinderドライバーの問題です。create_cloned_volume/extend_volumeにも同じ問題があります

実際のボリューム サイズを返すことによってCinderドライバーで修正するオプションがありますが、その方法では、Tempest側の別の問題により、Tempestテスト サイクルに合格できませんでした

現時点では、Cinderドライバーで修正を実装するために、まずTempestの問題を修正する必要があります。

問題追跡 #1917299 は、OpenStack Tempest コミュニティーが問題に対処するために開設されました。cf. バグ #1917299 「ボリューム作成にはチャンクサイズの設定が必要です」: バグ : tempest 

手記:これは現象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.