[lvs-users] ldirectord parallelising checks ?

Joseph Mack NA3T jmack at wm7d.net
Wed Dec 19 17:29:18 GMT 2007


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!


Search lvs-users Archives
Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort

More information about the lvs-users mailing list