Распределенная файловая система
Файловая система Moose ( MooseFS ) — это распределенная файловая система с открытым исходным кодом , совместимая с POSIX, разработанная Core Technology. MooseFS стремится стать отказоустойчивой , высокодоступной, высокопроизводительной, масштабируемой сетевой распределенной файловой системой общего назначения для центров обработки данных . Изначально являвшееся проприетарным программным обеспечением, оно было выпущено для публики с открытым исходным кодом 30 мая 2008 года.
В настоящее время доступны две версии MooseFS:
- MooseFS — выпущен под лицензией GPLv2,
- MooseFS Professional Edition (MooseFS Pro) — выпуск под проприетарной лицензией в виде бинарных пакетов.
Дизайн
MooseFS следует тем же принципам проектирования, что и Fossil (файловая система) , Google File System , Lustre или Ceph . Файловая система состоит из трех компонентов:
- Сервер метаданных (MDS) — управляет расположением (разметкой) файлов, доступом к файлам и иерархией пространств имен. Текущая версия MooseFS поддерживает несколько серверов метаданных и автоматическое переключение при сбое . Клиенты обращаются к MDS только для получения/обновления макета и атрибутов файла; сами данные передаются напрямую между клиентами и серверами фрагментов. Сервер метаданных — это демон пользовательского пространства ; метаданные хранятся в памяти и лениво сохраняются на локальном диске.
- Сервер Metalogger — периодически извлекает метаданные из MDS, чтобы сохранить их для резервного копирования. Начиная с версии 1.6.5, это дополнительная функция.
- Серверы фрагментов (CSS) — хранят данные и при необходимости реплицируют их между собой. Их может быть много, хотя предел масштабируемости не опубликован. Самый большой кластер, о котором сообщалось на данный момент, состоит из 160 серверов. [9] Сервер Chunk также является демоном пользовательского пространства , который использует базовую локальную файловую систему для управления реальным хранилищем.
- Клиенты — общайтесь как с MDS, так и с CSS. Клиенты MooseFS монтируют файловую систему в пользовательское пространство через FUSE .
Функции
Для достижения высокой надежности и производительности MooseFS предлагает следующие возможности:
- Отказоустойчивость — MooseFS использует репликацию , данные могут реплицироваться между серверами фрагментов, коэффициент репликации (N) устанавливается для каждого файла/каталога. Если (N-1) реплики выйдут из строя, данные все равно будут доступны. На данный момент MooseFS не предлагает никаких других методов обеспечения отказоустойчивости . Таким образом, отказоустойчивость для очень больших файлов требует огромного объема пространства — N*filesize вместо размера файла+(N*stripesize), как в случае RAID 4 , RAID 5 или RAID 6 . Версия 4.x PRO MooseFS реализует 8+n Erasure Coding .
- Распределение — большие файлы делятся на фрагменты (до 64 мегабайт ), которые могут храниться на разных серверах фрагментов для достижения более высокой совокупной пропускной способности.
- Балансировка нагрузки — MooseFS пытается равномерно использовать ресурсы хранения, текущий алгоритм, похоже, учитывает только потребляемое пространство.
- Безопасность . Помимо классических разрешений файлов POSIX , начиная с версии 1.6 MooseFS предлагает простую, подобную NFS, аутентификацию / авторизацию .
- Последовательные снимки . Быстрые снимки с минимальными затратами.
- Прозрачная «корзина» — удаленные файлы сохраняются в течение настраиваемого периода времени.
- Многоуровневое хранение данных / классы хранения. Возможность «маркировать» серверы, создавать определения меток, называемые «классами хранения», и решать, на каких типах серверов хранятся данные [10].
- Поддержка квот «Проекта»
- Блокировки POSIX, поддержка блокировок Flock
Аппаратное обеспечение, программное обеспечение и сеть
Как и другие файловые системы на основе кластеров, MooseFS использует обычное оборудование под управлением операционной системы, совместимой с POSIX . TCP/IP используется в качестве межсоединения.
MooseFS в цифрах [11]
- Размер хранилища: до: 2 64 байт = 16 EiB = 16 384 PiB
- Размер одного файла: до: 2 57 байт = 128 ПиБ.
- Количество файлов до: 2 31 = 2,1 × 10 9
- Количество активных клиентов не ограничено и зависит от количества файловых дескрипторов в системе.
Смотрите также
Рекомендации
- ^ Участники moosefs/moosefs · GitHub
- ^ «О нас - Основная технология - отказоустойчивая сетевая распределенная файловая система MooseFS» . Основная технология.
- ^ «Дата первого публичного выпуска: 30 мая 2008 г.» https://github.com/moosefs/moosefs/blob/master/README.md
- ^ "MooseFS 1.5 (30 мая 2008 г.)" https://github.com/moosefs/moosefs/blob/master/NEWS
- ^ ab «Поддержка – документация, статус и лучшие практики – MooseFS».
- ^ ab "moosefs/NEWS и master · moosefs/moosefs". Гитхаб . 14 июля 2022 г.
- ^ ab "Релизы · moosefs/moosefs" . Гитхаб .
- ^ «Мы также успешно скомпилировали MooseFS из исходников OpenIndiana Hipster». https://moosefs.com/download.html. Архивировано 23 марта 2016 г. на Wayback Machine.
- ^ Мариуш Гондаровский (1 апреля 2010 г.). «MooseFS: Bezpieczny i rozproszony system plików» (PDF) (на польском языке). Журнал Linux, Польша .
- ^ Руководство по классам хранилища MooseFS 3.0 https://moosefs.com/Content/Downloads/moosefs-storage-classes-manual.pdf
- ^ Информационный бюллетень MooseFS
Внешние ссылки