Re: lvs not setting up real servers
Greg Boehnlein <[email protected]>
| Newsgroups | gmane.linux.redhat.piranha |
|---|---|
| Message-ID | <[email protected]> |
On Sun, 2 Mar 2003, Greg Boehnlein wrote:
> Hello,
> I have a pair of RH AS 2.1 LVS Routers in direct routing
> mode configured as the front end for two back-end services. The goal of
> this cluster is to provide HA Load Balancing to a pair of backend
> Mail/Web/Ftp servers. The problem I am having is that the "lvs" command
> does not seem to be adding all of the rules defined in the lvs.cf file.
> Specifically, it seems to skip the pair of real-servers that I have
> defined for my SMTP cluster. I have verified this behavior by adding the
> ipvsadm commands by hand to get the services to work. When I do this, it
> works fine. But I can't get the system to do it auomatically either by
> using the Piranha GUI or by edting the lvs.cf by hand.
Ignore all this. The problem was very simple that I was using the default
Expect/Send strings for a Webserver for all of the services. As a result,
Nanny was failing when it did it's initial checks and not bringing up the
real-servers for that service.
> Here is the lvs.cf file I am using:
>
> serial_no = 61
> primary = 207.166.192.17
> service = lvs
> backup_active = 1
> backup = 207.166.192.18
> heartbeat = 1
> heartbeat_port = 539
> keepalive = 6
> deadtime = 18
> network = direct
> reservation_conflict_action = preempt
> debug_level = 9
> virtual mail.nacs.net {
> active = 1
> address = 207.166.192.19 eth0:1
> port = 25
> send = "quit\r\n"
> expect = "221"
> load_monitor = none
> scheduler = wlc
> protocol = tcp
> timeout = 6
> reentry = 15
> quiesce_server = 0
> server node2.nacs.net {
> address = 207.166.192.34
> active = 1
> weight = 1
> }
> server tracy.nacs.net {
> address = 207.166.192.36
> active = 1
> weight = 1
> }
> }
>
> virtual www.nacs.net {
> active = 1
> address = 207.166.192.19 eth0:1
> port = 80
> send = "GET / HTTP/1.0\r\n\r\n"
> expect = "HTTP"
> load_monitor = none
> scheduler = wlc
> protocol = tcp
> timeout = 6
> reentry = 15
> quiesce_server = 0
> server node2.nacs.net {
> address = 207.166.192.34
> active = 1
> weight = 1
> }
> server tracy.nacs.net {
> address = 207.166.192.36
> active = 1
> weight = 1
> }
>
>
> When "pulse" is started, the ipvsadm command returns the following:
>
> IP Virtual Server version 0.8.1 (size=65536)
> Prot LocalAddress:Port Scheduler Flags
> -> RemoteAddress:Port Forward Weight ActiveConn InActConn
> TCP cluster.nacs.net:smtp wlc
> TCP cluster.nacs.net:http wlc
> -> tracy.nacs.net:http Route 1 0 0
> -> node2.nacs.net:http Route 1 0 0
>
> I've tracked the particular program responsible for adding the
> ipvsadm commands to "lvs". An Strace of "lvs" shows the following calls to
> ipvsadm:
>
> 4731 execve("/sbin/ipvsadm", ["/sbin/ipvsadm", "-C"], [/* 23 vars */]) = 0
>
> 4734 execve("/sbin/ipvsadm", ["/sbin/ipvsadm", "-A", "-t",
> "207.166.192.19:80", "-s", "wlc"], [/* 23 vars */]) = 0
>
> 4737 execve("/sbin/ipvsadm", ["/sbin/ipvsadm", "-A", "-t",
> "207.166.192.19:25", "-s", "wlc"], [/* 23 vars */] <unfinished>
>
> 4740 execve("/sbin/ipvsadm", ["/sbin/ipvsadm", "-a", "-t",
> "207.166.192.19:80", "-r", "207.166.192.36", "-g", "-w", "1"], [/
> * 23 vars */] <unfinished ...>
>
> 4741 execve("/sbin/ipvsadm", ["/sbin/ipvsadm", "-a", "-t",
> "207.166.192.19:80", "-r", "207.166.192.34", "-g", "-w", "1"], [/
> * 23 vars */] <unfinished ...>
>
> I can see no commands being executed to add the real servers for the SMTP
> clustering. Hence, the clustering does not work. This is bad.
>
> So, I added the rules by hand:
>
> [root@atm1 ha]# cat ipvsadm-rules
> -A -t cluster.nacs.net:smtp -s wlc
> -a -t cluster.nacs.net:smtp -r tracy.nacs.net:smtp -g -w 1
> -a -t cluster.nacs.net:smtp -r node2.nacs.net:smtp -g -w 1
> -A -t cluster.nacs.net:http -s wlc
> -a -t cluster.nacs.net:http -r tracy.nacs.net:http -g -w 1
> -a -t cluster.nacs.net:http -r node2.nacs.net:http -g -w 1
>
> [root@atm1 ha]# ipvsadm -R < ipvsadm-rules
> [root@atm1 ha]# ipvsadm
> IP Virtual Server version 0.8.1 (size=65536)
> Prot LocalAddress:Port Scheduler Flags
> -> RemoteAddress:Port Forward Weight ActiveConn InActConn
> TCP cluster.nacs.net:smtp wlc
> -> node2.nacs.net:smtp Route 1 0 0
> -> tracy.nacs.net:smtp Route 1 0 0
> TCP cluster.nacs.net:http wlc
> -> node2.nacs.net:http Route 1 0 0
> -> tracy.nacs.net:http Route 1 0 0
>
> And everything works great. I guess my question is does anyone have a clue
> as to what might be going on?
>
> Thanks,
> Greg
>
>
--
Vice President of N2Net, a New Age Consulting Service, Inc. Company
http://www.n2net.net Where everything clicks into place!
KP-216-121-ST