Como usar um SSD para armazenamento em cache, para que meus discos rígidos possam ser desativados?

8

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 a maior parte do tempo sem uso pesado (não executá-los 24/7 economizará energia e deverá fazer o discos duram mais tempo).

Até onde eu sei, existem atualmente duas técnicas de cache SSD implementadas no Linux, dm-cache e bcache. dm-cache ainda é dito para ser mais eficiente, mas o desenvolvimento está acontecendo para ambos e eu não preciso sintonizar a máxima eficiência absoluta.

Lendo documentação do bcache , deparei-me com estas opções:

writeback_delay: When dirty data is written to the cache and it previously did not contain any, waits some number of seconds before initiating writeback. Defaults to 30.

writeback_percent: If nonzero, bcache tries to keep around this percentage of the cache dirty by throttling background writeback and using a PD controller to smoothly adjust the rate.

writeback_running: If off, writeback of dirty data will not take place at all. Dirty data will still be added to the cache until it is mostly full; only meant for benchmarking. Defaults to on.

A configuração de um valor grande o suficiente para writeback_delay parece fazer o trabalho para mim: apenas escrever de volta uma vez por hora ou (suponho que isso aconteceria) se o cache estiver cheio.

Esta é uma configuração razoável, e eu considerei qualquer outra coisa para ter sucesso na desativação dos discos? Eu também estou bem em seguir um caminho completamente diferente se ela atender aos meus requisitos.

Parece que @gorkypl é procurando outra solução em um problema similar , mas está tendo requisitos e ambiente diferentes e não recebeu uma resposta ainda.

    
por Jens Erat 24.04.2014 / 20:56

1 resposta

1

Eu acho que sua abordagem é muito complicada.

leia o cache : nada a fazer aqui. Se você tem ram suficiente isso é feito automaticamente no linux.

gravação em cache Basicamente é isso que você quer. Mas se as gravações vão para o disco no final que causará um despertar também.

Então você pode colocar os sistemas de arquivos afetados diretamente no disco RAM / dev / shm ou ssd.

economia de energia : não creio que o giro / descida freqüente economize energia. Pelo contrário, os discos podem morrer mais cedo, por isso há consumo de energia adicional para o processo de produção. Além disso, a rotação é muito intensiva.

    
por 25.04.2014 / 12:04