Компания Versity открыла исходные тексты файловой системы ScoutFS

Компания Versity объявила об открытии исходных текстов специализированной файловой системы ScoutFS, оптимизированной для хранения архивных данных. Утверждается, что ScoutFS стала первой открытой файловой системой для архивирования, нацеленной на предоставление промышленного уровня надёжности и масштабирования при хранении огромного числа файлов. Код опубликован под свободной лицензией GPLv2, что позволяет в будущем включить его в основной состав ядра Linux. В настоящее время ScoutFS распространяется в виде внешнего модуля для ядра Linux из состава RHEL/CentOS 7.x.

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

ScoutFS существенно расширяет возможности традиционных ФС по числу хранимых файлов в одном пространстве имён, позволяя хранить в одной ФС до триллиона файлов. ФС также рассчитана на высокую интенсивность поступления данных и может обрабатывать большое число одновременных запросов на создание файлов. Работа с ScoutFS напоминает традиционные ФС — семантика соответствует требованиям POSIX, а хранилище разворачивается поверх общего для всех узлов блочного устройства, на котором создаётся ФС и монтируется на всех узлах кластера.

Ключевые особенности ScoutFS:

  • Интегрированный движок индексации данных, ускоряющий операции обслуживания архива. Индексация позволяет сразу отслеживать все изменения данных и атрибутов файлов. Для обращения к индексу предоставляется специальный интерфейс для формирования запросов AQI (Accelerated Query Interface);

    0_1537251983.png
  • Применение совместно используемого на разных узлах индекса. Индекс построен на базе LSM-дерева (Log-structured merge-tree), обеспечивающего высокую производительность в условиях интенсивного добавления новых данных;
  • Благодаря индексации время поиска файлов практически не зависит от числа файлов в ФС. Сравнение ScoutFS и XFS: 0_1537254071.jpeg
  • Сокращение конкурирующих операций, благодаря отделению логических блокировок от операций сериализированной записи на устройство;
  • Поддержка различных ресурсов для конечного хранения данных, включая ленточные накопители, диски, хранилища объектов и облачные системы;
  • Обеспечение отказоустойчивости: узлы могут на лету отключаться и подключаться без нарушения работы ФС и потери сохраняемых данных;
  • Полное соответствие единой семантике POSIX на разных узлах;
  • Контроль целостности метаданных и ссылок на данные;
  • Автоматические транзакции для поддержания согласованности постоянных структур;
  • Реализация в виде оптимизированного модуля ядра, обеспечивающего минимальные задержки и высокую производительность.

© OpenNet