Файловая система Andrew - Andrew File System

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

Функции

AFS[3] имеет несколько преимуществ по сравнению с традиционными сетевыми файловые системы, особенно в области безопасности и масштабируемости. Одно корпоративное развертывание AFS в Морган Стенли превышает 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 Sun Microsystems ' популярный Сетевая файловая система (NFS). Кроме того, вариант AFS, Распределенная файловая система (DFS) был принят Фонд открытого программного обеспечения в 1989 г. в рамках своих Распределенная вычислительная среда. Наконец, AFS (вторая версия) является предшественником Coda файловая система.

Реализации

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

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

Доступные разрешения

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

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

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

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

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

Смотрите также

Рекомендации

  1. ^ Что такое Андрей В архиве 9 сентября 2011 г. Wayback Machine - часть официального сайта CMU, рассказывающая об истории Эндрю Проект.
  2. ^ Гарфинкель, Симсон Л. (Май – июнь 1989 г.). "Рябь на академическом рынке" (PDF). Обзор технологий. стр. 9–13. Получено 25 января 2016.
  3. ^ Howard, J.H .; Kazar, M.L .; Nichols, S.G .; Nichols, D.A .; Satyanarayanan, M .; Сайдботэм, Р. И Уэст, M.J. (февраль 1988 г.). «Масштабирование и производительность в распределенной файловой системе». ACM-транзакции в компьютерных системах. 6 (1): 51–81. CiteSeerX  10.1.1.71.5072. Дои:10.1145/35037.35059.
  4. ^ Мур, Филипп (2004). «Когда от этого зависит ваш бизнес - эволюция глобальной файловой системы для глобального предприятия» (PDF).
  5. ^ Янив Песач (2013), Распределенное хранилище (Распределенное хранилище: концепции, алгоритмы и реализации ред.), Amazon, ПР  25423189M
  6. ^ Документация AFS для ядра Linux для 2.6.10
  7. ^ "LXR linux / Документация / файловые системы / afs.txt". linux.no. 1 августа 2012 г. Архивировано с оригинал 1 августа 2012 г.. Получено 23 апреля 2018.

внешняя ссылка

дальнейшее чтение