The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"'Постоянство соединения' в piranhа LVS."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Др. сетевые сервисы / Linux)
Изначальное сообщение [ Отслеживать ]

"'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 29-Май-12, 07:26 
Настроил сбалансированный web-сервер при помощи piranha.
Схема такая: есть два сервера, первый выступает в роли LVS-маршрутизатора и реального сервера одновременно, второй - только реальный сервер. Все сервера находяться в одной сети и соединены по методу "прямой маршрутизации" Все работает, балансируется...

Но тут поднадобилось настроит - "Постоянство соединения" (чтобы клиент мог повторно подключаться к конкретному реальному серверу вместо перенаправления запросов алгоритмами распределения доступным серверам), за это отвечает опция "persistent" в которой нужно указать время (в секундах) в течении которого все запросы одного и того же клиента будут перенаправляться на одни и тот же реальный сервер - добавил... Но задать нужное мне время не получается, система не реагирует на то время которое я выставляю! по умолчанию выставляется врем около 5 мин!

serial_no = 1
primary = 192.168.0.11
service = lvs
backup = 0.0.0.0
heartbeat = 0
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = direct
debug_level = NONE
virtual HTML {
     active = 1
     address = 192.168.0.10 eth0:1
     vip_nmask = 255.255.255.0
     port = 80
     persistent = 10
     send = "GET / HTTP/1.0\r\n\r\n"
     expect = "HTTP"
     load_monitor = none
     scheduler = rr
     protocol = tcp
     timeout = 6
     reentry = 15
     quiesce_server = 1
     server ROUTER {
         address = 192.168.0.11
         active = 1
         weight = 1
     }
     server HOST {
         address = 192.168.0.12
         active = 1
         weight = 1
     }
}
Как быть? Что не так настроил?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от Serge (??) on 29-Май-12, 23:32 
а покажите настройки не из конфига, а из работающего lvs (ipvsadm -ln) ?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 31-Май-12, 09:42 
> а покажите настройки не из конфига, а из работающего lvs (ipvsadm -ln)
> ?

Вот, пожалуйста:
IP Virtual Server version 1.2.1 (size =4096)
Prot LocalAddress: Port

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 31-Май-12, 09:49 
> а покажите настройки не из конфига, а из работающего lvs (ipvsadm -ln)
> ?

Вот, пожалуйста:

IP Virtual Server version 1.2.1 (size =4096)
Prot LocalAddress: Port Scheduler Flags
->  RemoteAddress: Port          Forward      Weight      ActiveConn      InActConn
TCP  192.168.0.10:80    rr   persistent 10
->   192.168.0.11:80                     Local             1              0                  20
->   192.168.0.12:80                     Route            1              0                  9

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от Serge (??) on 03-Июн-12, 23:44 
похоже на то, что конфиг правильно сконверился в lvs сеттинги.
я не уверен насчет 10 сек, у меня были бОльшие времена и все работало корректно.
может ли это быть связано с аггрегацией по src network (persistence_granularity)?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 04-Июн-12, 16:27 
> я не уверен насчет 10 сек, у меня были бОльшие времена и
> все работало корректно.

Я пробовал время менять от [5с. ; 5мин.). --- не реагирует, а вот больше 5мин не ставил... надо попробовать).

> может ли это быть связано с аггрегацией по src network (persistence_granularity)?

Не совсем понимаю что это такое, где посмотреть и как проверить?

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от Serge (??) on 05-Июн-12, 13:59 

>> может ли это быть связано с аггрегацией по src network (persistence_granularity)?
> Не совсем понимаю что это такое, где посмотреть и как проверить?

смысл persistence_granularity в "честности" балансинга - т.е. можно сказать что granularity == "255.255.255.255" (маска сети для аггрегации), а можно сказать "255.255.255.0". Тогда в первом случае каждый хост будет рассматриваться как отдельный сорс и будут разбрасываться по разным destinations, а во втором случае все хосты из отдной сети будут считаться "одним сорсом" и баланситься НЕ будут, а будут идти на один (какой-то)  destination (пока конечно таймаут не истечет и их заново куда-то не определят).


Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 05-Июн-12, 20:08 
>>> может ли это быть связано с аггрегацией по src network (persistence_granularity)?
>> Не совсем понимаю что это такое, где посмотреть и как проверить?
> смысл persistence_granularity в "честности" балансинга - т.е. можно сказать что granularity
> == "255.255.255.255" (маска сети для аггрегации), а можно сказать "255.255.255.0". Тогда
> в первом случае каждый хост будет рассматриваться как отдельный сорс и
> будут разбрасываться по разным destinations, а во втором случае все хосты
> из отдной сети будут считаться "одним сорсом" и баланситься НЕ будут,
> а будут идти на один (какой-то)  destination (пока конечно таймаут
> не истечет и их заново куда-то не определят).

маска выставлена как 255.255.255.255... попробовал вообще не задавать ее... все равно не так как нужно работает...((

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 14-Июн-12, 21:41 
Подскажите как можно посмотреть в реальном времени как происходит балансировка, т.е. сколько запросов и на какой из серверов переправлено? это же можно на LVS-маршрутизаторе посмотреть как-нибудь?


Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

9. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от John (??) on 17-Июн-12, 09:35 
> Как быть? Что не так настроил?

Это давний баг piranha - можно поискать в инете (и почему-то RedHat не хочет его исправлять).
Обойти его можно выполнением команды
ipvsadm --set $SET_TIMEOUT
послу запуска pulse

Попытаюсь угадать: Вы используете RedHat/CentOS ? (потому, что piranha)

Если да, то я делал так, чтобы автоматизировать запуск ipvsadm --set при [ре]старте pulse:
дальше пара diff'ов

--- /etc/rc.d/init.d/pulse.orig  2009-04-06 16:49:13.000000000 +0400
+++ /etc/rc.d/init.d/pulse       2009-04-06 16:48:48.000000000 +0400
@@ -43,7 +43,10 @@
         daemon pulse $OPTIONS
        RETVAL=$?
         echo
-        [ $RETVAL -eq 0 ] && touch /var/lock/subsys/pulse
+        [ $RETVAL -eq 0 ] && {
+           touch /var/lock/subsys/pulse
+           [ -n "$SET_TIMEOUT" ] && ipvsadm --set $SET_TIMEOUT
+       }
         ;;

   stop)

--- /etc/sysconfig/pulse.orig  2009-04-06 16:48:24.000000000 +0400
+++ /etc/sysconfig/pulse       2009-04-06 16:47:39.000000000 +0400
@@ -3,3 +3,5 @@
# pulse binary at startup, set OPTIONS here.
#
#OPTIONS=
+
+SET_TIMEOUT="3600 0 0"


Не использую piranha пару лет. Когда использовал, Ваша проблема была не единственная:
Есть проблема с переконфигурированием: нужен рестарт pulse - все соединения обрываются
Есть проблема с поднятием нескольких IP-адресов на одном интерфейсе - в 90% случаев поднимаются не все - приходится проверять вручную
Есть проблема с backup'ом соединений на второй lvs-сервер - точнее backup отсутствует вовсе - приходится лепить костыль
Ну еще по мелочи, чего уже и не вспомню.

Посмотрите в сторону keepalived - возможно его функционал Вас устроит.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

10. "'Постоянство соединения' в piranhа LVS."  +/
Сообщение от D06PbIU (ok) on 19-Июн-12, 08:24 
>[оверквотинг удален]
> +
> +SET_TIMEOUT="3600 0 0"
> Не использую piranha пару лет. Когда использовал, Ваша проблема была не единственная:
> Есть проблема с переконфигурированием: нужен рестарт pulse - все соединения обрываются
> Есть проблема с поднятием нескольких IP-адресов на одном интерфейсе - в 90%
> случаев поднимаются не все - приходится проверять вручную
> Есть проблема с backup'ом соединений на второй lvs-сервер - точнее backup отсутствует
> вовсе - приходится лепить костыль
> Ну еще по мелочи, чего уже и не вспомню.
> Посмотрите в сторону keepalived - возможно его функционал Вас устроит.

Огромное Вам спасибо за помощь!!!

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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