
10.2.
Файловая система Coda 659
10.2.4. Именование
Как мы говорили. Coda поддерживает систему именования, аналогичную имею-
щейся в UNIX. Файлы группируются в модули, именуемые томами (volumes).
Том соответствует области диска в UNIX (то есть в реальной файловой системе),
но обычно имеет более мелкое дробление. Он соответствует частичному поддере-
ву в общем пространстве имен, которое образуют серверы
Vice.
Обычно том ассо-
циируется с коллекцией файлов одного пользователя. Примерами томов являют-
ся коллекции разделяемых двоичных, или исходных, файлов и
т.
п. Как и области
дисков, тома могут монтироваться.
Тома важны для нас по двум причинам. Во-первых, они образуют базовую
единицу, из которых складывается все пространство имен. Эта сборка общего
пространства имен производится путем монтирования томов в монтажных точ-
ках. Монтажная точка в Coda
—
это листовой узел тома, который связан с корне-
вым узлом другого тома. Используя терминологию, введенную в главе 4, можно
сказать, что только корневой узел может быть точкой монтирования (то есть
клиент может смонтировать только корень тома). Вторая причина важности то-
мов состоит в том, что они представляют собой модули для репликации серве-
ров.
К этому аспекту томов мы позже вернемся.
Рассматривая дробление томов, можно заметить, что поиск по имени может
пересекать несколько монтажных точек. Другими словами, полное имя часто со-
держит несколько монтажных точек. Для поддержания высокой прозрачности
именования файловый сервер Vice возвращает в процесс Venus информацию
о монтировании, полученную в процессе разрешения имени. Эта информация по-
зволяет Venus при необходимости автоматически монтировать тома в простран-
ство имен клиента. Этот механизм схож с пересечением монтажных точек, кото-
рое поддерживается в NFS версии 4.
Важно отметить, что когда том общего пространства адресов монтируется
в пространство имен клиента, Venus следует структуре общего пространства имен.
Для того чтобы понять, что мы имеем в виду, предположим, что каждый клиент
имеет доступ к общему пространству имен через вложенный каталог /afs. При
монтировании тома каждый процесс Venus гарантирует, что граф именования,
присоединенный корнем к /afs, является подграфом полного пространства имен,
поддерживаемого совместными усилиями серверов Vice, как показано на
рис.
10.18.
Если это так, клиентам гарантируется, что совместно используемые файлы дей-
ствительно имеют одинаковые имена, хотя разрешение имен и основано на ло-
кальной реализации пространства имен. Отметим, что этот подход в корне отли-
чается от принятого в NFS.
Идентификаторы файлов
Если считать, что коллекция совместно используемых файлов может быть реплици-
рована и разбросана по нескольким серверам Vice, то резко повышается важность
уникальной идентификации каждого файла так, чтобы имелась возможность от-
следить его истинное местоположение с одновременной поддержкой репликации
и прозрачности локализации.