O Flashcache, para quem nunca viu antes, é um método para estender o cache de blocos do Linux com uma unidade SSD. É mais barato do que executar um servidor com meio TB de RAM apenas para armazenamento em cache.
Isso vai funcionar?
Deveria. O cache de bloco do Linux funciona armazenando em cache os blocos acessados , não os arquivos . Enquanto você não estiver dando às máquinas KVM acesso direto aos dispositivos de bloco (você não está), o Linux Block Cache estará em jogo. No entanto, se você estiver dando acesso direto ao dispositivo de bloco das máquinas KVM, a resposta será menos clara.
Se você estiver usando discos virtuais com backup de arquivo, definitivamente funcionará.
Se você estiver usando discos virtuais suportados por LV, eu não sei.
Quanto eu esperaria aumentar o desempenho?
Isso é algo que não podemos responder. Depende de uma variedade de coisas. Em resumo, você obterá o melhor desempenho para dimensionar seu SSD para ser maior que o conjunto ativo de blocos. Se você obtiver um cache perfeito, seu desempenho será semelhante à execução de todo o sistema em SSDs. O que você efetivamente estará fazendo.
Qual é o tamanho do SSD?
Descobrir o tamanho exato de que você precisa é algo que não podemos ajudar. Obviamente, mais é melhor, mas encontrar a proporção exata entre o cache-SSD e o armazenamento primário não é uma questão simples.
Para complicar isso, as gravações estão definidas para serem liberadas imediatamente, como certas operações do sistema de arquivos e algumas configurações do banco de dados. Essas gravações serão armazenadas em cache apenas brevemente e seu desempenho não será afetado de forma alguma pela presença ou ausência de flashcache.
O que acontece se o SSD morrer?
O mesmo acontece quando você diz ao Linux para fazer cache de descargas, mas com um toque. Com os descartes, qualquer gravação não liberada que estiver no cache do bloco será liberada no disco. O que acontece quando o SSD desaparece depende do modo de armazenamento em cache :
Gravação : todas as gravações são gravadas no cache e no armazenamento primário em paralelo, portanto, as chances de uma perda súbita de SSD causando erros nas VMs são muito pequenas.
Gravação : todas as gravações são gravadas no armazenamento primário e armazenadas em cache somente quando lidas. Sem chance de erros nas VMs.
Writeback : todas as gravações vão primeiro para o cache e são gravadas no armazenamento primário em segundo plano. O mais provável é causar erros nas suas VMs, caso o SSD falhe e eu não usaria esse modo na produção.
Quanto mais rápido o writeback seria em comparação com o writethrough e writearound?
Depende de quanto você está escrevendo. Se suas gravações saturam periodicamente seu armazenamento primário, o aumento de desempenho pode ser bastante significativo. Se você costuma ler com alguma gravação, provavelmente não notará melhorias.
Além disso, o write-back é uma política ruim para o que você está fazendo, portanto, não o use.