Кэширующая файловая система

Для повышения производительности удаленных файловых систем, таких как NFS, и медленных устройств, таких как дисководы CD-ROM, может применяться кэширующая файловая система (CacheFS).

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

Рис. 1. Кэширующая файловая система (CacheFS). На этом рисунке изображен клиент, подключенный к серверу по сети. На дисках сервера хранится исходная файловая система. На дисках клиента хранится кэшируемая, или целевая файловая система.
Кэширующая файловая система (CacheFS)

Ниже описан алгоритм работы CacheFS:

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

CacheFS может применяться, например, в среде CAD. В этом случае все базовые копии чертежей будут храниться на сервере, в то время как клиенты будут работать с локальными кэшированными копиями.

CacheFS не поддерживает чтение и запись файлов размером больше 2 ГБ.