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
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
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:
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