PowerFlex: OpenStack: Disparidade de tamanhos de volume quando a função image_volume_cache_enabled é True

Summary: Os dois sintomas a seguir são observados quando a opção "image_volume_cache_enabled" é usada em um ambiente OpenStack/RHOSP (Red Hat OpenStack Platform). Sintoma 1: Pela primeira vez em que um volume inicializável é criado a partir de uma imagem de relance, o tamanho do volume criado sempre passou a ser 8 GB no lado do OpenStack. Sintoma 2: Na segunda vez e posteriormente das criações de volume inicializável a partir do cache de volume de imagem, o tamanho dos volumes criados não foi arredondado para 8 GB no lado do OpenStack. ...

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

Os dois sintomas a seguir são observados quando a opção "image_volume_cache_enabled" é usada em um ambiente OpenStack/RHOSP (Red Hat OpenStack Platform).

Sintoma 1: 
Na primeira vez em que um volume inicializável é criado de uma imagem de resumo, o tamanho do volume criado sempre se torna 8 GB no lado do OpenStack.

Sintoma 2: 
Na segunda vez em que criações de volume inicializáveis a partir do cache de volume de imagem, o tamanho dos volumes criados não foi arredondado para 8 GB no lado do OpenStack.
 

No OpenStack/RHOSP com o armazenamento de back-end do PowerFlex Cinder

A opção "image_volume_cache_enabled = True" é especificada em cinder.conf, e volumes inicializáveis são criados.

Sintoma 1: 
Por exemplo, quando uma criação de volume inicializável de 33 GB foi inicialmente solicitada, o OpenStack e o PowerFlex esperaram ter o mesmo tamanho de volume de 40 GB. No entanto, o volume de 8 GB foi criado no lado do 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==


 

Sintoma 2:  
Por exemplo, quando uma criação de volume inicializável de 50 GB foi solicitada enquanto o cache de imagem de volume estava ativado, o OpenStack e o PowerFlex esperaram ter o mesmo tamanho de volume de 56 GB. No entanto, o volume de 50 GB foi criado no lado do 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".


 

Impacto

Não é possível gerenciar corretamente a capacidade de armazenamento de back-end e o tamanho do volume no lado do OpenStack.

Cause

Sintoma 1: 
Esse não é um problema de driver do Cinder, mas um mecanismo interno do OpenStack Cinder. O problema é que o Cinder não espera que o armazenamento retorne um tamanho de discos diferente do especificado por um usuário. 

Para resolver esse problema, corrija o arquivo cinder/volume/flows/manager/create_volume.py do Cinder. Ele deve estar ciente de possíveis arredondamentos por driver de concreto ou armazenamento de back-end e corrigir conjuntos de teste correspondentes.

O controle de problemas #1915015 foi aberto para a comunidade do OpenStack Cinder resolver o problema. Cf. Bug #1915015 "O volume do PowerFlex tem tamanho inválido após a criação f...": Bugs: Cinzas 


Sintoma 2: 
Esse é um problema do driver do Cinder com a função create_volume_from_snapshot. O create_cloned_volume/extend_volume tem o mesmo problema.

Há uma opção para corrigi-lo no driver do Cinder retornando um tamanho de volume real, mas dessa forma não poderia passar nos ciclos de teste do Tempest devido a outro problema no lado do Tempest.

Por enquanto, o problema do Tempest deve ser corrigido primeiro para implementar uma correção no driver do Cinder.

O controle de problemas #1917299 foi aberto para a comunidade OpenStack Tempest resolver o problema. Cf. Bug #1917299 "Need chunk size configuration for volume creation": Bugs : tempest 

Nota: Isso não está relacionado ao sintoma 1. Teoricamente, os usuários enfrentam esse problema mesmo sem a opção image_volume_cache_enabled, mas quando as funções acima são invocadas.

Resolution

Não se trata de um problema do PowerFlex. Entre em contato com o fornecedor do OpenStack, compartilhe este artigo da Dell e mencione os números de rastreamento de problemas.

Additional Information

Versões afetadas: 
Todas

Correção feita na versão: 
A ser determinado; sem estimativa de tempo de resolução.

Referências: 
Cache de volume de imagem do Cinder: 
Esse é um parâmetro opcional implementado no componente Cinder para melhorar substancialmente o desempenho da criação de um volume a partir de um cache de imagem usando o recurso de snapshot do armazenamento de back-end. Consulte o documento do OpenStack: https://docs.openstack.org/cinder/latest/admin/blockstorage-image-volume-cache.html

Tempest: 
A suíte de testes de integração do OpenStack é usada para testes de regressão e também para testes de qualificação. Consulte o documento do OpenStack: https://docs.openstack.org/tempest/latest/overview.html

Quando este artigo foi escrito: 

  • Sintoma 1: Não há solução temporária com a opção image_volume_cache_enabled quando ativada
  • Sintoma 2: A única solução temporária possível é sempre especificar um tamanho de volume múltiplo de 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.