Forum Discussion

Operator_16816's avatar
Icon for Nimbostratus rankNimbostratus
Jan 05, 2012

Maintenance page - hosted on LTM or redirect with fallback host - or both?

I'm in the process of implementing an automated maintenance page that is displayed when I have a pool with no healthy members. Looking around, I see two distinct methods of doing this - utilizing the fallback host feature and redirecting to another url, or setting up a page to be hosted on the LTM and using an iRule with "[active_members [LB::server pool]] < 1" in it.



Does anyone have any opinions on which one is preferred, and why?




Currently, I'm using the fallback host method and I'm redirecting to a page hosted on AWS.




My setup includes about 70 virtual servers on a 3600 HA cluster - some are QA, some are non-http. I will likley have the need for multiple versions of the maintenance page, depending on the site content it fronts.




The one thing I do see as an advantage of the LTM hosted option is that an iRule code example shows a refresh option being used to automatically pull up the healthy site when it becomes available.










4 Replies

  • Does anyone have any opinions on which one is preferred, and why?i prefer built-in functionality if it is available.



    this is some information regarding fallback host just in case you have not yet seen it.



    sol6510: Change in Behavior: The Fallback Host is now used when a connection to a node fails

  • Hosting the content on LTM has the advantage of avoiding the need for an external hosting site. In 11.1, you can simplify the storage of the static content on LTM using iFiles:



    Jason Rahm's Article on iFiles - External File Access via iRules




    On the other hand, if you did want to host the content externally and use a fallback host, you should be able to still include the retry logic on that external site.



  • Hi,



    I have something like this setup for our company. I ended up hosting the content on a seperate server mainly because I have to allow our Marketing team access so they can update the content and there was no way I was going to give them access to the BigIP. For me it was simpler and safer to have them use a IIS server with a share to the virtual server directory. That way they could alter the page to their hearts content without ever having to go near the BigIP. It also allowed them to go to the URL and test the page to make sure it worked as they wanted. All I had to do was to make sure the BigIP just used the alternate pool when the main pool active member count went below 1.



    I also have a slight variation on this which allows our web team to automatically display a "Maintanence" page to external users by simply starting a IIS virtual website. Basically I have a pool which just contains the IIS server and the port the maintanence page runs on. By default this website is stopped and only started when they need the mainenance page up. So the iRule just checks the number of acive nodes on that pool and if it >0 then the iRule pools to that pool and volia the maintenance page is displayed. I use a datagroup/class of type IP as a conditional around the pool statement so connections orginating outside the company execute the code which pools to the maintanence pool. Nothing fantastic but it means they don't need to contact me when new rollouts/updates are being done which is good for them and me.



  • Colin_Walker_12's avatar
    Historic F5 Account
    Thanks for sharing your setup Craig, it sounds like you've got things running the right way for your environment.



    Given the new tools in v11/11.1, namely iFiles and sideband connections, coupled with tools that have always been there...there are several options for how to allow your LTM to host whatever web content you need, error pages or otherwise. That being said, if the situation dictates there is always the option to set things up like Craig has with a server that LTM routes to doing the serving.



    Every deployment & org are different, and we're all about in making things easier, so the more options the merrier, often times. ;)