Windows Server 2012/2012R2 Cluster’in hic bir node’u uzerinden Cluster Failover Manager acamiyorsunuz.

Bir cluster’i yonetmek icin herhangi bir node uzerinden “Failover Cluster Manager” actiginizda, otomatik olarak butun node’lara baglanip WMI call’lari yaparak cluster konfigurasyonunu ogrenmeye calisacaktir. Her node’lardan birinde "root\mscluster" WMI namespace’i yok ise asagidaki hatalari alirsiniz:

The operation has failed.

An error occurred connecting to the cluster 

An error occurred trying to display the cluster information.

One or more errors occurred.

Provider load failure

image

The operation has failed.

An error occurred connecting to the cluster 

An error occurred trying to display the cluster information.

One or more errors occurred.

Invalid namespace

image

Ama ne yazikki bu mesajlar hangi node uzerinde gerekli WMI workspace’in bulunmadigini belirtmezler. Bunu bulmanin bir yolu her node uzerinde ayri ayri asagidaki komutu kullanmaktir:

Get-WmiObject -namespace "root\mscluster" -class MSCluster_Resource

Fakat cok sayida node’unuz varsa ornegin 64, bu islem biraz karmasik ve zaman kaybettiren bir islem olabilir. Onun icin cok sayida node mevcut ise asagidaki scripti kullanabilirsiniz:

Set-ExecutionPolicy unrestricted

cls

If(import-module failoverclusters)
{

Write-Host "Imported Cluster module"

}

Write-Host "Getting the cluster nodes..." -NoNewline
$nodes = Get-ClusterNode
Write-host "Found the below nodes "
Write-host " "
$nodes
Write-host ""
Write-host "Running the WMI query...."
Write-host " "
ForEach ($Node in $nodes)
{
Write-Host -NoNewline $node

              if($Node.State -eq "Down")
{

                    Write-Host -ForegroundColor White " : Node down skipping"
}

else
{

           Try
{
#success

              $result = (get-wmiobject -class "MSCluster_CLUSTER" -namespace "root\MSCluster" -authentication PacketPrivacy -computername $Node -erroraction stop).__SERVER
Write-host -ForegroundColor Green " : WMI query succeeded "
}
Catch
{

#Failure

              Write-host -ForegroundColor Red -NoNewline " : WMI Query failed "
Write-host "//"$_.Exception.Message
}
}

}

Fail eden node asagidakine benzer bir hata verecektir:

image

Bu problem gidermek icin asagidaki komutu, “Run As Admin” ile acilmis bir Command Prompt (CMD) penderesinde sadece fail eden node veya node’lar uzerinde calistirmaniz yeterlidir:

cd c:\windows\system32\wbem
mofcomp.exe cluswmi.mof

Ilgili WMI namespace yukaridaki komutla eklendikten sonra artik “Failover Cluster Manager” i sorunsuz bir sekilde acabilirsiniz.

Daha onceki tecrubelerinziden “mofcomp.exe *.mof” komutunu calistirip ilgili namespace’i yukeleyemezmiydik diyor olabilirsinz, fakat Windows Server 2008 ve sonrasi sistemlerde “mofcomp.exe *.mof” komutunun kullanilmasini onermiyoruz, cunku ilgili klasorun icerisinde feature’lar icin ozel olan namesopace’leri uninstall eden “.mof” dosyalari da bulunmaktadir, “mofcomp.exe *.mof” komutunu calistirdiginizda sitenmeyen durumlara yol acabilirsiniz!

WMI Repository’i recompile etmenin en uygun yontemi asagidaki linklerde aciklanmistir:

WINMGMT
https://msdn.microsoft.com/en-us/library/aa394525(v=vs.85).aspx

WMI Troubleshooting: The Repository on Vista / Server 2008
https://blogs.technet.com/b/askperf/archive/2008/07/11/wmi-troubleshooting-the-repository-on-vista-server-2008.aspx

Note: Linklerdeki bilgiler Windows 2012/2012R2 icin de gecerlidir.

Ozan KÖKSAL