Opendedup - файловая система с автоматическим объединением дубликатов данных
В рамках проекта Opendedup ведется работа по созданию новой распределенной файловой системы SDFS, специально оптимизированной для использования в качестве хранилища для виртуальных окружений, подобных XEN, KVM или VMware. Главная особенность новой системы заключается в поддержке автоматического объединения дубликатов - для одинаковых блоков данных сохраняется только одна копия, что значительно повышает вместимость файловой системы при хранении похожих по базовой начинке виртуальных окружений.Максимальный размер общей файловой системы на базе SDFS ограничен 8 Петабайтами, максимальный размер одного файла - 250 Гб, предусмотрена возможность подключения в единый пул до 256 разных хранилищ, по 32 Терабайта в каждом. Исходные тексты SDFS написаны на языке Java и доступны в рамках лицензии GPLv2. Файловая система реализована через FUSE-модуль и не привязана к конкретной программной платформе (в настоящее время доступен модуль для Linux, но планируется поддержка других операционных систем).
Для хранения данных в SDFS используется любая стандартная файловая система или cloud-хранилище Amazon S3, при этом SDFS выступает в роли прослойки, выполняющей функции выявления и объединения дубликатов. Данные о позиционировании дубликатов могут храниться локально или могут быть распределены на несколько узлов в сети, объединенных в рамках общего распределенного хранилища. Производительность выполнения операции поиска и объединения дубликатов составляет около 150 Мб/сек. Кроме выявления дубликатов налету предусмотрен режим периодического фонового выявления дубликатов, который запускается в промежутки наименьшей активности и не сказывается на производительности online-операций. Имеется поддержка снапшотов на уровне файлов и директорий. Вычисление дубликатов производится путем использования единой глобальной хэш-таблицы для всех присутствующих в ФС блоков данных.
Базовые компоненты SDFS:
- SDFS-раздел (SDFS Volume) - доступная для монтирования конечным пользователем дедуплицированная файловая система, которая может быть экспортирована на другие машины посредством NFS или CIFS;
- SDFS-сервис (SDFS file-system service) - управляющий работой файловой системы сервис, организующий хранение мета-данных (размер, путь и другая информация за исключением непосредственно данных) и карты имеющихся дубликатов, связанных с находящимися внутри SDFS-раздела файлами и директориями. Каждый SDFS-раздел обслуживается своим SDFS-сервисом;
- Движок дедупликации (Deduplication Storage Engine, DSE) - механизм для сохранения, извлечения и удаления повторяющихся блоков данных (размер блока 4 Кб). Блоки данных сохраняются на диске и индексируются с помощью хранимой в памяти хэш-таблицы. DSE может быть как привязан к SDFS-разделу, так и выступать в роли отдельного сетевого сервиса, обслуживающего несколько SDFS-разделов.
© OpenNet