LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: [lvs-users] ldirectord parallelising checks ?

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: [lvs-users] ldirectord parallelising checks ?
From: Joseph Mack NA3T <jmack@xxxxxxxx>
Date: Wed, 19 Dec 2007 09:29:18 -0800 (PST)
On Wed, 19 Dec 2007, Jean-Paul BALOCHE [STG] wrote:

> On each http server, I've got 10 virtual hosts each one on 
> a specific port. ldirector is configured to check every 
> virtual host of every servers. It do it sequentialy, so if 
> several virtual hosts are done, I have to wait for the 
> timeout to arrive. So it take a long time to check all 
> servers. Is it possible to parallelise checks ?

presumably you should be able to monitor a large LVS (eg 
1024 realservers), however doing them serially isn't going 
to work. A similar problem exists for failover

http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.failover.html#1024_failover

but the solution there isn't useful in your case.

ldirectord would have to be modified to query and listen in 
parallel. This is the way I've done it before (pseudo code, 
possibly not semantically correct)

no_errors=0

fork{

        if parent{
                wait till child exits
        }
        if child{
                #hmm. important bit here.
                #I had to set an alarm
                #so that I knew when the forall had completed
                #the method was in one of the perl books

                forall realservers{
                        (query_realserver; store_status) &
                }
        }
}

if [ no_errors != 0 ]
        switch out realservers with errors;
fi

Joe

-- 
Joseph Mack NA3T EME(B,D), FM05lw North Carolina
jmack (at) wm7d (dot) net - azimuthal equidistant map
generator at http://www.wm7d.net/azproj.shtml
Homepage http://www.austintek.com/ It's GNU/Linux!


<Prev in Thread] Current Thread [Next in Thread>