Consider the following scenario:
- You use a Windows Storage Server 2003 R2 Service Pack 2 (SP2)-based server cluster or a Windows Unified Data Storage Server 2003-based server cluster.
- You enable the Single Instance Store (SIS) feature.
- The cluster resource group has one or more disk resources.
In this scenario, the cluster resource group cannot fail over between the cluster nodes. The administrator must restart the cluster node where the failure occurs to allow for the failover to continue.
Important Single Instance Store (SIS) is a feature on Windows Storage Server 2003 that is an OEM only product. Please verify that your OEM version of Windows Storage Server supports the SIS feature in the scenario described in this article before you deploy SIS.
Requirements
- You must manually restart the groveller on both the source node and the destination node after the failover of a SIS enabled volume.
- The quorum disk must not be in the same resource group as a SIS enabled volume
- There may be no more than six SIS enabled volumes across the cluster.
SIS Volume Cluster Setup
There are known issues with using SIS in a cluster environment. This article describes how to configure SIS volume cluster resource to enable it to fallback correctly to any node on the cluster in Windows Storage Server R2 release.
Apply the fix
- Copy the following script to a text editor, such as Notepad. Then, save the file as Sisclusr.vbs.
Dim WshShell : Set WshShell = CreateObject("WScript.Shell")
Dim g_service : g_service = "Groveler"
Function Online()
LogInformation("Entering Online")
LogInformation("Starting " & g_service)
RunCommand "net start " & g_service, True
Online = 0
End Function
Function Offline()
LogInformation("Entering Offline")
LogInformation("Stopping " & g_service)
RunCommand "net stop " & g_service, True
If CheckServiceStopped(g_service) Then
LogInformation(g_service & " stopped")
Offline = 0
Else
LogInformation(g_service & " not stopped")
Offline = 1
End If
End Function
Function LooksAlive()
LooksAlive = 0
End Function
Function IsAlive()
IsAlive = 0
End Function
Function Open()
Open = 0
End Function
Function Close()
Close = 0
End Function
Function Terminate()
Terminate = 0
End Function
Function CheckServiceStopped(service)
Dim objWMIService
Dim strWMIQuery
Dim colServices
Dim retVal
retVal = False
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\.\root\cimv2")
On Error Resume Next
strWMIQuery = "Select * from Win32_Service where Name = '" & service & "' and State = 'Stopped'"
LogInformation("Querying WMI: " & strWMIQuery)
Set colServices = objWMIService.ExecQuery(strWMIQuery)
If Err.Number <> 0 Then
LogInformation("Unable to query '" & service & "' status: " & Err.Description & "(" & Err.Number & ")")
retVal = False
Else
If colServices.Count = 1 Then
retVal = True
Else
retVal = False
End If
End If
On Error GoTo 0
CheckServiceStopped = retVal
End Function
Function RunCommand(command, wait)
LogInformation("Executing: " & command)
RunCommand = WshShell.Run(command, 0, wait)
End Function
Function LogInformation(message)
Resource.LogInformation(message)
End Function - Copy the Sisclusr.vbs file to the %windir%\system32 directory on all cluster nodes.
- For each cluster group that has one or more cluster disk resources which are enabled with SIS, create a Generic Script cluster resource as follows:
- Run Cluster Administrator and open the cluster.
- Expand the Groups tree-node in the navigation pane of Cluster Administrator. For each cluster group that has one or more cluster disk resources,:
- Right-click the cluster group tree-node, point to New and then click Resource to start the wizard
- On the New Resource page of the wizard, in the Name box, type SIS Groveler cluster_group_name. For example if the cluster group name is CG1, the Generic Script resource name would be SIS Groveler CG1.
- On the Resource type list, select Generic Script.
- Click Next.
- On the Possible Owners page, add all nodes from the Available nodes list to the Possible owners list.
- Click Next.
- On the Dependencies page, add all physical disk resources which are enabled with SIS from the Available resources list to the Resource dependencies list.
- Click Next.
- On the Generic Script Parameters page, type the script file path: %windir%\system32\sisclusr.vbs
- Click Finish.
- Right-click the newly create resource and then click Bring Online to bring it online.
Procedures to use after you apply the fix
The following procedures must be used after you apply the SIS fix to clusters on a server that is running Windows Storage Server 2003 to maintain and configure SIS.
Procedure to add a physical disk resource that has SIS enabled
After the Physical Disk resource is created, follow these steps:
- Run Cluster Administrator, and then open the cluster.
- In the console tree, expand Groups, and then click the cluster group that contains the physical disk resource.
If the cluster group is online, take it offline.
- Right-click the SIS Groveler cluster group name generic script resource in the details pane, and then click Properties.
- Click the Dependencies tab.
- Click Modify.
- Add the physical disk resource that has SIS enabled from the Available resources list to the Resource dependencies list.
- Click OK two times.
- If the cluster group was taken offline in step 2, bring the cluster group back online.
Procedure to remove a physical disk resource that has SIS enabled
Before removing the Physical Disk resource, follow these steps:
- Run Cluster Administrator, and then open the cluster.
- In the console tree, expand Groups, and then click the cluster group that contains the physical disk resource.
If the cluster group is online, take it offline.
- Right-click the SIS Groveler cluster group name generic script resource in the details pane, and then click Properties.
- Click the Dependencies tab.
- Click Modify.
- Remove the physical disk resource that has SIS enabled from the Resource dependencies list to the Available resources list.
- Click OK two times. If the cluster group was taken offline in step 2, bring the cluster group back online.
Procedure to change a physical disk resource that has SIS enabled from one group to another group
- Before you change the group, perform "Procedure to remove a physical disk resource that has SIS enabled."
- Change the group.
- After you change the group, perform "Procedure to add a physical disk resource that has SIS enabled."
Procedure to add a new cluster node
Copy the script, Sisclusr.vbs, to the
%windir%\\system32 directory on the new cluster node.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed in the "Applies to" section.
This problem does not occur in Windows Server 2008.
For more information about the SIS feature in Windows Server 2003 R2, read the "Single Instance Storage in Microsoft Windows Storage Server 2003 R2" white paper. To obtain this white paper, visit the following Microsoft Web site: