Распределенная файловая система DFS
Файловая система DFS [5] была разработана компанией Transarc и впоследствии включена OSF в среду распределенных вычислений (DCE, Distributed Computing Environment), куда помимо нее входят еще пять служб: нитей, удаленного вызова процедур, безопасности, каталогов и времени. В отличие от NFS, DFS предлагает централизованное решение адресации файлов, безопасности и администрирования файловой системы. Соответствующие службы реализованы в виде серверов, запускаемых на одной или нескольких машинах. Состав серверов может меняться в зависимости от потребностей и сложности сети.
Пространство файлов. В обслуживаемой сети DFS определяет единое пространство файлов со следующей структурой имен:
/.../<имя ячейки>/fs/<локальное имя> например: /.../C=US/O=OSF/OU= Cambridge/fs/usr/nl/file.c
Здесь fs — стандартный переключатель, ограничивающий собственно имя файла. Пространство файлов разбито на ячейки, образующие префикс полного маршрутного имени файла. Внутри ячейки адресация упрощается: имя ячейки может опускаться.
Клиенты могут обращаться и к файлам, лежащим в других ячейках. Однако в сети с несколькими ячейками конфигурация DFS усложняется: полная адресация файлов поддерживается службой глобальных каталогов (GDS или DNS). Разбиение на ячейки не связано исключительно с географией размещения компьютеров. Благодаря этому подразделения получают автономию и могут проводить собственную политику администрирования.
Как и NFS, DFS позволяет объединять путем монтирования локальные файловые системы различных типов, но кроме того, DFS вводит свой собственный тип — LFS DCE с дополнительными возможностями, ориентированными на сетевую среду. Это исключение — обычно сетевые файловые среды опираются исключительно на «родные» для нижележащих ОС файловые системы. NFS и DFS хорошо совмещаются: NFS-компьютеры могут монтировать файловое пространство DFS и работать с ними в соответствии с семантикой NFS.
Фактическое формирование файлового пространства (то есть включение отдельных файловых систем в общую структуру) происходит в NFS и DFS сходным образом — путем монтирования. Принципиальное отличие состоит в том, что монтирование в DFS производится на сервере и его результаты становятся доступны всем клиентам. В NFS же монтирование новой файловой системы производится отдельно на каждом клиенте и точка монтирования каждый раз может быть другой.
Прозрачность. С точки зрения клиента DFS обеспечивает такую же полную прозрачность файловых операций, что и NFS. Тем более, что реализация прозрачности использует тот же способ — интерфейс VFS, правда, расширенный до VFS+ (в DFS увеличен набор файловых операций).
Производительность. Для повышения производительности DFS использует буферизацию. Кроме того, клиенты DFS более разумны, чем в NFS: они кэшируют важнейшую информацию, но по иной схеме. Повторные обращения к одному и тому же файлу не обязательно ведут к передаче данных с сервера, поскольку они могут сохраняться в кэше клиента.
Механизм повышения производительности на серверной стороне — репликация. Если какой-то файл интенсивно используется множеством клиентов, администратор может создать несколько его копий, лежащих на различных машинах, и клиенты могут работать с той или другой. Заботу о поддержке идентичности берет на себя специальный сервер DFS. Поэтому клиенты, работающие с одним файлом, фактически обращаются к разным серверным машинам, а нагрузка на каждую из них, естественно, падает.
via osp