Eu tenho um servidor de arquivos com vários discos sendo executados juntos em um pool BTRFS e quero adicionar um SSD para armazenamento em cache. Eu não sou principalmente depois de acelerar as coisas, mas quero pegar os pequenos acessos regulares para poder desligar os discos rígidos na maioria das vezes sem uso pesado (não executá-los 24 horas por dia, sete dias por semana, economiza energia e deve fazer com que discos duram mais).
Até onde eu sei, atualmente existem duas técnicas de cache SSD implementadas no Linux, dm-cache e bcache. Diz-se que o dm-cache ainda é mais eficiente, mas o desenvolvimento está acontecendo para ambos e não preciso ajustar a eficiência máxima absoluta.
Ao ler a documentação do bcache , deparei-me com estas opções:
writeback_delay : Quando dados sujos são gravados no cache e anteriormente não continham, aguarda alguns segundos antes de iniciar o write-back. O padrão é 30.
writeback_percent : Se diferente de zero, o bcache tenta manter essa porcentagem do cache suja, limitando a write-back em segundo plano e usando um controlador PD para ajustar suavemente a taxa.
writeback_running : Se desativado, a gravação de dados sujos não ocorrerá. Os dados sujos ainda serão adicionados ao cache até que estejam cheios; destinado apenas para benchmarking. O padrão é ativado.
Definir um valor grande o suficiente para writeback_delay
parece fazer o trabalho para mim: apenas escreva de volta uma vez por hora ou (presumo que isso aconteça) se o cache estiver cheio.
Essa é uma configuração razoável e eu considero mais alguma coisa para conseguir girar os discos? Também estou bem em seguir uma rota completamente diferente se ela atender aos meus requisitos.
Parece que a @gorkypl está procurando outra solução para um problema semelhante , mas está tendo requisitos e ambiente diferentes e também não recebeu uma resposta.
bcache
por favor.