MooseFS (Moose file system) — отказоустойчивая распределённая файловая система, разработанная в 2005 году в Варшаве фирмой Core Technology, главный разработчик — Якуб Крушоно-Завацкий. 5 мая 2008 года исходный код системы опубликован под лицензией GNU General Public License; выпускается также коммерческая версия, некоторые функции которой недоступны в свободной.

Moose File System
Логотип программы Moose File System
Тип Распределённые файловые системы
Разработчик Core Technology Sp. z o.o.
Операционные системы Linux, FreeBSD, NetBSD, Solaris, OpenSolaris, Mac OS X
Первый выпуск 30 мая 2008; 15 лет назад (2008-05-30)[1] (v. 1.5.0[2])
Последняя версия 3.0.116-1 (12 августа 2021; 2 года назад (2021-08-12)[3][4][5])
Тестовая версия 3.0.115-1 (12 августа 2021; 2 года назад (2021-08-12)[3][4][5])
Репозиторий github.com/moosefs/moose…
Лицензия GNU General Public License v2
Сайт moosefs.com

По строению сходна с Ceph, Lustre,GFS; выделяется ведущий узел (англ. master, он же сервер метаданных, metadata server, MDS), данные записываются на множественные узлы блоков хранения (chunk servers, CSS). Ведущий узел управляет метаинформацией о распределении блоков хранения по соответствующим CSS, количество которых может достигать нескольких сотен. Предусмотрены также узлы журналирования метаданных (metaloggers), их может быть несколько, каждый из них сохраняет изменения метаданных и может взять на себя роль ведущего узла в случае отказа основного.

Система может быть смонтирована в среде выполнения, поддерживающей FUSE, в том числе в Linux, FreeBSD, OpenSolaris, Mac OS X. Предоставляемая файловая система POSIX-совместима: поддерживает соответствующие атрибуты (разрешения, время доступа и модификации), организована в иерархическое дерево каталогов, поддерживает специальные файлы (блочных и символьных устройств, сокетов, именованных каналов), символические и жёсткие ссылки. Существует возможность ограничения доступа к файловой системе на основе IP-адреса или пароля.

Содержимое файлов, превышающих заданный размер блока (до 64 МБ) распределяется на несколько узлов блоков хранения. Для каждого файла указывается, в скольких копиях (репликах) будут хранится его блоки, в коммерческой версии вместо полных реплик блоков возможно хранение кодов избыточности.

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

Максимальный размер хранения — 264 байтов (16 эксбибайтов); максимальный размер отдельного файла — 257 (128 пебибайтов); максимальное количество файлов в одном экзмепляре системы — 229 (около 536 млн). Количество подключений на стороне системы не ограничено, и зависит от лимитов на файловые дескрипторы на стороне операционной системы.

В 2013 году частью польских разработчиков система была ответвлена в проект LizardFS[pl], выпускаемый под лицензией GPLv3 и дополняющий MooseFS некоторыми функциональными возможностями.

Примечания править

  1. Date of the first public release: 2008-05-30 https://github.com/moosefs/moosefs/blob/master/README.md Архивная копия от 29 апреля 2019 на Wayback Machine
  2. MooseFS 1.5 (2008-05-30) https://github.com/moosefs/moosefs/blob/master/NEWS
  3. 1 2 Support – documentation, status and best practices – MooseFS. Дата обращения: 12 апреля 2019. Архивировано 12 апреля 2019 года.
  4. 1 2 moosefs/NEWS at master · moosefs/moosefs.
  5. 1 2 Releases · moosefs/moosefs.

Ссылки править