O bcache e / ou o dm-cache são considerados estáveis para produção em 2016?

1

Eu gostaria de usar o cache linux SSD (dm-cache ou bcache) com servidores de produção Debian Jessie. (kernel 3.16)

Minha pergunta: Os módulos dm-cache e bcache são confiáveis no linux 3.16? Preciso atualizar meu kernel para uma versão mais recente?

Também encontrei esta mensagem preocupante sobre o bcache: link

Note que entendo totalmente o que implica escolhas de modo de cache (write-back / write-through) em termos de confiabilidade e perda de dados, minha pergunta é mais sobre bug de software nesses módulos

Fevereiro de 2018, após mais de 1 ano de bcache em um servidor de integração contínua (exemplo de Jenkins executando muitos trabalhos intensivos!)

Configuração do servidor (essencialmente pilha de armazenamento)

Hardware:

  • 2 x SSD de 480 GB (MLC de nível empresarial Samsung SM863)
  • 2 x 4 TB HDD (Seagate Constellation ES.3 SATA)
  • Dell R730 - Dual Xeon E52670 - 128 GB de RAM
  • RAID de hardware NÃO , sem gravação de hardware suportada por bateria / flash, é aí que a função de write-back do bcache se torna interessante.

Software:

  • configurado em setembro de 2016, nunca foi reinicializado
  • Debian Jessie com o kernel 4.6 (do jessie-backport oficial no momento da última atualização)
  • software MD raid 10
    • 1 dispositivo raid10 para o 2 SSD
    • 1 dispositivo raid10 para o disco rígido 2
  • 2 LVM VG no topo dos 2 dispositivos de ataque
  • um dispositivo "caching" do bcache criado em um volume lógico no SSD_RAID10 VG
  • um dispositivo "backing" bcache criado em um volume lógico no HDD_RAID10 VG
  • o cache bcache configurado como writeback

Carga de trabalho

  • muitos trabalhos de jenkins (integração contínua)
  • trabalhos intensivos em cpu misturados com períodos de intensividade de E / S
    • antes de usar bcache tais períodos em que aumenta regularmente a latência média de I / O acima de 5 segundos (!!!)
  • carga de trabalho real neste servidor iniciada há apenas um ano (~ fevereiro de 2017)

Quantidade de E / S emitida no dispositivo bcache de acordo com / proc / diskstats)

  • 350 TB escrito
  • 6 TB de leitura (verifiquei isso, acho que a grande quantidade de RAM ajuda muito a armazenar em cache as leituras na camada VFS)

Resultado

  • rock estável! a máquina nunca precisou ser reinicializada (tempo de atividade 525 dias), nenhuma corrupção foi detectada.
  • taxa de acerto é alta! 78% em todos os tempos e subindo: acima de 80% nos últimos meses
  • writeback ajuda muito: a latência do disco é agora de magnitude mais baixa, infelizmente eu não tenho medidas precisas para isso, mas os cálculos não estão mais parados por bursts de gravação. A quantidade de dados suja sobe acima de 5 GB, onde um write-cache RAID de hardware geralmente tem um tamanho entre 512 MB e 1 GB)

Conclusão

  • O bcache é estável quanto a rock nesta configuração (mas 1 máquina, 1 configuração, 1 ano de máquina, não é suficiente para generalizar, mas é um bom começo!)
  • O bcache é muito eficiente nessa carga de trabalho e o modo de write-back parece substituir eficientemente um cache de gravação RAID de hardware (mas lembre-se de que a confiabilidade na perda de energia não foi testada)
  • na minha opinião pessoal o bcache é subestimado, e uma solução interessante poderia ser empacotada usando-o mas note também que o autor original agora desenvolve o bcachefs (um arquivo baseado no bcache) e não melhora mais o bcache
por sligor 06.01.2016 / 11:16

2 respostas

0

Acho que o custo decrescente do armazenamento SSD e o aumento da capacidade e da variedade de opções disponíveis justificam o uso do armazenamento em estado sólido, onde é necessário, além da idéia de armazenamento em cache seletivo (e possivelmente com bugs).

Se você preencher alguns detalhes sobre o ambiente, as necessidades de capacidade e qualquer outra coisa, isso poderá ajudar com uma resposta melhor.

    
por 06.01.2016 / 12:01
3

Eu olhei para o seu link e passei por todos os patches e verifiquei manualmente se cada um deles estava mesclado no vanilla kernel 4.9.0, com o último patch fundido em 2016-10-27 04:31:17 UTC. Esse último patch apareceu em 4.9.0 lançado 2016-12-11 19:17:54 UTC. E todos eles também aparecem no kernel 4.4 disponível no Ubuntu 14.04 backported de 16.04, linux-lts-xenial_4.4.0-67.88 .

E eu não me concentraria muito no "custo decrescente do armazenamento SSD", já que também o custo de armazenamento do HDD também diminui. Você ainda pode usar os dois juntos para economizar dinheiro. Ou, em vez de SSDs, você poderia obter algumas NVMe, o que é ainda mais rápido.

E a taxa de corrupção de bugs ainda pode não ser zero, mas mesmo se houver bugs, a taxa é baixa o suficiente para que você não precise se preocupar se tiver backups, o que você deve ter, independentemente de você use cache ou RAID.

    
por 21.03.2017 / 13:09