Piranha/Pulse, lvs.cf с постоянством и сбоем сервера
У нас есть следующие настройки:
- RedHat 6
- LVS настроен на сбой между двумя веб-серверами
- Постоянство соединения 900 секунд
Это довольно простая настройка, однако, когда сервер помечен как отказавший, процесс piranha/pulse/nanny помечает вес сервера в таблице как 0 и не удаляет отказавший сервер. Это означает, что все постоянные соединения остаются подключенными к отказавшему серверу, и балансировка нагрузки нарушается.
Как мы можем сказать няне принудить вышедший из строя узел, чтобы постоянные соединения не работали?
Спасибо
У нас есть следующий lvs.cf:
serial_no = 201305302344
primary = 10.1.1.45
service = lvs
backup = 0.0.0.0
heartbeat = 1
heartbeat_port = 539
keepalive = 6
deadtime = 18
network = nat
nat_router = 10.1.1.70 eth0:1
nat_nmask = 255.255.255.0
debug_level = NONE
virtual http {
active = 1
address = 10.1.1.70 eth0:1
vip_nmask = 255.255.255.0
persistent = 900
pmask = 255.255.255.0
port = 80
send = "GET / HTTP/1.0\r\n\r\n"
expect = "HTTP/1.1 200 OK"
use_regex = 0
load_monitor = none
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 1
server web1 {
address = 10.1.1.51
active = 1
weight = 1
}
server web2 {
address = 10.1.1.52
active = 1
weight = 1
}
}
virtual https {
active = 1
address = 10.1.1.70 eth0:1
vip_nmask = 255.255.255.0
port = 443
persistent = 900
pmask = 255.255.255.0
send = "GET / HTTP/1.0\r\n\r\n"
expect = "up"
use_regex = 0
load_monitor = none
scheduler = wlc
protocol = tcp
timeout = 6
reentry = 15
quiesce_server = 1
server web1 {
address = 10.1.1.51
active = 1
weight = 1
}
server web2 {
address = 10.1.1.52
active = 1
weight = 1
}
}
2 ответа
Пытаться echo 1 > /proc/sys/net/ipv4/vs/expire_quiescent_template
Подробнее здесь:
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.persistent_connection.html
Вы должны запустить сценарий сбоя / восстановления директора, который удаляет / добавляет этого директора.
я использую lvs-kiss
для этого, который имеет синтаксис для включения сценариев для этих случаев.