В состав ядра 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