XenServer Pool-Master Änderung
In einem Ressource Pool gibt es immer einen Master Server. Obwohl alle Server innerhalb eines Pools eine synchronisierte Kopie der Informationen haben, ist der Master Server der einzige der Informationen mit dem XenCenter austauscht. Das bedeutet, wenn der Master Server ausfällt besteht keine Möglichkeit die Umgebung bzw. diesen Pool über das XenCenter zu administrieren.
Hintergrund:
Anders als es beispielsweise bei Citrix XenApp Server Produkten (ehemals Presentation Server) bekannt ist, wählt sich nicht automatisch ein neuer Master Server. Die Server im Pool warten 60 Sekunden bis sie den Master Server wieder erreichen und gehen dann in einen „Emergency Mode“. Dieses Dokument beschreibt die erforderlichen Schritte um die Master Server Rolle auf einen anderen Server zu übertragen.
Prozess
Sollte der Master Server eines Pools nicht mehr erreichbar sein, zeigt sich das für den Administrator meist durch nicht mehr laufende virtuelle Maschinen. Um das Problem zu verifizieren wird dann das Xen Center gestartet. Hier stellt der Admin dann fest, dass er keine Verbindung zu seinem Pool bekommt. Sollte dann der Master Server durch einen einfachen Restart nicht wieder hochgefahren werden, hilft es nur einen neuen Master Server zu benennen.
Um an erster Stelle zu verifizieren ob sich die anderen Pool Server in einem Emergency Mode befinden, brauchen wir eine Eingabeaufforderung an einem der anderen Xen Server. Um auf die CLI eines Xen Servers zu kommen gibt es viele Wege (die meisten davon sind hier zu finden). Mit folgendem Kommando rufen wir den Status ab:
xe host-is-in-emergency-mode
Die Antwort des Servers sollte dann True sein (ist der Status jedoch false, kann der Server nicht zum master gemacht werden).
Jetzt müssen wir noch die Rolle auf einen anderen Server übertragen. Das erreichen wir auf einem Slave Server (der der neue Master Server werden soll) mit folgendem Kommando:
xe pool-emergency-transition-to-master
Sobald der neue Server die Master Rolle übernommen hat, müssen noch alle anderen Slave Server die noch im „Emergency Mode“ sind zurückgesetzt werden. Dies erreicht man auf dem neuen Master Server mit dem Kommando:
xe pool-recover-slaves
Wichtig an dieser Stelle ist noch, dass der neue Master Server auf das richtige Default SR zeigt. Das kann jetzt im XenCenter überprüft werden (hier muss natürlich der neue Master verbunden werden, da es sonst zu einer Fehlermeldung kommt) oder über die CLI mit dem Kommando:
xe pool-param-list