stringtranslate.com

Кода (файловая система)

Coda — это распределенная файловая система, разработанная в качестве исследовательского проекта в Университете Карнеги-Меллона с 1987 года под руководством Махадева Сатьянараянана . Она произошла непосредственно от более старой версии Andrew File System (AFS-2) и предлагает много похожих функций. Файловая система InterMezzo была вдохновлена ​​Coda.

Функции

Coda обладает множеством функций, полезных для сетевых файловых систем, а также несколькими функциями, которых нет больше нигде.

  1. Автономная работа для мобильных вычислений.
  2. Свободно распространяется по лицензии GPL [2]
  3. Высокая производительность за счет постоянного кэширования на стороне клиента
  4. Репликация сервера
  5. Модель безопасности для аутентификации, шифрования и контроля доступа
  6. Продолжение работы при частичных сбоях в работе серверной сети
  7. Адаптация пропускной способности сети
  8. Хорошая масштабируемость
  9. Четко определенная семантика совместного использования, даже при наличии сбоя в сети

Coda использует локальный кэш для предоставления доступа к данным сервера при потере сетевого соединения. Во время нормальной работы пользователь читает и записывает в файловую систему обычным образом, в то время как клиент извлекает или «накапливает» все данные, которые пользователь указал как важные на случай отключения сети. Если сетевое соединение потеряно, локальный кэш клиента Coda обслуживает данные из этого кэша и регистрирует все обновления. Это рабочее состояние называется отключенной работой. После повторного подключения к сети клиент переходит в состояние реинтеграции; он отправляет зарегистрированные обновления на серверы. Затем он возвращается к нормальной работе в подключенном режиме.

Также от AFS отличается метод репликации данных Coda. AFS использует пессимистическую стратегию репликации со своими файлами, позволяя только одному серверу чтения/записи получать обновления, а все остальные серверы действуют как реплики только для чтения. Coda позволяет всем серверам получать обновления, обеспечивая большую доступность данных сервера в случае разделения сети, с которым AFS не может справиться.

Эти уникальные функции вводят возможность семантически расходящихся копий одних и тех же файлов или каталогов, известных как «конфликты». Локальные обновления отключенной операции могут потенциально конфликтовать с обновлениями других подключенных пользователей на тех же объектах, предотвращая реинтеграцию. Оптимистическая репликация может потенциально вызывать параллельные обновления на разных серверах на одном и том же объекте, предотвращая репликацию. Первый случай называется «локальным/глобальным» конфликтом, а второй случай — конфликтом «сервер/сервер». Coda имеет обширные инструменты исправления, как ручные, так и автоматизированные, для обработки и исправления обоих типов конфликтов.

Поддерживаемые платформы

Coda была разработана на Linux , и ее поддержка появилась в серии ядер Linux 2.1. [3] Она также была портирована на FreeBSD . Впоследствии, поскольку там она устарела, предпринимаются попытки вернуть ее. [4] Были предприняты попытки портировать Coda на Microsoft Windows , с эпохи Windows 95 / Windows 98 , Windows NT [5] на Windows XP [6] с помощью проектов с открытым исходным кодом, таких как DJGCC DOS C Compiler и Cygwin . [5]

Ссылки

  1. ^ "Coda progress". 5 июля 2020 г. Получено 5 августа 2020 г.
  2. ^ "Новый релиз: 5.0.pre1". 1999-01-06 . Получено 2015-09-11 .
  3. ^ "Список рассылки Linux Kernel, [PATCH] Coda". 1998-01-06.
  4. ^ "GitHub - trasz/Freebsd и код". GitHub .
  5. ^ ab Braam, PJ; et al. (1999). "Перенос файловой системы Coda на Windows". Proc. Ежегодная техническая конференция USENIX . Ассоциация USENIX: 30. Получено 15.04.2009 .
  6. ^ "Поддержка Coda для Windows XP" . Получено 2009-04-15 .

Внешние ссылки