Назад | Перейти на главную страницу

Файловая система только для чтения заполняется по запросу

В основном у меня есть файловая система, доступная как по NFS, так и по ssh. Мне нужна копия этого на моем локальном. Но я хочу извлекать только те файлы, которые мне нужны (в основном кешировать их по запросу). Поскольку я буду использовать это как файловую систему только для чтения, кеш эквивалентен постоянной копии (даже удаленный не изменится). Итак, есть ли приложение, которое делает это из коробки, или я должен написать свою собственную реализацию FUSE для этого? Проблема в том, что реализация FUSE предназначена для Mac (хотя у меня работает контейнер Linux, который тоже может это делать).

Смонтируйте общий ресурс NFS.

При желании только чтение. Либо на стороне сервера для экспорта, либо локально с rdonly вариант крепления.

Для NFS присуща только передача файлов по запросу, вам нужно открыть файл, чтобы получить его содержимое. Кэширование, как на стороне клиента, так и на стороне сервера, ускоряет последующий доступ. Если по какой-то причине вы хотите предварительно прогреть кеш, просто прочтите файлы.

Если бы не NFS, синхронизировать весь том с локальным было бы просто. Пульт не меняется. Но не соответствует требованию иметь только локальную копию по запросу.

Преимущество NFS в том, что она уже реализована. В качестве файловой системы для macOS или Linux и уже в качестве файлового ресурса в вашей среде. Посмотрите, как это работает, прежде чем пробовать (на мой взгляд, преждевременную) оптимизацию написания собственной файловой системы кэширования.

Если количество соответствующих файлов не слишком велико, вы можете настроить inotify для этих файлов. После того, как файл был записан (и дескриптор файла был закрыт), вы можете начать rsync для этого файла.