Problem with MySQL connection through load balancer
dgoldhill at netutils.com
Wed Jul 23 18:10:38 CEST 2014
I am using Freeradius wioth MySQL backend. The SQL connection goes through a load balancer cluster which uses VRRP, furthermore these load balancers firewall the traffic.
The problem occurs when the VRRP master goes down, and the other load balancer takes over the VRRP IP address.
The problem is that Freeradius stops processing requests and I see erros in the log like:
Error: WARNING: Unresponsive thread 7710 for request 0, in component <core> module <queue>
Info: WARNING: Child is hung for request 7707 in component <core> module <queue>.
I understand that this is not a Freeradius issue, but rather the fact that the VRRP master is now on a different device that does not know about the connection that Freeradius thinks is still established.
But instead of trying to create a new connection, Freeradius just continuously drops requests and writes these message to the log. And never recovers. I have left it for up to 15 min, but stays In this state.
If I restart radius, it recovers and starts processing as normal. But I don't want to have to do this.
I have tried to use the 'lifetime = 120' option in the sql.conf
Under normal operation, this will cause radius to close and re-establish the SQL connection every 120 seconds, so I hoped that when in this stuck state, it would do the same and re-establish the connection. But does not.
Is there anything someone can suggest?
I don't have the ability to sync the session table between the 2 load balancers.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Freeradius-Users