From: Шешко Алексей <sheshka@yahoo.com.>
Newsgroups: email
Date: Mon, 3 May 2006 14:31:37 +0000 (UTC)
Subject: Обеспечение надежности http(s) сервисов с помощью Linux Virtual Server.
-------------------
Задача: Обеспечить надежность http и https сервисов, устранить единую точку отказа.
Решение: Предполагаем следующее решение:
Траффик поступающий на реальный ip 209.x.x.19 редиректиться на
"виртуальный" ip 10.0.2.50/8, который перемещаеться между
балансировщиками нагрузки LB1 и LB2, имеющими на интерфейсе eth0 ip
10.0.1.230/8 и 10.0.1.231/8 соответсвенно.
Далее трафик с интерфейса eth1, имеющего "виртуальный" ip
192.168.120.50/24 уходит на пул "реальных" серверов, в нашем примере
192.168.120.86 и 192.168.120.87. Для реализации используем http://www.ultramonkey.org/3/
Балансировщики нагрузки взаимодействуют с друг другом посредством
мультикаст пакетов, и если мастер LB1 перестал отвечать, "виртуальные"
ip мигрируют на резервный балансировщик LB2. Доступность "реальных"
серверов проверяется посредством tcp connect. Установка небходимого
софта никаких сложностей не имеет, просто ставим нужные нам rpm пакеты,
однако "любителям наблюдать за выводом gcc" стоит быть осторожными, так
как файл /sbin/ipvsadm должен быть собран с использованием заголовочных
файлов текущей версии ядра, в противном случае его работа может быть
непредсказуемой.
Следует заметить что никаких модификаций софта на "реальных" серверах не
производилось.
Таким образом мы устранем точку отказа балансировщика нагрузки
посредством его резервирования, а так же резервируем http(s) сервера,
т.е. устраняем точку отказа еденичного http(s) сервера - получаем
High-Availability и High-Performance решение.
# Global Directives
checktimeout=5
checkinterval=5
#fallback=127.0.0.1:80
autoreload=yes
logfile="/var/log/ldirectord.log"
#logfile="local0"
quiescent=no
# A sample virtual with a fallback that will override the goble setting
# the real must start at least 4 spaces from left margin
#your "index.html" file must contain the string "happy"
virtual=10.0.2.50:443
real=192.168.120.86:443 masq
real=192.168.120.87:443 masq
fallback=127.0.0.1:443
service=https
request="aaaa.html"
receive="aaaa"
checktype = connect
scheduler=wlc
persistent=120
netmask=255.255.255.0
protocol=tcp
virtual=10.0.2.50:80
real=192.168.120.86:80 masq
real=192.168.120.87:80 masq
fallback=127.0.0.1:80
service=http
request="aaaa.html"
receive="aaaa"
checktype = connect
scheduler=wlc
persistent=120
netmask=255.255.255.0
protocol=tcp
985 Прочтений • [Обеспечение надежности http(s) сервисов с помощью Linux Virtual Server. (http virtual cluster linux balance)] [08.05.2012] [Комментариев: 0]