В настоящее время я пытаюсь настроить инфраструктуру HA, способную разместить Symfony APP. Этот проект предназначен для школьных целей.
Требования следующие:
- Для сохранения данных нам необходимо использовать модель на основе SAN.
- Для этого нам придется использовать протокол iSCSI.
- Эта SAN должна быть масштабируемой
- Стек SAN и LAMP также должен быть высокодоступным.
Думаю, я нашел достаточно информации по всем вопросам, касающимся высокодоступных сетей SAN iSCSI, чтобы построить правильную архитектуру.
Больше всего меня беспокоит стек LAMP.
Я работаю с командой разработчиков, которым очень нравится работать с Docker. Они почти закончили разработку приложения (которое, кстати, является клоном Dropbox) и ожидают, что я предоставлю их контейнерам 3 тома.
Три тома — это три диска, подключенные к моей сети SAN и доступные через iSCSI.
Для достижения высокой доступности на уровне Docker я планирую использовать Docker Swarm, а это значит, что мне придется монтировать на каждом рабочем сервере по 3 диска.
Проблема в том, что я читал на других форумах, что невозможно монтировать те же диски iSCSI на разных клиентах. Боюсь, у меня нет другого выбора, чтобы заставить это работать с docker swarm...
Итак, мой вопрос заключается в следующем: существует ли плагин или известный метод, который мог бы заставить Docker Swarm и iSCSI работать вместе?
Заранее спасибо и извините за мой плохой английский.
С уважением,
Пламя
решение1
Это не проблема Swarm, если вы монтируете диски на уровне ОС. Характеристики вашего хранилища iSCSI будут определять, 1. могут ли цели iSCSI общаться с несколькими узлами одновременно и 2. могут ли эти несколько узлов одновременно записывать данные в одну и ту же цель. Если вы монтируете диски на всех узлах Swarm на уровне ОС, это выглядит как обычное монтирование для Docker.