The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Обеспечение надежности http(s) сервисов с помощью Linux Virtual Server. (http virtual cluster linux balance)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: http, virtual, cluster, linux, balance,  (найти похожие документы)
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 решение. ________ _____ | | | | | | | .86 | | LB1 |-------->----| | |(active)|____ |_____| |________| | | | --->----VIP | _____ __|_____ \--->----| | | | | .87 | | LB2 | | | | | |_____| | | |________| /etc/sysctl.conf net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 /etc/ha.d/ha.cf debugfile /var/log/ha-debug logfile /var/log/ha-log keepalive 2 deadtime 10 #bcast eth0 mcast eth0 225.0.0.1 696 1 0 #udpport 695 node LB1 LB2 auto_failback on ping 10.0.1.11 #respawn hacluster /usr/lib64/heartbeat/ipfail /etc/ha.d/haresources LB1 IPaddr::10.0.2.50/8/eth0 IPaddr::192.168.120.50/24/eth1 ldirectord::ldirectord.cf /etc/ha.d/authkeys auth 1 1 sha1 f176669675682f063d2b088c1b462a2f /etc/ha.d/conf/ldirectord.cf # 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 Ссылки по теме: 1. http://www.linux-ha.org/ 2. http://www.ultramonkey.org/3/linux-ha.html (c) 2006 Шешко Алексей, [email protected] http://sky-zebra.net/Linux-Virtual-Server.txt

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

 Добавить комментарий
Имя:
E-Mail:
Заголовок:
Текст:




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру