¿Cómo puedo almacenar en caché recursos compartidos NFS en un disco local?

37

Utilizo NFS para compartir medios con las computadoras de mi casa. Desafortunadamente, una de las máquinas está en un enlace inalámbrico lento, ¿hay alguna forma de almacenar en caché los recursos compartidos de red en el disco local para el rendimiento?

Jorge Castro
fuente

Respuestas:

43

Stefan me condujo por el camino correcto. Esto funcionará en cualquier sistema 12.04 y posteriores.

Su sistema de archivos también necesitará compatibilidad con atributos extendidos. Si está usando EXT4, está bien, si está usando EXT3 deberá asegurarse de que su sistema de archivos esté montado con el user_xattratributo.

Así es como lo configuré en la máquina del cliente, no necesita hacer nada en el lado del servidor.

  1. Primero, instale el daemon de espacio de usuario: sudo apt-get install cachefilesd

  2. Luego enciéndalo editando /etc/default/cachefilesdy cambiando la línea de ejecución aRUN=yes

  3. Asegúrese de que su montaje NFS /etc/fstabtenga una fscopción. No olvide volver a montarlo después de haber realizado los cambios. Aquí está mi extracto (modificar según sus necesidades):

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

  4. Comience el servicio: sudo /etc/init.d/cachefilesd start

La configuración de la memoria caché se realiza en /etc/cachefilesd.conf, consulte las referencias de cuáles son las opciones de configuración.

Referencias

Jorge Castro
fuente
¿Sabes cómo aplicar lo mismo /etc/auto.master?
sorin
Tenga en cuenta que hay un error que puede hacer que el cachefilesddemonio para funcionar al 100% de la CPU: redhat.com/archives/linux-cachefs/2014-February/msg00001.html bugzilla.redhat.com/show_bug.cgi?id=485314
akaihola
2
Al menos a partir de Ubuntu 14.04, rw, hard son predeterminados, y intr está en desuso. Entonces, la única opción que está usando que tiene efecto en estos días es fsc
Andrew Wagner
@ AndrewWagner ¡Por favor envíe una edición al artículo!
Jorge Castro
10

No estoy seguro de si hay alguna forma de hacer esto actualmente con Ubuntu 10.04 LTS.

Sin embargo, las versiones más nuevas del kernel de Linux incluyen una característica llamada FS-Cache & CacheFS , que suena exactamente como lo que usted (y yo) queremos.

Consulte también Almacenamiento en caché local para sistemas de archivos de red .

Stefan Lasiewski
fuente
Gracias, es una gran característica. Desafortunadamente carece de soporte de escritura :(.
Javier Rivera