Upnetix Labs · protocolo de experimento
Protocolo: Qual o impacto do tipo de backend de armazenamento no throughput de volumes Cinder em uma nuvem OpenStack?
Este protocolo avalia como diferentes backends de armazenamento afetam o throughput de volumes Cinder em operações de leitura e escrita sequenciais. A pessoa vai medir o desempenho usando fio em volumes provisionados via Cinder.

Como o tipo de backend de armazenamento influencia o throughput de volumes Cinder em operações sequenciais?
Hipótese
Volumes Cinder provisionados em backends baseados em Ceph apresentarão throughput superior em operações sequenciais comparados a backends LVM locais, sob carga idêntica.
Variáveis
| Independentes (o que varia) | Tipo de backend de armazenamento (Ceph RBD, LVM local) |
|---|---|
| Dependentes (o que se mede) | Throughput de leitura sequencial (MB/s); Throughput de escrita sequencial (MB/s) |
| Controladas (o que fica fixo) | Tamanho do volume (10 GiB); Tamanho do bloco de IO (1 MiB); Quantidade de jobs (4); Sistema operacional da VM (Ubuntu 22.04); Configuração de hardware da VM (2 vCPU, 4 GiB RAM); Rede entre compute e storage |
Ambiente
Cluster OpenStack com Cinder configurado para dois backends: Ceph RBD e LVM local. VM de teste criada via Nova, com volume Cinder anexado. Ferramenta de benchmark: fio (https://github.com/axboe/fio).
Procedimento
- Preparar ambiente
Garanta que ambos os backends (Ceph RBD e LVM local) estejam configurados e disponíveis no Cinder.
- Criar VM de teste
Provisione uma VM padrão via Nova, sem volume root em Cinder.
openstack server create --flavor ... --image ... --nic ... test-vm - Anexar volume Cinder
Crie e anexe um volume de 10 GiB via Cinder, especificando o backend desejado.
openstack volume create --size 10 --type <backend_type> test-vol - Instalar fio
Instale fio na VM de teste.
sudo apt-get update && sudo apt-get install -y fio - Executar teste de leitura sequencial
Execute fio para leitura sequencial com bloco de 1 MiB e 4 jobs.
fio --filename=/dev/vdb --direct=1 --rw=read --bs=1M --numjobs=4 --size=10G --runtime=60 --group_reporting --name=seqread - Executar teste de escrita sequencial
Execute fio para escrita sequencial com bloco de 1 MiB e 4 jobs.
fio --filename=/dev/vdb --direct=1 --rw=write --bs=1M --numjobs=4 --size=10G --runtime=60 --group_reporting --name=seqwrite - Repetir para ambos backends
Repita os testes para cada backend (Ceph RBD e LVM local), sempre em volumes novos.
- Repetir experimentos
Execute cada teste 5 vezes para cada backend.
Planilha de coleta
| backend (texto) | tipo_operacao (texto) | throughput_mb_s (MB/s) | execucao (número inteiro) |
|---|---|---|---|
| EXEMPLO: ceph_rbd, leitura, 320, 1 | |||
Repetições recomendadas: 5. Baixe a planilha vazia em CSV: colunas prontas.
Análise
Calcule a média, desvio padrão e mediana do throughput para cada backend e operação. Compare os valores entre backends. Analise se a diferença é consistente entre execuções. Interprete se a diferença observada é operacionalmente relevante.
Critérios de decisão
- A diferença de throughput entre backends deve ser superior a 10% para ser considerada significativa.
- Resultados devem apresentar variação (desvio padrão) inferior a 10% entre execuções para serem considerados estáveis.
Fontes de erro e mitigação
- Ruído de rede: execute testes em horários de menor uso.
- Cache do sistema operacional: use --direct=1 no fio para acesso direto ao disco.
- Interferência de outras cargas: isole a VM de teste e os hosts envolvidos durante o experimento.
Referências
- fonte oficial · OpenInfra Foundation (OpenStack) (docs.openstack.org)
- fonte oficial · OpenInfra Foundation (OpenStack) (docs.openstack.org)
- Publicado
- 09/09/2026
- Última revisão
- 09/09/2026
- Versão do conteúdo
- 1.0
- Referências
- 2 oficiais
- Revisão técnica
- redação e revisão por IA, URLs conferidas na publicação
- Status
- Atual
