Hi cluster fans,
Our general recommendation for achieving high-availability of Internet Information Services (IIS) servers is by using Network Load Balancing (NLB) since the servers tend to be hosts for stateless requests – a customer will visit a website, access content, then leave, and it doesn’t matter which server hosts the website. Additionally NLB can provide affinity between clients and cluster nodes so clients can stay connected to the same server for the duration of their session. Using NLB, the same data is stored on multiple servers, so if one becomes unavailable, the client is redirected to another server with the same information. You can learn more about NLB using IIS here: http://technet.microsoft.com/en-us/library/cc770558.aspx & http://learn.iis.net/page.aspx/213/network-load-balancing.
However there has been a demand for IIS high-availability using Failover Clustering, so persistent data can be saved on shared storage. Some use Failover Clustering to monitor the IIS Service (specifically the WWW Service) to ensure that it stays up and running, and can restart or failover if it crashes. In the past, it was still possible to use IIS in a Failover Cluster by using the Generic Script resource type, but custom scripts were required which were often not optimized for high-availability.
We have recently published a KB article which includes a detailed end-to-end guide and script for you to successfully deploy IIS on a Failover Cluster.
For more information, the guide and the script for IIS WWW, please visit: http://support.microsoft.com/kb/970759
[Update 9/22/09] We have published an article describing how IIS FTP work on a Failover Cluster: http://support.microsoft.com/default.aspx/kb/974603
Clustering & HA