Piranha / LVS monitoring script problem

Kovar Honza honza na tnx.cz
Sobota Srpen 17 11:50:07 CEST 2013


Dobry den.

Prosim o radu s problemem, ktery mam s load balancerem. Chtel jsem napsat clanek o tom, jak pouzit linux jako free load balancer pro Microsoft Exchange server 2010. I pres sve velmi omezene znalosti linuxu pochazejici nekdy z dob vzniku Fedory jsem se dostal do stavu, kdy mam 2x load balancer, 2x Exchange a vsechno funguje. Kdyz vypnu jeden z balanceru, sluzby jedou. Kdyz vypnu oba, nejede nic, coz je ocekavany stav. Takze si myslim, ze to mam dobre. Pokud by snad nekdo chtel do detailu nastaveni, tak tady je moje howto, ale upozornuju, ze je to psano skutecne pro Windows administratory a je to hodne dlouhe:

http://www.tnx.cz/ex39.html
http://www.tnx.cz/ex40.html

S cim mam ale problem, to jsou monitoring scripty. Nejak jsem dal dohromady dva. Jeden na HTTPS a druhy na SMTP. Prozatim zkousim HTTPS. Bohuzel po nasazeni najdu ve /var/log/messages

Aug 17 11:22:17 localhost nanny[20460]: Trouble. Received results are not what we expected from (192.168.2.46:443)
Aug 17 11:22:17 localhost nanny[20459]: Trouble. Received results are not what we expected from (192.168.2.44:443)

Ten muj script vypada takto:


#!/bin/bash
wget -q -O /tmp/result.txt -nc --no-check-certificate https://$1:$2/owa
if grep -q "<title>Outlook Web App</title>" /tmp/result.txt
then
 echo "OK"
else
 echo "FAILED"
fi
rm -f /tmp/result.txt

Zjistil jsem, ze pokud zakomentuju posledni radek, tak jeden server se chytne. Pokazde jiny, resp nahodne.

Aug 17 11:42:25 localhost nanny[21172]: Trouble. Received results are not what we expected from (192.168.2.46:443)
Aug 17 11:42:25 localhost nanny[21171]: [ active ] making 192.168.2.44:443 available

Mam pocit, ze to rm neco vraci a proto je tam necekana odpoved, ale nejsem si jisty. A kdyz ten soubor nesmazu (rm zakomentuju), tak to pri testu druheho serveru asi hodi chybu, ze uz existuje ten soubor result.txt, kterou ale nikde nevidim. Ale to jsou jen moje dohady. Zkousel jsem tam i dat:

rm -f /tmp/result.txt >/dev/null 2>/dev/null

Ale to nepomohlo. Muzete mi prosim nekdo poradit, co delam spatne?

Pro jistotu pridavam i kousek lvs.cf, at je videt, jak to vlastne volam:

virtual Exchange-443 {
     active = 1
     address = 192.168.2.62 eth0:1
     vip_nmask = 255.255.255.0
     port = 443
     persistent = 14400
     pmask = 255.255.255.255
     expect = "OK"
     use_regex = 0
     send_program = "/etc/sysconfig/ha/owa_check.sh %h %p"
     load_monitor = none
     scheduler = rr
     protocol = tcp
     timeout = 30
     reentry = 15
     quiesce_server = 0
     server Exchange01 {
         address = 192.168.2.44
         active = 1
         weight = 1
     }
     server Exchange02 {
         address = 192.168.2.46
         active = 1
         weight = 1
     }


Dekuji

Honza


Další informace o konferenci Linux