Консолидация хранилища на нескольких экземплярах VPS
Скажем, у вас работает четыре экземпляра VPS. Одним из них является прокси-сервер nginx, который обрабатывает запросы на ваши два экземпляра VPS среднего уровня, на которых запущено веб-приложение через FastCGI, а на последнем VPS выполняется база данных.
Каков наилучший способ для разделения хранилища между тремя внутренними экземплярами, используя только ресурсы, доступные на каждом VPS (без доступа к SAN)? Я знаю, что NFS, очевидно, является одним из способов обмена данными, но, насколько мне известно, вы не можете объединить отдельные области хранения из разных экземпляров VPS в одну, используя NFS.
Есть ли лучший способ добиться некоторого разделения памяти между этими узлами, чтобы, если я хочу задействовать другой узел для обработки дополнительной нагрузки, мне не нужен какой-то причудливый метод для сохранения всех (не баз данных) приложений данные в синхронизации. Это должно быть доступно через стандартный интерфейс файловой системы POSIX, чтобы не нужно было переписывать работающие приложения для использования новой технологии (в противном случае я бы просто использовал Amazon S3 или что-то подобное).
Любая помощь приветствуется.
2 ответа
Ты ищешь drbd
, Это репликация файловой системы.
В прошлом у нас было несколько сплитбрейнов с master/slave, поэтому мы изменили файловую систему сверху ext3
в gfs2
и теперь работайте с кластером в активном / активном режиме.
Самый простой подход, вероятно, состоит в том, чтобы запустить другой VPS, который хранит все "данные приложения" и экспортирует их через NFS на серверы приложений.