11-10-2015 03:51 PM
I am a new load balancer admin. I experieanced the issue where the load balancer keeps marking a vip up and then down because I have a layer 7 health check that failed. After much googling I found the "no-fast-bringup" server command and after implementing it this fixed my problem.
My question is what situation would you not want "no-fast-bringup" to be implemented? Can someone point me in the documentation a techinical explanation of "no-fast-bringup" option?
11-13-2015 09:47 AM
This is from a Brocade document. As I interpret this is that Brocade ADX started out at as a Layer 3-4 load balancer and thus as long as the layer 4 check is up it defaults to mark it up. They then got into Layer 7 load balancing and implemented the "no fast-bringup" to ensure it passes all layers before marking the server as "up". Hope this helped!
There are other Layer 7 health checks available as well - please have a look at the documentation to get some more details about them. I would like to proceed with some more complex things here.
Avery common problem as soon as people move to layer 7 health checks are flapping real server ports - real server ports are getting declared as up and down and up and down and so on. This is going to look like the following in the log files:
SYSLOG: Mar 3 22:20:36:<13>L4 server 192.168.9.50 r50 port 80 is up SYSLOG: Mar 3 22:20:50:<13>L4 server 192.168.9.50 r50 port 80 is down due to healthcheck SYSLOG: Mar 3 22:20:56:<13>L4 server 192.168.9.50 r50 port 80 is up SYSLOG: Mar 3 22:21:10:<13>L4 server 192.168.9.50 r50 port 80 is down due to healthcheck
The most common reason for this is the fact that the ServerIron is going to declare a real server port as up as soon as the layer 4 health check passes. This is the default behaviour. There is still a chance that the layer 7 health check is not successful after a successful layer 4 health check. A reason could be the fact that the health check page is not there anymore. The layer 4 health check is going to be OK because the daemon is up and running but the layer 7 health check is not successful due to the missing health check page. Health checks start from scratch again because a failing layer 7 health check declares the real server port as down again. This would result in L4 OK -> UP -> L7 NOT OK -> DOWN -> L4 OK -> UP and so on.
The suggestion here is to put the following line into the configuration:
This is going to change the default ServerIron behaviour. A real server port needs to pass ALL health check layers until it is getting declared as up using this setting. This will ensure ports are staying down as long as they are able to pass all health check levels.
The no-fast-bringup setting is as well available on a per service/port basis. It is possible to put it into the port profile of specific ports instead of enabling it globally:
server port 80 tcp keepalive 20 5 no-fast-bringup
11-28-2015 06:58 PM
Your answer makes sense on one level, but I guess I dont understand why Brocade didnt make the no fast bringup the default when they introduced the layer 7 health check. It seems the flapping of the virtual server would be worse than having no load balancer at all.