![Доступ к VirtualBox Apache должен осуществляться с хоста Ubuntu.](https://rvso.com/image/1267767/%D0%94%D0%BE%D1%81%D1%82%D1%83%D0%BF%20%D0%BA%20VirtualBox%20Apache%20%D0%B4%D0%BE%D0%BB%D0%B6%D0%B5%D0%BD%20%D0%BE%D1%81%D1%83%D1%89%D0%B5%D1%81%D1%82%D0%B2%D0%BB%D1%8F%D1%82%D1%8C%D1%81%D1%8F%20%D1%81%20%D1%85%D0%BE%D1%81%D1%82%D0%B0%20Ubuntu..png)
У меня есть хост Ubuntu 10.10, на котором я установил VirtualBox VM. В VirtualBox я установил две другие машины Ubuntu, в основном с той же конфигурацией. Я пытаюсь добиться кластера высокой доступности с двумя узлами (теми 2 виртуальными машинами) и не хочу смешивать свою машину Host в этом проекте.
Теперь я хочу переключить службу Apache между этими двумя виртуальными машинами и для этого я создал виртуальный хост. Я редактирую на обеих машинах /etc/apache2/sites-available/mywebsite и добавляю следующие строки:
<VirtualHost 55.55.55.55:80>
ServerAdmin [email protected]
ServerName mywebsite.com
DocumentRoot /var/www/mywebsite/
</VirtualHost>
Это даст мне возможность запустить мой веб-сайт из 55.55.55.55
вместо http://localhost
. Но это работает только в моем кластере из 2 узлов и не видно с моей хост-машины. Что я могу сделать? Есть ли какое-либо решение?
Извините за длинный пост, но я хотел дать вам как можно больше подробностей. Спасибо
решение1
Что вам нужно, так этобалансировщик нагрузкиБалансировщик нагрузки использует сторожевой таймер для контроля доступности реальных серверов и отправляет запросы на тот, который активен.
[РЕДАКТИРОВАТЬ]
У вас есть два варианта: либо клиентам необходимо подключиться к другому компьютеру, который перенаправляет запросы на работающий сервер (=балансировщик нагрузки), либо вам необходимо переместить IP-адрес при переключении серверов.
Вы можете назначить несколько IP-адресов одному и тому же компьютеру. Я предлагаю назначить два: один, который никогда не меняется (для удаленного администрирования), и один, который вы назначаете при запуске Apache на этом хосте (это будет 55.55.55.55
в вашем случае).
Альтернативой является запуск Apache только на одном хосте и предоставление балансировщику нагрузки возможности отслеживать этот факт. Клиенты всегда подключаются к балансировщику нагрузки. Пока работает только одна служба Apache, балансировщик нагрузки всегда будет отправлять все запросы только на одну машину.
Чтобы назначить дополнительный IP-адрес, используйте эту команду:
ifconfig eth0:1 xxx.xxx.xxx.xxx
«:1» означает «дополнительный адрес для eth0
» (Дополнительная информация).