Casey Zacek wrote (at Thu, Mar 31, 2005 at 09:08:53AM -0600):
> Horms wrote (at Thu, Mar 31, 2005 at 02:18:31PM +0900):
> > If you want this kind of sticky behaviour it can be achieved
> > using a fwmark virtual service. Or if that doesn't meet your needs,
> > by coding up a custom scheduler module.
>
> I don't understand how a fwmark virtual service would help me with a
> persistence problem. For that matter, I don't understand how a custom
> scheduler would, either, but perhaps that's because I wouldn't know
> where to start with it.
>
> My problem isn't with the original balancing of connections; it's with
> the session persistence subsequently failing to be persistent. I
> don't have a problem with the wlc scheduler that I'm using to choose
> which RS a client should be hitting.
I did some code diving, and it turns out you and Graeme Fowler are
probably both right. According to the code, source port is ignored
for fwmark, port-specific, and wildcard-but-only-for-FTP virtual
services.
I'm not 100% sure this will entirely fix my customer's problem, but
we'll see after the config reload tonight. I've changed his LVS
config from a *:0 to a pair (*:80 and *:443). If this doesn't work,
I'm going to try fwmark, but I'd rather not have two places to
configure them (iptables and keepalived). Also, the persistence code
appears to treat fwmark and port-specific virtual services basically
the same, ignoring source and destination ports for persistence
purposes.
--
Casey Zacek
Senior Engineer
NeoSpire, Inc.
|