BareMetal Deployment mit SystemCenter Virtual Machine Manager 2012 R2
In der letzten Zeit habe ich mich in einem Kundenprojekt intensiv mit dem Thema BareMetal Deployment mit dem SystemCenter Virtual Machine Manger 2012 R2 beschäftigt. Ausgehend von dem reinen BareMetal Deployment des VMM, welches ja einen Server zunächst mal mittels einer bootbaren VHDx einrichtet und startet, stand ich vor der Herausforderung, das weitere Einstellungen an den Systemen vorgenommen werden sollen, ohne nach dem Deployment nochmals Hand anlegen zu müssen.
Nun, einige werden sich jetzt denken, das das ja durchaus genügt, denn so ein paar Einstellungen kann ich im Anschluss ja per Hand noch setzen. Klar, kann man machen, für vielleicht 5 bis 10 Server! Aber im Rechenzentrumsbetrieb (> 20 Maschinen) möchte man ja alle Maschinen gleich konfiguriert haben und einen klaren, durchgängigen Prozess hierfür etablieren.
Also, um die manuellen Tätigkeiten hier auf das allernötigste Minimum herunterzufahren, haben wir ein PowerShell-Script entwickelt, welches als einzige Parameter die IP-Adresse des BMC-Controllers, den zukünftigen Namen des Rechners und die SCVMM Hostgruppe benötigt. Der Rest (Treiberpakete, Commandlets, Scripte) werden aus der Library des VMM gezogen.
An dieser Stelle möchte ich den Ablauf des Deployments, bzw. die gemachten Anpassungen beschreiben.
Zunächst galt es, die RAID-Konfiguration des Systems anzupassen. Hierzu musste mittels eines Powershell-Befehls das Hostprofile des SCVMM angepasst werden, um in der WinPE-Phase des BareMetal-Deployments den Befehl auszuführen, damit das Raid noch vor der Konfiguration der Platten aktualisiert wird, bzw. die bestehende Konfiguration zu löschen. Im Anschluss startet die Einrichtung der Harddisk und damit einhergehend das SCVMM Deployment. Dieses richtet den Server ein, macht den DomainJoin, installiert die HyperV-Rolle und das MultiPath-Feature.
Im Anschluss daran, übernimmt das Script wieder die Kontrolle und installiert das aktuelle angepasste BIOS. Auch die Energieoptionen der Netzteile werden jetzt angepasst, von einem aktiv/passiv (100%/0%) Modus auf einen aktiv/aktiv (50%/50%) Modus.
Nun wird auf dem Hostsystem noch ein Management Netzwerkteam gebildet und die gewünschte IP-Adresse für dieses Team konfiguriert.
Nach einem Reboot des Systems und dem Wiederverbindungsaufbau werden die neuen Einstellungen durch ein Discover dem SCVMM-Server bekannt gemacht, damit dieser nun weiß, das der neue Host über eine andere IP-Adresse erreicht werden muss.
Wenn dies durchlaufen ist, werden noch einige Treiber aktualisiert. Unter anderem werden die kompletten PCI-Treiber upgedatet, genau wie die Base System Devices. Auch die 10GB Mellanox-Treiber werden aktualisiert und das System nochmals gebootet.
Jetzt werden die 10GB Netzwerkkarten umbenannt und 2 der 4 Ports den entsprechenden Netzwerksegmenten (VLANs), nach der korrekten Ermittlung, zugeordnet. Über die 2 weiteren Ports wird ein VM-Netzwerkteam gespannt und dem korrekten Netz zugeordnet. Im Anschluss werden noch 2 vNICs gebildet, eine für das Backup und eine für die Replikation, um auch diesen Traffic aus dem VM-Netz heraus zu trennen, werden beide vNICs auf separate VLANs gesetzt.
Das Aufräumen (Löschen der Treiberpakete, Scripte, etc) des Hosts schließt sich noch an und nach einem abschließenden Reboot des neuen Systems kann der Host nun über den SCVMM genutzt werden.