Are there some orders in powering on and powering off of my clustering machines(domain controller, node1, node2 etc)?

  • 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.

  • 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" 😉

  • I would take the sql server application offline and then power down passive node, active node.

    Perry, your opinion?

  • 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.

  • 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" 😉

  • 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