Рейтинг:1

Распределенная файловая система Docker Swarm с локальным хранилищем

флаг jp

Я ищу решение для распределенной файловой системы/сетевую файловую систему, которую можно использовать в следующем сценарии:

  • У меня есть Docker Swarm со многими хостами, но каждый хост по существу автономен и ничем не отличается от любого другого хоста. Мы просто используем их для масштабирования. Это означает, что на каждом хосте выполняются все рабочие процессы, необходимые для работы системы, и в идеале одна задача, поступающая в систему, полностью выполняется на хосте, который первым ее запустил.
  • Обработка задачи состоит из нескольких шагов. Каждый шаг генерирует большой файл размером от 1 до 10 ГБ. Прежде всего, рабочие на каждом хосте будут работать только с файлами, которые уже хранятся локально.
  • Однако иногда хост может быть перегружен, и я хочу, чтобы рабочие на другом хосте взяли на себя оставшиеся этапы обработки. Для этого мне нужно, чтобы файлы хранились в общем томе, который работники на других хостах могут прозрачно использовать для доступа к файлам, хранящимся на другом хосте.

Другими словами: каждый хост будет иметь один и тот же «сетевой том», смонтированный в каком-то месте, и он содержит некоторые файлы, которые фактически хранятся на текущем хосте (эти файлы в первую очередь важны), и некоторые файлы, которые хранятся на другом хосте. Тем не менее, рабочие в основном (90-95% раз) получают доступ к файлам, которые являются локальными для их хоста.

Мне не нужна репликация (файлы актуальны только 30-60 минут, а после этого они уже не нужны) и я специально не хочу центральное хранилище.

Пропускная способность в системе измеряется скорее в минутах на задачу, а не в задачах в секунду. Есть несколько больших файлов, а не много маленьких файлов. Кроме того, файлы записываются один раз и читаются только один или два раза.

Есть ли хорошее решение для этого? я взглянул на GlusterFS, EdgeFS, Межпланетная файловая система, Цеф и некоторые другие, но ни один не казался правильным выбором.

Рейтинг:1
флаг cn

Вы можете сделать это с помощью плагинов Docker Engine. Это объемные плагины, поддерживаемые движком Docker.

  • Подключаемый модуль хранилища файлов Azure
  • Плагин громкости BeeGFS
  • Блокбридж-плагин
  • Плагин Contiv Volume
  • Плагин конвоя
  • Плагин блочного хранилища DigitalOcean
  • Плагин DRBD
  • Плагин флокера
  • Плагин громкости Fuxi
  • Плагин gce-docker
  • Плагин GlusterFS
  • Плагин Horcrux Volume
  • Подключаемый модуль HPE 3Par Volume
  • Плагин бесконечной громкости
  • Плагин тома IPFS
  • Плагин Keywhiz
  • Плагин локального сохранения
  • Плагин NetApp (nDVP)
  • Плагин Netshare
  • Плагин Nimble Storage Volume
  • Плагин OpenStorage
  • Плагин Portworx Volume
  • Плагин Quobyte Volume
  • Плагин REX-Ray
  • Плагин Virtuozzo Storage и Ploop
  • Подключаемый модуль хранилища VMware vSphere

Для получения более подробной информации см. ниже соединять

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.