Назад | Перейти на главную страницу

Сетевые файловые системы (NFS) между несколькими экземплярами AWS EC2 для серверов VisualSVN за балансировщиком нагрузки

У меня есть несколько экземпляров сервера Windows, работающих на Amazon EC2 с VisualSVN Server, и я хотел бы сделать их более отказоустойчивыми, запустив дублирующий экземпляр с балансировщиками нагрузки.

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

Моя основная идея - это объем доли (т.е. "C: / Repositories") между счетами EC2:

Но у меня много сомнений:

  1. Можно ли / безопасно запустить два или более экземпляра VisualSVNServer, указывающих на одно и то же репо?

  2. Можно ли / безопасно запустить экземпляры VisualSVNServer за Amazon Load Balancer?

  3. Можно ли / безопасно запустить экземпляры VisualSVNServer, указывающие на сетевую файловую систему?

  4. Я не определился между AWS S3 и AWS EBS, что вы порекомендуете как лучшее решение для хранения данных для VisualSVNServer и архитектуры NFS (я думаю, EBS, но они новичок в сервисах aws)?

  1. Да, это возможно и безопасно.
  2. Да, это должно быть возможно. Но я рекомендую вам включить функцию закрепления сеанса Amazon Load Balancer.
  3. Да, это должно быть возможно с некоторыми оговорками: вы должны быть осторожны с сетевым протоколом, используемым для доступа к общим данным. Subversion полагается на блокировку файлов и операции атомарного перемещения файлов. SMB и SMB2, как известно, работают нормально, в то время как протокол Unix NFS может иметь проблемы.
  4. У меня недостаточно опыта работы с AWS, чтобы ответить на этот конкретный вопрос.

В качестве примечания я рекомендую вам рассмотреть Репликация многосайтового репозитория сервера VisualSVN (2) функция для таких развертываний. В этом случае у вас будет отдельная копия данных на каждом сервере, которая может быть распределена по разным географическим точкам для более быстрого доступа.

(1) http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/US_StickySessions.html

(2) https://www.visualsvn.com/server/features/multisite-replication/