Wer einen Hyper-V-Cluster betreibt und dafür kein separates Verwaltungsprogramm einsetzt, hat es mit den beiden bordeigenen Tools Hyper-V-Manager und Failover-Cluster-Manager zu tun. Leider sind diese beiden Werkzeuge nicht gut aufeinander abgestimmt, wie wir bereits an einigen Beispielen gezeigt haben.
Eine Stelle, an der sich dies deutlich zeigt, sind die Namen der virtuellen Maschinen. Leider ist es einfach möglich, dieselbe VM im Hyper-V-Manager anders zu benennen als im Failover-Cluster-Manager. Das folgende Bild illustriert dies.
Im Screenshot sehen wir rechts eine VM mit dem Namen “Exchange2003”, die im Hyper-V-Manager links nicht auftaucht. (Umgekehrt sieht man dort einige VMs, die der Cluster nicht kennt – das ist ein anderes Problem der beiden Programme, über das wir vor einigen Tagen einen Beitrag veröffentlicht haben.)
Wie kommt nun dies? Und wie findet man diese VM im Hyper-V-Manager wieder?
Tatsächlich zeigen der Hyper-V-Manager und der Failover-Cluster-Manager unterschiedliche Dinge an. Während der Hyper-V-Manager den Objektnamen der VM selbst anzeigt, führt der Failover-Cluster-Manager in seiner Liste den Namen der Clustergruppe auf. Normalerweise sind diese identisch – sie müssen es aber nicht sein, weil es sich logisch um getrennte Ressourcen handelt.
Öffnet man im obigen System die VM-Konfiguration von “Exchange2003” über den Befehl Einstellungen, so sieht man unten im Feld Name den VM-Objektnamen. Und tatsächlich, dort steht in diesem Beispiel “W2003”. Diese VM findet sich auch im Hyper-V-Manager.
Wo kommt aber der andere Name her? Den kann man setzen, indem man nicht den Befehl Einstellungen wählt, sondern den Befehl Eigenschaften. Der dann folgende Dialog bezieht sich nicht auf die VM als solche, sondern auf die Clustergruppe.
Es ist nicht empfehlenswert, hier unterschiedliche Namen zu verwenden. Wie schnell einleuchten dürfte, führt so eine Konstellation schnell zu Verwirrung und zu Problemen beim Troubleshooting.
Das folgende PowerShell-Kommando listet alle Cluster-VMs mit ihrem VM-Namen auf. (Das ist eigentlich nicht ganz korrekt: Es ist der Name der VM-Konfiguration im Cluster. Die könnte theoretisch noch mal anders lauten, aber das ist recht unwahrscheinlich. Den “echten” VM-Namen aufzulisten, würde aber ein deutlich komplexeres PowerShell-Kommando erfordern, was hier meist nicht nötig ist.)
Get-ClusterResource | Where-Object { $_.ResourceType -eq 'Virtual Machine' } | ft OwnerGroup,Name
http://faq-o-matic.net/?p=6591