October 5, 2010 at 5:04 pm
Hi,
I've created a test SQL Server clustering environment. I use SQL Server 2008 R2 on Windows Server 2008 R2 to do the experiment. Now I have one domain controller(also shared disk in this server), two nodes(node1 and node2). Everything works just fine. Since this is not a production environment, I need to power off these machines. I want to know are there some order I should take to power off or power on these machines? If so, why?
Thanks.
October 6, 2010 at 10:48 am
ogrishman (10/5/2010)
Hi,
I've created a test SQL Server clustering environment. I use SQL Server 2008 R2 on Windows Server 2008 R2 to do the experiment. Now I have one domain controller(also shared disk in this server), two nodes(node1 and node2). Everything works just fine. Since this is not a production environment, I need to power off these machines. I want to know are there some order I should take to power off or power on these machines? If so, why?
Thanks.
Essentially it doesn't really matter for your test system, but generally you will power off the nodes first then the domain controller. If the domain controller is offline it can affect login and DNS for the nodes.
-----------------------------------------------------------------------------------------------------------
"Ya can't make an omelette without breaking just a few eggs" 😉
October 7, 2010 at 7:36 am
I would take the sql server application offline and then power down passive node, active node.
Perry, your opinion?
October 7, 2010 at 7:58 am
In my experience, in a test environment, it is ok to shutdown the offline node, then the online node, then the DC. In a production environment, it would be best to stop the application, then shut down the nodes, then if it were necessary, the DC. That said, I find it's useful to follow the same procedure in test as production. Following this philiosphy, you are testing the process as well as the equipment and applications.
Also, when restarting, you would want to start the DC, then the online node and finally the offline node. This will keep the primary node online. If you start node b before node a, node b will assume ownership.
October 7, 2010 at 7:59 am
Halcyon (10/7/2010)
I would take the sql server application offline and then power down passive node, active node.Perry, your opinion?
Yes for a clean shutdown, the domain controller (which I guess is your DNS server too) would be the last to go down!
-----------------------------------------------------------------------------------------------------------
"Ya can't make an omelette without breaking just a few eggs" 😉
October 7, 2010 at 8:07 am
Also, while on the subject of clustering, I would like to share a VBScript that I wrote that will display the status of the cluster... It will list which Applications are owned by which node. Just a quick monitoring tool I have used in the past. It has only been tested on Server 2008 and above. It should work on Server 2003 systems, but I haven't had an occasion to test it there. You can also use it to check the status of any number of clusters. Just add the machine names into the arrComputers array.
'*******************************************************************************
' Script Name: clusterstat.vbs
' Purpose: Polls Cluster nodes and lists Owner of resources. Drops out after
'an array element responds. Goes to next in list if no answer. Timeout
'takes a while if no answer.
'Version: 1
'Usage: clusterstat.vbs
'*******************************************************************************
On Error Resume Next
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
arrComputers = Array("ClusterVM", "NODE1", "NODE2") 'replace these elements with your cluster VM, and each node name, using as many nodes as necessary
For Each strComputer In arrComputers
Set objWMIService =GetObject("winmgmts:" & "{impersonationLevel=impersonate," & "authenticationLevel=pktPrivacy}!" & "\\" & strComputer & "\root\mscluster")
If Err = 0 Then
strOutput = "==========================================" & VBCRLF &_
"Server Contacted: " & strComputer & VBCRLF &_
"==========================================" & VBCRLF
Set colItems = objWMIService.ExecQuery("SELECT * FROM MSCluster_NodeToActiveGroup", "WQL", _
wbemFlagReturnImmediately + wbemFlagForwardOnly)
For Each objItem In colItems
strOutput = strOutput & "Owner: " & objItem.GroupComponent & VBCRLF &_
"Cluster Resource: " & objItem.PartComponent & VBCRLF &_
"--------------------------------------------------------" & VBCRLF
Next
WScript.Echo strOutput
' --------------------------------------------
' Exit script once status is obtained
' --------------------------------------------
Exit For
' -----------------------------------------------------------
' Error generated if server fails to answer
' -----------------------------------------------------------
Else
WScript.Echo "Issue connecting to WMI on " & strComputer & "."
' --------------------------------------------------------------------
' clear error, move on
' --------------------------------------------------------------------
End If
Err.Clear
' --------------------------------------------------------
' Go to next server in array to check status if no answer from previous
' --------------------------------------------------------
Next
Viewing 6 posts - 1 through 5 (of 5 total)
You must be logged in to reply to this topic. Login to reply