Ceph: a jornada rumo a 1 TiB/s
(ceph.io)Ceph: a jornada rumo a 1TiB/s
- Um artigo sobre a jornada de melhoria de desempenho de um cluster Ceph, contando como, após um longo processo de depuração e otimização de performance, foi alcançada uma taxa de processamento de dados de 1TiB/s.
- Compartilha vários problemas técnicos e suas soluções que surgiram enquanto a empresa Clyso ajudava a construir um cluster Ceph de 10 petabytes baseado em NVMe.
- A rede do cliente é extremamente rápida, sendo uma das configurações Ethernet mais velozes disponíveis.
Agradecimentos
- Agradece ao cliente da Clyso, cuja colaboração tornou possível compartilhar essa experiência com a comunidade Ceph.
- Também agradece à IBM/Red Hat e à Samsung por fornecerem o hardware usado nos testes comparativos.
- Estende agradecimentos aos contribuidores do Ceph por seus esforços em tornar o Ceph um excelente software.
Configuração do cluster
- O cliente propôs 34 nós 2U de soquete duplo distribuídos em 17 racks, mas a Clyso sugeriu várias configurações usando nós menores.
- No fim, a arquitetura da Dell foi escolhida para reduzir custos e oferecer maior largura de banda de memória, mais recursos de CPU e maior throughput de rede.
- Isso também reduziu pela metade o impacto da recuperação do cluster em caso de falha de um nó.
Configuração de testes
- Um cluster Ceph temporário foi implantado com CBT, e foram executados testes com FIO.
- Foram usados testes de FIO baseados em biblioteca para dividir o cluster em unidades menores e comparar com resultados anteriores.
- Foram testadas replicação 3X e codificação de apagamento 6+2, além da versão 2 de mensagens nos modos criptografado e seguro.
Atenção à quantidade de PGs
- Foi testado experimentalmente o impacto da quantidade de PGs no desempenho.
- Uma quantidade alta de PGs pode ter efeito positivo na performance, mas em produção isso deve ser considerado junto com outras configurações.
O que tornou o começo difícil
- Após o primeiro login no hardware, houve dificuldade para resolver os problemas devido ao desempenho abaixo do esperado.
- Os testes iniciais de performance foram bons, mas houve degradação ao testar com vários OSDs.
Comportamento estranho
- Ao executar várias combinações de testes com OSDs, foi descoberto um padrão anormal de desempenho.
- Observou-se que, após testes com múltiplos OSDs, o sistema perdia desempenho e só se recuperava algumas horas depois.
Três soluções
- O problema de latência causado pela transição de CPU c-state foi resolvido, melhorando ligeiramente a performance.
- Desativar o IOMMU trouxe uma grande melhora de desempenho.
- Um problema nas flags de compilação do RocksDB foi corrigido, dobrando a performance de escrita aleatória 4K.
A primeira semana de 2024
- No primeiro dia do ano, uma grande falha em outro cluster impediu foco total nos testes de performance.
- Na sexta-feira, os testes foram retomados e confirmou-se que o cluster funcionava bem mesmo sob alta carga.
O sorriso do destino
- Com a melhora dos resultados, confirmou-se que o cluster escalava de forma linear.
- Em um cluster com 63 nós, foi alcançada uma taxa de processamento de dados de 635GiB/s.
Uma Estrela da Morte parcialmente funcional
- Como faltavam nós de cliente, foi necessário compartilhar os nós OSD com os processos do FIO.
- Mesmo nessa configuração, foi alcançado desempenho próximo de 950GiB/s.
Alcançando 1TiB/s
- Ajustando a quantidade de shards de OSD e o número de threads do messenger, foi alcançada uma taxa de processamento de dados de 1TiB/s.
Dormir; codificação de apagamento
- Após testar com replicação 3X, o cluster foi reconfigurado e testado com a codificação de apagamento 6+2 que o cliente usaria.
- A performance de leitura ultrapassou 500GiB/s, e a de escrita chegou a quase 400GiB/s.
Opinião do GN⁺:
- Este artigo descreve em detalhes o processo de otimização de desempenho de um cluster Ceph e oferece insights técnicos ao mostrar um caso real de obtenção de alta performance por meio de uma resolução de problemas complexa.
- Mostra como a colaboração com o cliente, o esforço dos contribuidores da comunidade e várias estratégias de otimização de hardware e software podem gerar grandes resultados no mundo real.
- O texto oferece informações úteis não só para especialistas que trabalham com sistemas de armazenamento de dados em larga escala, mas também para profissionais interessados em otimização de desempenho.
1 comentários
Comentários no Hacker News