First published on MSDN on Aug 18, 2010
Hi,
In this series of blog posts we will help you to design, develop and debug the Resource DLL you are developing to give your application high-availability with Windows Server 2008 & 2008 R2 Failover Clustering.
We recommend you start with the other blog post in the series:
In this post we will look at the IsAlive and LooksAlive calls. To familiarize yourself with these functions, refer to this documentation:
http://support.microsoft.com/kb/914458
http://msdn.microsoft.com/en-us/library/aa370496(v=VS.85).aspx
http://msdn.microsoft.com/en-us/library/aa370972(v=VS.85).aspx
With the default behavior, the cluster will give each of these calls up to 5 minutes to complete before declaring that the call deadlocks. It is also expected that LooksAlive should be a very lightweight check to not impact performance, while IsAlive can be more detailed healthcheck. For example, if you are customizing an IIS-based application, the lightweights LooksAlive call may just ping the IIS Service, while the detailed IsAlive may check that a specific webpage can be opened.
There are really no published recommendations for how to best use these calls. It all depends on the nature of your resource and what types of healthchecks are necessarily to determine that the resource is responsive.
Here are a few best practices we can suggest:
I bet with this little information you can also come up with many other ways to solve this design challenge and will pick the one that is right for your application.
Also remember that there is another way to tell cluster that the resource is not healthy. This can be done by providing the cluster a handle during the Online call. This handle will signal the cluster if it is not healthy and the cluster can then take corrective actions.
I hope this series of blog posts will be helpful when you design your own Resource DLL.
Thanks,
Vladimir Petter
Senior Software Development Engineer
Clustering & High-Availability
Microsoft
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.