Behavior of the LooksAlive and IsAlive functions for the resources that are included in the Windows Server Clustering component of Windows Server 2003 (914458)



The information in this article applies to:

  • Microsoft Windows Server 2003, Datacenter Edition
  • Microsoft Windows Server 2003, Enterprise Edition

INTRODUCTION

This article describes the behavior of the LooksAlive and IsAlive entry-point functions for the resources that are included in the Windows Server Clustering component of Microsoft Windows Server 2003.

MORE INFORMATION

Physical Disk resource (ClusRes.DLL)

  • LooksAlive
    The Cluster service (ClusDisk.sys) issues a reservation every three seconds against all managed disks or against all Physical Disk resources. The LooksAlive poll verifies whether the flag on the Physical Disk resource is set. If the flag is not set, the periodic reservation has failed.
  • IsAlive
    The IsAlive test performs a procedure that is equivalent to a DIR command that is performed against the root of the disk.
Note When the Physical Disk resource is first brought online, the Cluster service creates a temporary file to verify that the disk is not corrupted and that it has appropriate permissions to the root. This verification process creates and then deletes a small file on the disk. The following is an excerpt from the Cluster.log file that shows this process:

Physical Disk Disk X: DisksWriteTestFile: Creating test file (X:\zClusterOnlineChk.tmp)

IP Address resource (ClusRes.DLL)

  • LooksAlive
    IP Address resource failure detection is based primarily on Microsoft Cluster service (MSCS) network interface failure detection. The IP Address resource listens for network interface failure notifications by using the Cluster service (ClusAPI). When the Cluster service declares that a network interface has failed, the IP Address resource sets a failure flag on each IP Address resource that is hosted on the failed interface. For example, this behavior may occur when a loss of heartbeats causes nodes to vote on which interface has failed. The next time that the LooksAlive function is called, the resource fails.

    The LooksAlive function also does the following:
    • Queries the TCP/IP driver to make sure that the network table entry for the virtual IP address is still present in the stack. The network table entry corresponds to an IP address.
    • Queries the NetBT driver to make sure that the NetBT device is still present if NetBIOS is enabled for the resource.
    For more information about network interface failure detection in server clusters, click the following article number to view the article in the Microsoft Knowledge Base:

    892422 Overview of event ID 1123 and event ID 1122 logging in Windows 2000-based and Windows Server 2003-based server clusters

  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Network Name resource (ClusRes.DLL)

  • LooksAlive
    Network Name resource failure detection has a "still present" test that is similar to the IP Address resource test. If NetBIOS is enabled for a Network Name resource, the Network Name resource queries the NetBT device to verify that the virtual name is still loaded on the network stack.

    The Network Name resource also has a worker thread that registers Host (A) resource records every 24 hours. Optionally, reverse lookup (PTR) resource records can be registered. The Network Name resource uses the DNS server or servers that are associated with the Network Name resource's dependent node IP address or addresses. The DNS servers must be configured to accept dynamic updates.

    The status for each registration attempt is verified during the LooksAlive test. If all the registrations fail and if the virtual name is no longer registered by using NetBIOS, the virtual name is considered to be no longer reachable. Therefore, the resource has failed. Additionally, the Network Name resource fails if the "DNS is Required" property is set to one and if one or more DNS registrations have failed.

    Note In both of these scenarios, a communications time-out with the DNS server is not considered to be a failure.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

File Share resource (ClusRes.DLL)

  • LooksAlive
    The LooksAlive test for a File Share resource retrieves the properties of the share from the Server service as a basic test that the share exists.
  • IsAlive
    The IsAlive test for a File Share resource does the same thing as a LooksAlive test. If the MaxUsers property is set to -1 (unlimited), the IsAlive function opens the first file on the share by using the share name. Otherwise, the IsAlive function tests that the directory path that is associated with the share is still valid.

File Share resource as stand-alone DFS Root (ClusRes.DLL)

  • LooksAlive
    The LooksAlive test for a Distributed File System (DFS) Root File Share resource retrieves the feature flags of the share from the Server service as a basic test that the share exists. The flags are checked to verify that the share is marked as a DFS Root.
  • IsAlive
    The IsAlive test for a DFS Root File Share resource does the same thing as the LooksAlive test. Additionally, the IsAlive test requests the referrals that are associated with the dependent virtual name. If that test is successful, the DFS Root File Share resource opens the first file on the share.

Spooler resource (ClusRes.DLL)

  • LooksAlive
    The LooksAlive test for the Spooler resource queries Service Control Manager (SCM) to see whether the SpoolSV.exe process is in a "Running" state.
  • IsAlive
    The IsAlive function tests the Spooler resource by making a call to the Local Print Provider (Localspl.dll) in the printing subsystem. The call directs the Local Print Provider to grab and to release a critical section of code in memory. This test verifies that the Spooler service is functional and responsive.

Generic Service resource (ClusRes.DLL)

  • LooksAlive
    The LooksAlive test for the Generic Service resource queries SCM to see whether the specified service is in a "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Generic Application resource (ClusRes.DLL)

  • LooksAlive
    The Generic Application resource differs from most other core resources because the resource does not implement the standard LooksAlive and IsAlive entry points. Instead the Generic Application resource returns the process handle of the child application process back to Resource Monitor. Therefore, the Resource Monitor process must wait for the process handle. If the application fails, the process handle is signaled. This behavior indicates that the process has stopped. In this case, the Generic Application resource does not take five seconds to fail when the application fails. Instead, the Generic Application resource goes to a failed state immediately, even though the default value for the LooksAlive test is five seconds.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Generic Script resource (ClusRes.DLL)

  • LooksAlive
    The Generic Script resource type lets a developer implement a custom LooksAlive entry point by using a scripting language, such as Microsoft Visual Basic Scripting Edition (VBscript) or Jscript. The developer of the script must build the LooksAlive code in this scenario.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Distributed Transaction Coordinator resource (MTXClu.DLL)

  • LooksAlive
    The LooksAlive test for the Distributed Transaction Coordinator resource queries SCM to see whether the specified service is in a "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Message Queuing resource (MQClus.DLL)

  • LooksAlive
    The LooksAlive test for the Message Queuing resource queries SCM to see whether the corresponding Message Queuing cluster service is in a "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Message Queuing Triggers resource (MQTGClus.DLL)

  • LooksAlive
    The LooksAlive test for the Message Queuing Triggers resource queries SCM to see whether the corresponding Message Queuing Triggers cluster service is in a "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

WINS resource (ClNetRes.DLL)

  • LooksAlive
    The LooksAlive test for the Windows Internet Name Service (WINS) resource queries SCM to see whether the corresponding WINS service is in a "Start Pending" or "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

DHCP resource (ClNetRes.DLL)

  • LooksAlive
    The LooksAlive test for the Dynamic Host Configuration Protocol (DHCP) resource queries SCM to see whether the corresponding DHCP service is in a "Start Pending" or "Running" state.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Volume Shadow Copy Service Task resource (VSSTask.DLL)

  • LooksAlive
    The LooksAlive test for the Volume Shadow Copy Service Task resource verifies if the job is known to the Task Scheduler service.
  • IsAlive
    The IsAlive test is the same as the LooksAlive test in this context.

Modification Type:MajorLast Reviewed:3/22/2006
Keywords:kbhowto kbExpertiseInter KB914458 kbAudITPRO