В состав ядра Linux 4.6 принят код файловой системы OrangeFS

Анонсировав первый кандидат в релизы ядра Linux 4.6, Линус Торвальдс сообщил о принятии в последний момент патчей с реализацией распределённой файловой системы OrangeFS, которая рассчитана на применение в высокотехнологичных high-end-серверах и кластерах для достижения максимальной производительности доступа к данным из распараллеленных приложений.

В качестве основы OrangeFS использованы наработки проекта PVFS (Parallel Virtual File System), развиваемого с 1993 года при поддержке NASA для изучения методов эффективной обработки ввода/вывода в параллельно выполняемых кластерных системах. PVFS создавалась для замены NFS в кластерах и отличается наличием отдельного сервера обработки метаданных, координирующего обращение к данным, размещаемым на специальных узлах хранения.

Разработка OrangeFS нацелена на развитие расширенных возможностей, отсутствующих в основном варианте PVFS (например, отказоустойчивость и расширенные механизмы контроля доступа). OrangeFS может применяться в областях, недостаточно полно поддерживаемых PVFS. Из типичных областей применения OrangeFS называются высокопроизводительные вычисления (HPC), обработка больших объёмов данных (BigData), потоковое вещания видео, решение задач геномики и биоинформатики. Из сходных с PVFS характеристик отмечается производительность, надёжость, оптимизация для MPI-IO, независимость от оборудования и простота развёртывания.

Основные особенности OrangeFS:

  • Распределение данных между несколькими файловыми серверами (метаданные обрабатываются несколькими коллективно взаимодействующими серверами). Поддерживается концепция распределённых директорий. В качестве альтернативы выборки по файловому пути предоставляются средства поиска метаданных;
  • Поддержка одновременного доступа нескольких клиентов;
  • Для хранения данных и метаданных используются существующие локальные файловые системы и методы доступа;
  • Реализация в пространстве пользователя с выносом базовых функций в модуль ядра;
  • Поддержка MPI;
  • Поддержка работы без сохранения состояния (stateless, сервер не обслуживает такие операции как открытие файлов);
  • Поддержка кэширования наиболее востребованных данных на стороне клиента;
  • Наличие гибкого механизма контроля доступа на основе ACL и заверенных учётных записей (signed credentials);
  • Настраиваемый уровень избыточности хранения данных, позволяющий найти оптимальный баланс между отказоустойчивостью, производительностью и затратами на оборудование. Разные файлы могут иметь разные уровни избыточности хранения. Для достижения максимальной производительности хранение избыточной информации может быть полностью отключено.

© OpenNet