Корень общего документа в кластерной настройке Apache

Я настраиваю кластер из трех серверов Apache и не могу найти много информации о том, как лучше всего обрабатывать общий корень документа. В настоящее время я планировал создать выделенный файловый сервер и поделиться исходным кодом сайта через NFS. Затем каждая машина Apache монтирует этот каталог NFS и обслуживает файлы PHP оттуда.

Единственная альтернатива NFS, которую я могу придумать, - это rsync исходных файлов между каждым сервером, но это выглядит грязно.

Мой вопрос заключается в том, как лучше всего делиться исходным кодом сайта с несколькими серверами Apache с балансировкой нагрузки?

Спасибо!

2 ответа

Решение

На самом деле я бы порекомендовал что-то еще по линии rsync, которую вы рассматривали Для довольно статического набора файлов (например, docroot для веб-сайта) эта настройка работает довольно хорошо. Попадание в распределенные файловые системы (OCFS2, GFS2) или NFS добавит дополнительные точки потенциального сбоя, создаст потенциальные проблемы с производительностью и значительно увеличит сложность установки. Кроме того, большинству распределенных файловых систем требуется (дорогое) оборудование SAN для совместного использования дисков (если только вы не используете что-то вроде DRDB, которое, я не уверен, подойдет для вашей установки).

Я бы настроил один сервер (он может иметь минимальные ресурсы или даже быть виртуальным) в качестве вашего промежуточного сервера. Настройте его точно так же, как ваши производственные веб-серверы, и любые производственные изменения будут сделаны там. Затем соберите набор скриптов (возможно / возможно, использующих rsync или аналог), которые будут перенаправлять ваш веб-корень с промежуточного сервера на все ваши рабочие серверы.

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

Похоже, вы хотите распределенную файловую систему

http://en.wikipedia.org/wiki/List_of_file_systems

У меня был Grid-проект, и нам пришлось построить вычислительный кластер, и я решил использовать OpenAFS, который я знаю только один. Это своего рода отстой с точки зрения обучения, потому что это нелегко.

Однако у той ссылки, которую я разместил, есть список их. Некоторые поддерживают репликацию и чередование (отказоустойчивые и параллельные. Просто исследуйте их и выберите тот, который вам нравится).

Другие вопросы по тегам