01-08-2010 10:23 AM
Hi all,
i've got a pretty strange problem with load balancing with some l4payload criteria. i'll show you configuration (DNS stuff):
class-map type generic match-any dns_regex
5 match layer4-payload offset 20 regex ".*corp100.100.*"
class-map type generic match-any dns_regex2
5 match layer4-payload offset 20 regex ".*corp099.100.*"
class-map match-all DNS_VIP
5 match virtual-address 192.168.1.100 udp eq domain
policy-map type loadbalance generic first-match dns_regex
class dns_regex
serverfarm DNS
class dns_regex2
serverfarm DNS
01-08-2010 12:49 PM
hi all,
i've update release to A2(2.3) but same results.....so i've put fast-age on policy mm under class and all seem to work.
By now i have no idea if is a bug or expected ACE module behaviour.
Das
01-08-2010 01:31 PM
so...just for resume:
if i put fast-age class-map works properly, but if a generate lots of query (dnsperf) almost all queries fail....without fast-age class-maps don't work properly but if i generate lots of queries i can see all response.
Das
01-08-2010 03:05 PM
From the udp-fast-age Guide: "By default, the ACE could load balance UDP packets using the same tuple to the same real server on an existing connection. " My effort to interpret it: in other sections, 'tuple' contains (dst VIP, dst port, protocol). A connection contains also the client src IP. Requests from another client might be directed to another farm (provided you don't use the same farm in both classes). Have you tested it from another client IP too? It may well be a documented feature.
01-08-2010 02:44 PM
Have you omitted some lines from the config? Is 'class DNS_VIP' section really under 'policy-map type loadbalance generic first-match dns_regex' ? I guess it should fit under a multi-match policy-map.
01-08-2010 02:57 PM
Hi Peter,
yes it is under policy MM.
Das
01-11-2010 01:01 AM
Das,
same problem as for your other query.
You have to understand that ACE by default only check the first query of a connection.
Once the server is identified, we assume we have to continue with that server until the connection is closed.
Therefore, we stop inspecting queries.
This is why if your first query hit server #1, all subsequent queries will also go to server #1 even those that are not allowed.
Byt enabling fast-age, you tell ACE to kill the connection after the first query/response.
Therefore the next query is like a new connection and ACE will need to make a new decision.
All this is normal.
Gilles.
01-15-2010 09:24 AM
yes,
of course it makes sense but just if the full socket is the same.
Difficult thing is doing some test with queryperf or dnsperf 'cause client srcip/srcport --> and (of course) server dstip
With fast-age teorically all packet are inspected BUT for some reasons queryperf and fast-age enabled don't work as expected. maybe using always same socket get ACE stuck.
thx a lot
Das
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide