Эндрю Файловая система
Файловая система Эндрю ( AFS ) — это распределенная файловая система , которая использует набор доверенных серверов для предоставления однородного, прозрачного по расположению пространства имен файлов всем клиентским рабочим станциям. Он был разработан Университетом Карнеги-Меллон в рамках проекта Эндрю . [1] Первоначально назывался «Вице», [2] «Эндрю» относится к Эндрю Карнеги и Эндрю Меллону . Его основное применение — в распределенных вычислениях .
Функции
[ редактировать ]АФС [3] имеет ряд преимуществ по сравнению с традиционными сетевыми файловыми системами , особенно в области безопасности и масштабируемости. Одно корпоративное развертывание AFS в Morgan Stanley превышает 25 000 клиентов. [4] AFS использует Kerberos для аутентификации и реализует списки контроля доступа к каталогам для пользователей и групп. Каждый клиент кэширует файлы в локальной файловой системе для увеличения скорости последующих запросов того же файла. Это также обеспечивает ограниченный доступ к файловой системе в случае сбоя сервера или сбоя сети .
AFS использует модель слабой согласованности . [5] Операции чтения и записи открытого файла направляются только на локально кэшированную копию. Когда измененный файл закрывается, измененные части копируются обратно на файловый сервер. Согласованность кэша поддерживается механизмом обратного вызова . Когда файл кэшируется, сервер отмечает это и обещает сообщить клиенту, если файл будет обновлен кем-то другим. Обратные вызовы отбрасываются и должны быть восстановлены после любого сбоя клиента, сервера или сети, включая тайм-аут. Повторное установление обратного вызова включает проверку статуса и не требует повторного чтения самого файла.
Следствием стратегии блокировки файлов является то, что AFS не поддерживает большие общие базы данных и обновление записей в файлах, совместно используемых клиентскими системами. Это было сознательное дизайнерское решение, основанное на предполагаемых потребностях университетской вычислительной среды. Например, в исходной системе электронной почты для проекта Эндрю, системе сообщений Эндрю, используется один файл для каждого сообщения, например maildir , а не один файл для каждого почтового ящика, как mbox . См. раздел «Проблемы AFS и буферизованного ввода-вывода» для работы с общими базами данных.
Важной особенностью AFS является том , дерево файлов, подкаталоги и точки монтирования AFS (ссылки на другие тома AFS). Тома создаются администраторами и связываются по определенному именованному пути в ячейке AFS. После создания пользователи файловой системы могут создавать каталоги ифайлы как обычно, не беспокоясь о физическом местоположении тома. Тому может быть назначена квота , позволяющая ограничить объем потребляемого пространства. При необходимости администраторы AFS могут переместить этот том на другой сервер или диск без необходимости уведомлять пользователей; операция может произойти даже во время использования файлов в этом томе.
Тома AFS можно реплицировать в клонированные копии, доступные только для чтения. При доступе к файлам в томе, доступном только для чтения, клиентская система будет извлекать данные из конкретной копии, доступной только для чтения. Если в какой-то момент эта копия станет недоступной, клиенты будут искать любую из оставшихся копий. Опять же, пользователи этих данных не знают о местонахождении копии, доступной только для чтения; администраторы могут создавать и перемещать такие копии по мере необходимости. Набор команд AFS гарантирует, что все тома, доступные только для чтения, содержат точные копии исходного тома для чтения и записи на момент создания копии, доступной только для чтения.
Пространство имен файлов на рабочей станции Эндрю разделено на общее и локальное пространство имен. Общее пространство имен (обычно монтируемое как /afs в файловой системе Unix) идентично на всех рабочих станциях. Локальное пространство имен уникально для каждой рабочей станции. Он содержит только временные файлы, необходимые для инициализации рабочей станции, и символические ссылки на файлы в общем пространстве имен.
Файловая система Эндрю сильно повлияла на версию 4 (NFS) компании Sun Microsystems популярной сетевой файловой системы . Кроме того, вариант AFS, Распределенная файловая система DCE (DFS), была принята Open Software Foundation в 1989 году как часть их Распределенной вычислительной среды . Наконец, AFS (вторая версия) была предшественником файловой системы Coda .
Реализации
[ редактировать ]Помимо оригинала, было разработано несколько других реализаций. OpenAFS был создан на основе исходного кода, выпущенного Transarc ( IBM ) в 2000 году. [6] Программное обеспечение Transarc устарело и потеряло поддержку. [ когда? ] Arla представляла собой независимую реализацию AFS, разработанную в Королевском технологическом институте в Стокгольме в конце 1990-х — начале 2000-х годов. [7] [8]
Четвертая реализация клиента AFS существует в ядра Linux, исходном коде по крайней мере, начиная с версии 2.6.10. [9] одобренная Red Hat , по состоянию на январь 2024 года все еще незавершенная. Это довольно простая реализация, [update]. [10]
Доступные разрешения
[ редактировать ]Могут быть предоставлены следующие разрешения списка управления доступом (ACL):
- Поиск (л)
- позволяет пользователю просматривать содержимое каталога AFS, проверять ACL, связанный с каталогом, и получать доступ к подкаталогам.
- Вставить (я)
- позволяет пользователю добавлять в каталог новые файлы или подкаталоги.
- Удалить (г)
- позволяет пользователю удалять файлы и подкаталоги из каталога.
- Администрирование (а)
- позволяет пользователю изменить ACL для каталога. Пользователи всегда имеют это право в своем домашнем каталоге, даже если они случайно удалили себя из ACL.
Разрешения, влияющие на файлы и подкаталоги, включают:
- Читать (р)
- позволяет пользователю просматривать содержимое файлов в каталоге и перечислять файлы в подкаталогах. Файлы, которым должен быть предоставлен доступ на чтение любому пользователю, включая владельца, должны иметь стандартный набор разрешений UNIX «чтение владельцем».
- Напиши (ж)
- позволяет пользователю изменять файлы в каталоге. Файлы, которым должен быть предоставлен доступ на запись любому пользователю, включая владельца, должны иметь стандартный набор разрешений UNIX «владелец на запись».
- Замок (к)
- позволяет процессору запускать программы, которым необходимо « скопить » файлы в каталоге.
Кроме того, AFS включает списки управления доступом для приложений (A)–(H), которые не влияют на доступ к файлам.
См. также
[ редактировать ]Ссылки
[ редактировать ]- ↑ Что такое Эндрю. Архивировано 9 сентября 2011 года в Wayback Machine — части официального сайта CMU, где ведется хроника истории проекта Эндрю .
- ^ Гарфинкель, Симсон Л. (май – июнь 1989 г.). «Волнения на академическом рынке» (PDF) . Обзор технологий . стр. 9–13 . Проверено 25 января 2016 г. .
- ^ Ховард, Дж. Х.; Казар, МЛ; Николс, СГ; Николс, Д.А.; Сатьянараянан, М.; Сайдботэм, Р. Н. и Уэст, MJ (февраль 1988 г.). «Масштабирование и производительность в распределенной файловой системе». Транзакции ACM в компьютерных системах . 6 (1): 51–81. CiteSeerX 10.1.1.71.5072 . дои : 10.1145/35037.35059 . S2CID 52848606 .
- ^ Мур, Филипп (2004). «Когда от этого зависит ваш бизнес — эволюция глобальной файловой системы для глобального предприятия» (PDF) .
- ^ Янив Песах (2013), Распределенное хранилище (Распределенное хранилище: концепции, алгоритмы и реализации, ред.), Amazon, OL 25423189M
- ^ Открытие AFS
- ^ Ассар Вестерлунд и Йохан Даниэльссон (1998). «Арла-бесплатный клиент AFS». Материалы USENIX 1998 года, Freenix Track . CiteSeerX 10.1.1.16.1360 .
- ^ Магнус Альторп, Лав Хернквист-Остранд и Ассар Вестерлунд (2000). «Портирование файловой системы Arla на Windows NT». Семинар по управлению и администрированию распределенных сред . CiteSeerX 10.1.1.512.9570 .
- ^ Документация AFS ядра Linux для 2.6.10.
- ^ «Документация AFS ядра Linux для 6.7.1» . Linux.нет . 7 января 2024 г. Проверено 11 мая 2024 г.