Лекция: Кэширование в NFS

Проблемы, которые возникают во время реализации кэширования в NFS, приведены ниже.

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

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

Второй проблемой является обеспечение когерентности кэша клиентов. Опишем базовый способ решения этой проблемы в NFS.

Если клиент изменяет файл, данные хранят на сервере. При этом другие клиенты продолжают использовать старую версию со своих кэшей до исчерпания некоторого часового промежутка (длина которого может быть изменена администратором сервера; обычно она составляет от 3 до 30 сек). После этого проверяют, не изменился ли файл на сервере, и, если изменился, клиент получает новую копию и хранит ее в локальном кэше. Как следствие во время работы из NFS обычной является ситуация, когда файлы, созданные одним клиентом, остаются невидимыми для всех других на протяжении достаточно длительного времени.

еще рефераты
Еще работы по информатике