Я использую NFS для обмена медиафайлами на компьютерах по всему дому. К сожалению, одна из машин находится на медленном беспроводном соединении, есть ли способ кэширования сетевых ресурсов на локальном диске для повышения производительности?
Я не уверен, есть ли способ сделать это в настоящее время с Ubuntu 10.04 LTS.
Однако, более новые версии ядра Linux включают функцию, называемую FS-Cache & amp; CacheFS , которая звучит точно так же, как вы (и я) хотите.
Также см. Локальное кэширование для сетевых файловых систем .
Стефан повел меня по правильному пути. Это будет работать на любой системе 12.04 и новее.
Вашей файловой системе также потребуется расширенная поддержка атрибутов. Если вы используете EXT4, то все в порядке, если вы используете EXT3, вам нужно убедиться, что ваша файловая система смонтирована с атрибутом user_xattr
.
Вот как я настроил это на клиентской машине, вам не нужно ничего делать на стороне сервера.
Сначала установите демон пространства пользователя: sudo apt-get install cachefilesd
Затем включите его, отредактировав /etc/default/cachefilesd
и изменив строку запуска на RUN=yes
Убедитесь, что ваше монтирование NFS в /etc/fstab
имеет опцию fsc
. Не забудьте перемонтировать его после внесения изменений. Вот мой отрывок (измените ваши потребности):
192.168.1.115:/home/jorge /home/jorge/Backup nfs fsc
Запустите службу: sudo /etc/init.d/cachefilesd start
Конфигурирование кеша выполнено в /etc/cachefilesd.conf
, см. Ссылки для определения параметров настройки.
Ссылки:
/usr/share/doc/cachefilesd/howto.txt.gz
/usr/share/doc/cachefilesd/README.gz