Heartbeat Proxy на базе CentOS

Heartbeat Proxy на базе CentOS

Я рассматриваю возможность настройки автоматического переключения при сбое для Apache и MySQL. Я планирую разместить небольшой прокси-сервер перед двумя ящиками Apache и двумя ящиками MySQL. Apache будет время от времени синхронизировать данные с главного на подчиненный сервер, а MySQL будет настроен в режиме Master/Slave для репликации. В случае сбоя резервный ящик(и) может взять на себя управление, пока главный сервер не будет восстановлен.

Прокси-сервер спереди будет работать как регулировщик дорожного движения с каким-то программным обеспечением heartbeat (на данном этапе я не ищу балансировку нагрузки). Таким образом, мне не придется беспокоиться об изменении нашего брандмауэра в случае, если основные ящики выйдут из строя.Linux-HAЛучший вариант или есть какие-то предложения?

решение1

Linux HA — это хороший набор инструментов. Если вам нужна простота, используйте heartbeat 1; heartbeat 2 перешел на кластеры с более чем 2 узлами и XML-конфигурацию. 1 достаточно для большинства простых случаев с 2 узлами.

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

В вашем случае, вероятно, лучше всего будет запустить оба сервера в конфигурации «активный-активный», включая полный веб-сервис и полный прокси-сервис на обоих(!).

Просто настройте heartbeat на захват трех IP-адресов: одного для активного сервера MySQL, одного для активного веб-сервера и одного для активного прокси-сервера (только последний должен быть общедоступным).

Затем настройте прокси-сервер так, чтобы он всегда переходил на внутренний IP-адрес «активного веб-сервера», а веб-сервер — на IP-адрес «активного сервера БД».

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

Первоначальная настройка может выглядеть так:

   Server A (Apache on Port 80)   Server A (Apache Port 8080)    Server A MySQL <-----------
              |                \           |                 \        |                      \
Web <-> Public Proxy IP         >-> Shared Private Web IP     >--> Shared Private MySQL IP    | Mysql Synchronization Link
              |                /           |                 /        |                      /
   Server B (Apache on Port 80)   Server B (Apache Port 8080)    Server B MySQL <-----------

Затем, когда все будет готово, вы сможете без проблем перейти к реальной балансировке нагрузки (как упоминалось для веб-сайтов) и кластеризации MySQL, не внося никаких изменений в работу пользователя.

И что самое лучшее: немедленное размещение вашего приложения за прокси-сервером (даже если прокси-серверы «на самом деле» являются одними и теми же серверами) позволит выявить множество ошибок в ваших веб-приложениях (предположения об именах хостов и путях при создании ссылок и т. д.) на раннем этапе!

решение2

http://studyhat.blogspot.com/2009/11/clustering-linux-ha.html

ссылка выше поможет вам настроить Linux HA

Связанный контент