Como posso armazenar em cache compartilhamentos NFS em um disco local?

37

Eu uso o NFS para compartilhar mídia com computadores em minha casa. Infelizmente, uma das máquinas está em um link sem fio lento. Existe uma maneira de armazenar em cache os compartilhamentos de rede no disco local para desempenho?

Jorge Castro
fonte

Respostas:

43

Stefan me levou pelo caminho certo. Isso funcionará em qualquer sistema 12.04 e mais recente.

Seu sistema de arquivos também precisará de suporte estendido a atributos. Se você estiver usando EXT4, não há problema, se estiver usando EXT3, será necessário garantir que seu sistema de arquivos esteja montado com o user_xattratributo

Aqui está como eu o configuro na máquina cliente: você não precisa fazer nada no lado do servidor.

  1. Primeiro, instale o daemon de espaço do usuário: sudo apt-get install cachefilesd

  2. Em seguida, ligue-o editando /etc/default/cachefilesde alterando a linha de execução paraRUN=yes

  3. Verifique se a montagem do NFS /etc/fstabpossui uma fscopção. Não esqueça de remontar depois de fazer as alterações. Aqui está o meu trecho (modifique para suas necessidades):

    192.168.1.115:/home/jorge /home/jorge/Backup nfs fsc

  4. Inicie o serviço: sudo /etc/init.d/cachefilesd start

A configuração do cache é feita /etc/cachefilesd.conf, consulte as referências sobre quais são as opções de configuração.

Referências:

Jorge Castro
fonte
Por acaso sabe como aplicar o mesmo /etc/auto.master?
21312
Esteja ciente de que existe um erro que pode fazer com que o cachefilesddaemon seja executado com 100% da CPU: redhat.com/archives/linux-cachefs/2014-February/msg00001.html bugzilla.redhat.com/show_bug.cgi?id=485314
akaihola 18/03/2015
2
Pelo menos a partir do Ubuntu 14.04, rw, hard é o padrão e o intr está obsoleto. Assim, a única opção que você está usando que tem efeito nos dias de hoje é fsc
Andrew Wagner
@AndrewWagner Envie uma edição para o artigo!
Jorge Castro
10

Não tenho certeza se existe alguma maneira de fazer isso atualmente com o Ubuntu 10.04 LTS.

No entanto, as versões mais recentes do kernel Linux incluem um recurso chamado FS-Cache & CacheFS , que soa exatamente como o que você (e eu) queremos.

Consulte também Armazenamento em cache local para sistemas de arquivos em rede .

Stefan Lasiewski
fonte
Obrigado, é um ótimo recurso. Infelizmente ela não tem suporte de gravação :(.
Javier Rivera