Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

Andrew File System ( AFS ) является распределенной файловой системой , которая использует набор доверенных серверов , чтобы представить гомогенное, расположение прозрачного имени файла пространство для всех клиентских рабочих станций. Он был разработан Университетом Карнеги-Меллона в рамках проекта Эндрю . [1] Первоначально названный «Vice», [2] AFS назван в честь Эндрю Карнеги и Эндрю Меллона . Его основное использование - распределенные вычисления .

Особенности [ править ]

AFS [3] имеет несколько преимуществ по сравнению с традиционными сетевыми файловыми системами , особенно в области безопасности и масштабируемости. Одно корпоративное развертывание AFS в Morgan Stanley превышает 25 000 клиентов. [4] AFS использует Kerberos для аутентификации и реализует списки управления доступом к каталогам для пользователей и групп. Каждый клиент кэширует файлы в локальной файловой системе для увеличения скорости при последующих запросах того же файла. Это также обеспечивает ограниченный доступ к файловой системе в случае сбоя сервера или выхода из строя сети .

AFS использует модель слабой согласованности . [5] Операции чтения и записи в открытом файле направлены только на локально кэшированную копию. Когда измененный файл закрывается, измененные части копируются обратно на файловый сервер. Согласованность кэша поддерживается механизмом обратного вызова . Когда файл кэшируется, сервер отмечает это и обещает сообщить клиенту, если файл обновлен кем-то другим. Обратные вызовы отбрасываются и должны быть восстановлены после любого отказа клиента, сервера или сети, включая тайм-аут. Восстановление обратного вызова включает проверку статуса и не требует повторного чтения самого файла.

Следствием стратегии блокировки файлов является то, что AFS не поддерживает большие общие базы данных или обновление записей в файлах, совместно используемых клиентскими системами. Это было осознанное дизайнерское решение, основанное на предполагаемых потребностях университетской вычислительной среды. Например, в исходной системе электронной почты для проекта Andrew, системе сообщений Andrew, используется один файл для каждого сообщения, например maildir , а не один файл для каждого почтового ящика, например mbox . См. Раздел Проблемы AFS и буферизованного ввода-вывода для обработки общих баз данных.

Важной особенностью AFS является том , дерево файлов, подкаталоги и точки монтирования AFS (ссылки на другие тома AFS). Тома создаются администраторами и связываются по определенному именованному пути в ячейке AFS. После создания пользователи файловой системы могут создавать каталоги и файлы как обычно, не заботясь о физическом расположении тома. Для тома может быть назначена квота , чтобы ограничить объем используемого пространства. При необходимости администраторы AFS могут переместить этот том на другой сервер и на другой диск без необходимости уведомлять пользователей; операция может происходить даже во время использования файлов в этом томе.

Тома AFS можно реплицировать в клонированные копии, доступные только для чтения. При доступе к файлам в томе, доступном только для чтения, клиентская система будет извлекать данные из конкретной копии, доступной только для чтения. Если в какой-то момент эта копия станет недоступной, клиенты будут искать любую из оставшихся копий. Опять же, пользователи этих данных не знают, где находится копия, доступная только для чтения; администраторы могут создавать и перемещать такие копии по мере необходимости. Набор команд AFS гарантирует, что все тома, доступные только для чтения, содержат точные копии исходного тома для чтения и записи на момент создания копии, доступной только для чтения.

Пространство имен файлов на рабочей станции Andrew разделено на совместно используемое и локальное пространство имен. Общее пространство имен (обычно монтируемое как / afs в файловой системе Unix) идентично на всех рабочих станциях. Локальное пространство имен уникально для каждой рабочей станции. Он содержит только временные файлы, необходимые для инициализации рабочей станции, и символические ссылки на файлы в общем пространстве имен.

Файловая система Andrew сильно повлияла на версию 4 популярной сетевой файловой системы (NFS) Sun Microsystems . Кроме того, вариант AFS, распределенная файловая система (DFS), была принята Open Software Foundation в 1989 году как часть их распределенной вычислительной среды . Наконец, AFS (вторая версия) является предшественником файловой системы Coda .

Реализации [ править ]

Существует три основных реализации: Transarc ( IBM ), OpenAFS и Arla . Программное обеспечение Transarc устарело и теряет поддержку.

Четвертая реализация существует в исходном коде ядра Linux, по крайней мере, начиная с версии 2.6.10. [6] Принято Red Hat , это довольно простая реализация, все еще находящаяся на ранних стадиях разработки и, следовательно, неполная по состоянию на январь 2013 года . [7]

Доступные разрешения [ править ]

Могут быть предоставлены следующие разрешения списка управления доступом (ACL):

Поиск (l)
позволяет пользователю просматривать содержимое каталога AFS, проверять ACL, связанный с каталогом, и получать доступ к подкаталогам.
Вставить (i)
позволяет пользователю добавлять в каталог новые файлы или подкаталоги.
Удалить (d)
позволяет пользователю удалять файлы и подкаталоги из каталога.
Администрирование (а)
позволяет пользователю изменять ACL для каталога. Пользователи всегда имеют это право в своем домашнем каталоге, даже если они случайно удаляют себя из ACL.

Разрешения, которые влияют на файлы и подкаталоги, включают:

Читать (r)
позволяет пользователю просматривать содержимое файлов в каталоге и перечислять файлы в подкаталогах. Файлы, которым должен быть предоставлен доступ для чтения любому пользователю, включая владельца, должны иметь стандартный набор разрешений UNIX «чтение владельцем».
Написать (w)
позволяет пользователю изменять файлы в каталоге. Файлы, которым должен быть предоставлен доступ на запись любому пользователю, включая владельца, должны иметь стандартный набор разрешений UNIX «запись владельца».
Замок (k)
позволяет процессору запускать программы, которым необходимо " скопировать " файлы в каталог.

Кроме того, AFS включает списки ACL приложений (A) - (H), которые не влияют на доступ к файлам.

См. Также [ править ]

  • Глобальная файловая система

Ссылки [ править ]

  1. What is Andrew. Архивировано 9 сентября 2011 г. в Wayback Machine - части официального сайта CMU, посвященного истории проекта Andrew .
  2. Гарфинкель, Симсон Л. (май – июнь 1989 г.). «Рябь на академическом рынке» (PDF) . Обзор технологий . С. 9–13 . Проверено 25 января +2016 .
  3. ^ Ховард, JH; Казар, МЛ; Николс, С.Г.; Николс, Д.А.; Satyanarayanan, M .; Сайдботэм, RN & West, MJ (февраль 1988 г.). «Масштаб и производительность в распределенной файловой системе». ACM-транзакции в компьютерных системах . 6 (1): 51–81. CiteSeerX 10.1.1.71.5072 . DOI : 10.1145 / 35037.35059 . 
  4. ^ Мур, Филипп (2004). «Когда от этого зависит ваш бизнес - эволюция глобальной файловой системы для глобального предприятия» (PDF) .
  5. ^ Янив Пессах (2013), Распределенное хранилище (Распределенное хранилище: концепции, алгоритмы и реализации ред.), Amazon, OL 25423189M 
  6. ^ Документация AFS ядра Linux для 2.6.10
  7. ^ "LXR linux / Документация / файловые системы / afs.txt" . linux.no . 1 августа 2012 года Архивировано из оригинала на 1 августа 2012 года . Проверено 23 апреля 2018 года .

Внешние ссылки [ править ]

  • OpenAFS
  • Арла

Дальнейшее чтение [ править ]

  • Файловая система Эндрю (2014), Arpaci-Dusseau, Remzi H .; Arpaci-Dusseau, Andrea C .; Книги Арпачи-Дюссо