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

Виртуальный IP-адрес или балансировка нагрузки для кластера http / mysql

Прежде всего, я должен сказать, что я очень новичок в качестве системного администратора. Я пытаюсь выполнять чужую работу, и у меня почти нулевой опыт кластеризации / балансировки нагрузки и тому подобного.

Вот такая ситуация.

Имею 4 физических сервера. Требуемые конфигурации:

2 реплицированных веб-сервера, они являются общедоступным интерфейсом для доступа к данным базы данных 2 реплицированных MySQL

Я бы хотел:

1 виртуальный IP-адрес, совместно используемый веб-серверами, с балансировкой нагрузки для двух машин. Этот IP-адрес будет публичным IP-адресом, указанным DNS.

1 виртуальный IP-адрес, совместно используемый mysql, как указано выше. Это будет интерфейс, используемый для подключения приложения.

Серверы находятся в удаленной ферме серверов, но они включены в VLAN.

Возможно ли достичь этой конфигурации? В таком случае как? Если нет, что было бы хорошей альтернативой?

Спасибо за подсказку.

Дарио

Несколько вопросов: вы хотите, чтобы нагрузка была сбалансирована, потому что, если у вас есть 4 машины 2apache и 2 mysql, вы настраиваете настройку аварийного переключения, так что если один сервер выходит из строя, он будет использовать другой сервер. И для достижения этого вы можете использовать Сердцебиение http://www.linuxjournal.com/article/5862

ЕСЛИ у вас высокая нагрузка, у вас может быть 3 узла с реплицированными apache / mysql и преобразовать 1 из ящиков в деидецированный балансировщик нагрузки.

Самая надежная установка - 2 балансировщика нагрузки 3 сервера apache 1 сильный сервер mysql и 1 резервная копия через сердцебиение

больше читать

мне очень понравилось руководство по кузнечному делу

http://www.howtoforge.com/high_availability_loadbalanced_apache_cluster

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

Да, это определенно возможно.

Основная проблема, с которой вы столкнетесь, - это решить, как настроить серверы mysql. Если они находятся в режиме репликации главный / главный, то есть любой сервер может принимать записи, тогда это решение в порядке. Но репликация master / master встречается редко, и более вероятно, что они настроены в ситуации master / slave, что означает, что запись может осуществляться только в основную базу данных. Вы можете настроить балансировщик нагрузки перед ними, если уверены, что этот балансировщик нагрузки будет использоваться только для READS.

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

Настроить этот тип системы нетривиально, особенно в случае смерти мастера. Удачи.