O Flashcache, para quem ainda não viu, é um método para estender o cache de blocos do Linux com uma unidade SSD. É mais barato do que rodar um servidor com meio TB de RAM apenas para cachear.
Will this even work?
Deveria. O cache de blocos do Linux funciona armazenando em cache blocos , não arquivos . Contanto que você não esteja dando às máquinas KVM acesso direto aos dispositivos de bloco (você não está), o Cache de Blocos do Linux estará em jogo. No entanto, se você estiver dando acesso direto ao dispositivo de bloco às máquinas KVM, a resposta será menos clara.
Se você estiver usando discos virtuais lastreados em arquivos, isso definitivamente funcionará.
Se você estiver usando discos virtuais lastreados em LV, não sei.
How much would I expect to increase performance?
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ê tiver um cache perfeito, seu desempenho será semelhante ao de executar todo o seu sistema em SSDs. O que você efetivamente estará fazendo.
How big does the SSD needs to be?
Descobrir o tamanho exato que você precisa é algo que não podemos ajudar. Mais é melhor, obviamente, mas encontrar a proporção exata entre cache-SSD e armazenamento primário não é uma questão simples.
Para complicar, as gravações são definidas para liberar imediatamente, como certas operações do sistema de arquivos e algumas configurações do banco de dados. Essas gravações serão brevemente armazenadas em cache e seu desempenho não será afetado de forma alguma pela presença ou ausência de flashcache.
What happens if the SSD dies?
O mesmo acontece quando você diz ao Linux para fazer o drop-caching, mas com uma torção. Com os drop-caches, todas as gravações não liberadas que estão no cache de blocos serão liberadas para o disco. O que acontece quando o SSD desaparece depende do modo de armazenamento em cache :
Writthrough : 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 causar erros nas VMs são muito pequenas.
Writearound : todas as gravações são gravadas no armazenamento primário e armazenadas somente em cache quando lidas. Nenhuma 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 de causar erros em suas VMs, caso o SSD falhe, e eu não usaria esse modo em produção.
How much faster would writeback be in comparison with writethrough and writearound?
Depende de quanto você está escrevendo. Se suas gravações saturarem periodicamente seu armazenamento principal, o aumento de desempenho poderá ser bastante significativo. Se você for principalmente lido 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.