Forum Discussion
Mike_Schiltz_64
Nimbostratus
Sep 30, 2005developing monitors to start services
We have applications developed by our company (Tideworks) that are not cluster aware. The architecture is client server, and we want to use BigIp to direct traffic to the primary, and only to the sec...
sheldon_hage_34
Nimbostratus
May 24, 2006Hi,
I have the very same requirement and hope I can find a solution. Perhaps I should explain in more detail though:
First, we have a two node BizTalk 2004 farm. Each server is active with respect to being online, running, processing workflows. However, only one server can be running the single sign on (SSO) service; no more than one server, no less than one server.
Additionally, we have an FTP connector; again, this must run on no more and no less than one node at a time.
Both the SSO service and the FTP connector exist as Windows Server services; thus we designate one of the two servers as a "primary" and the other BizTalk server as a "secondary". On the primary, the SSO and FTP services are set in the Windows service control panel to "automatic" startup upon system reboot so under normal operating conditions this "designated primary" is always running these two windows services.
On the "designated secondary" server, those services exist and if started, they would operate normally as long as they are the only instances running. If, by chance, the services on both the primary and secondary are running, the whole darn things breaks.
So, bear in mind, the concept of "designated primary" and "designated secondary" only pertains to these services; other things like the HTTP and AS2 protocol daemons (aka IIS sites) on both servers are 100% identical, always running, and accepting equal numbers of sessions.
So, consider this: if the services on the secondary are set to "manual start" and the services on the primary are set to "automatic start" and both servers are booted and running, everything works like a champ. Now, if the primary server fails, we want the F5 BigIP v9 to identify this situation, and then somehow trigger the startup of those two Windows services on the remaining node in the designated secondary.
So the scenario boils down to us having bi-polar servers (they each contain stateless HTTP cluster-friendly functions as well as this active/passive quorum-like situation). We want the F5 to:
1. Sense that the primary is down
2. Remove the primary from the pool
3. Login to the secondary
4. Start two services on the secondary
If and when the primary comes back online, we also want to shut down the services on the secondary to make way for the "automatically started" services on the primary.
Long story, rather simple problem, yet I see no functionality in the F5s that can do this natively. I have an idea with regards to building a HTTP or other monitor that "touches" both the primary and secondary servers every couple minutes and the "touch" results in a server-side script being initiated on both servers wherein the scripts "naggle" for a quorum and the winning script gets the right to start it's instances of the two services (of course the script would have to be smart enough to determine if the services are already running and then pause).
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
