IIS Feature Currently not Protected by the Neverfail for IIS Application Module in a WAN Environment

Follow

Summary

This Knowledgebase article provides information about a known issue that occurs when running Neverfail for IIS in a WAN environment.


More Information

IIS can be configured with multiple websites, and each site can be assigned its own unique IP address and port. In a LAN deployment of Neverfail for IIS, this does not pose an issue because the IP addresses for each site will be the same after a switchover or failover. However, when deployed in a WAN with Neverfail for IIS, the IIS configuration will not be symmetrical because the Secondary server will be in a different subnet so different IP addresses will be required. Start scripts will therefore need to be modified to reflect these differences.

Symptom

In a WAN environment with IIS installed and protected by Neverfail for IIS Application Module and multiple web sites are hosted on the same machine. When a switchover is performed, the users cannot access the sites since the IIS Manager is overwritten by the metabase configuration file with the former active server’s IP address.

Cause

IIS stores the configuration in the Metabase.xml or Metabase.bin files depending upon the IIS version. This file is replicated between the active and passive servers. If the 'All Unassigned' option is not being used on individual sites, then the configuration differs depending upon which server is active. This means that the IIS configuration needs to be updated during a switchover or failover (the same way as DNSUpdate does during a switchover). This complicates the configuration to the point that customization is required. Neverfail for IIS cannot configure this.

Workaround


Microsoft Knowledge Base article: How to Manage Web Sites and Web Virtual Directories by Using Command-Line scripts in IIS 6.0: http://support.microsoft.com/kb/816568

A complete reference guide is available here:
http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/f89838b2-e8ef-41ea-99b6-6c829ffbcacd.mspx?mfr=true

For each website insert the following command into the start script so that the appropriate IP address for that server is added to the IIS configuration:

Nfnet start iisadmin
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/<SiteID>/ServerBindings <IP Address>:<Port>:

The following steps will help you tailor the example to your specific installation requirements:

On the Primary server:

  1. In a command prompt window, please run the following command:
  2. iisweb /query

  3. For all of the web and ftp sites, please note the identifiers in the output from iisweb /query.
  4. The example start.bat script should then be adjusted to use the unique identifiers in step 2. Ensure that the IP addresses and ports are appropriate for your installation.
  5. Before adding them to the start script test them from the command prompt. The result of the command should be echoed back to the screen.
  6. e.g. cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/<SiteID>/ServerBindings <IP Address>:<Port>:

  7. Check the configuration is correct in IIS Manager too.
  8. Once you have established the correct commands add them to the start script.


On the Secondary server:

  1. Perform a switchover so the Secondary server becomes Active.
  2. In a command prompt window please run the following command:
  3. iisweb /query

  4. The output should return the exactly the same site identifiers (as the ones returned when the command was run on the Primary server).
  5. You now need to establish the commands for the Secondary server when it is active.
  6. Perform a direct substitution of the Primary IP addresses with those for the Secondary Server when it is active.
  7. Again, you should test all the commands from the command line first.
  8. e.g. cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/<SiteID>/ServerBindings <IP Address>:<Port>:

  9. Once you have successfully tested the commands add them to the start script.

In addition to the above, another parameter to be changed is 'SecureBindings'. Please find bellow the cscript command to update it:

cscript adsutil.vbs set w3svc//SecureBindings ":443:"

Example

IIS is configured with two Websites.

Site Name = Extranet
Port = 8080
Primary IP = 192.168.1.10
Secondary IP = 192.168.2.20
Site ID = 12571

Site Name = Intranet
Port = 8000
Primary IP = 192.168.1.50
Secondary IP = 192.168.1.60
Site ID = 11013

(the Site IDs have been determined by running the command iisweb/query)

Primary Start.bat Script

Nfnet start iisadmin
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/12571/ServerBindings 192.168.1.10:8080:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/12571/SecurerBindings 192.168.1.10:443:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/11013/ServerBindings 192.168.1.50:8000:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/11013/SecureBindings 192.168.1.50:443:

<remainder of start commands go here>

Secondary Start.bat Script

NfNet start iisadmin
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/12571/ServerBindings 192.168.2.20:8080:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/12571/SecureBindings 192.168.2.20:443:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/11013/ServerBindings 192.168.2.60:8000:
cscript c:\inetpub\adminscripts\adsutil.vbs set W3SVC/11013/SecureBindings 192.168.2.60:443:

<remainder of start commands go here>


Applies To

Neverfail for IIS


Related Information

None

KBID-1170

1 out of 1 found this helpful

Comments

0 comments

Please sign in to leave a comment.