DHCP-Migration mit Hilfe der Windows-Server-Migrationstools…
Ein Kunde möchte seine Active-Directory-Infrastruktur von Windows Server 2003 SP2 auf Windows Server 2008 R2 migrieren. Ein In-Place-Upgrade kommt nicht in Frage, zumal dank Virtualisierung eine Koexistenz schnell geschaffen werden kann. Hierbei sollen alle Domain Controller auf 2008 R2 migriert werden – ein Domain Controller fungiert zudem als DHCP-Server für Clients im Netzwerk. Da Aufgrund der Vielzahl an Reservierungen und Leases nicht einfach ein neuer DHCP mit identischen Einstellungen in Betrieb genommen werden kann, muss die DHCP-Server-Datenbank, sowie die Einstellungen exportiert und auf dem neuen System importiert werden.
Was aber mache ich, wenn die in der Vergangenheit bewährten Methoden nun nicht mehr funktionieren?
In der Vergangenheit gab es einige Möglichkeiten, einen DHCP-Server erfolgreich und schnell zu migrieren. Ein Ex- und Import mit “netsh dhcp server export C:\dhcp.txt all und netsh dhcp server import c:\dhcpdatabase.txt all” beispielsweise oder direkt die DHCP-Server-Funktion “Sichern und Wiederherstellen”.
Die Migration stellt sich nicht immer so einfach dar – ein Domain Controller mit DHCP-Server-Rolle macht die Migration nicht unbedingt einfacher, da es keinen lokalen Administrator mehr gibt der jedoch für den Export vorrausgesetzt wird.
Artikel KB 325473:
…if you plan to promote it to a domain controller, we suggested that you perform the DHCP database migration before promoting it to a domain controller. Although you can migrate the DHCP database to a Windows 2003 domain controller, the migration to a member server will be easier because of the existence of the local administrator account…
Soweit so gut…
Auch die Möglichkeit einen Domain Controller im Wiederherstellungsmodus zu starten und dann mit “lokalem Administrator” den DHCP zu importieren, ist nicht gerade eine präferierte Option.
Hier kommen die Windows Server-Migrationstools zum Einsatz. Diese Powershell cmdlets stehen ab Windows Server 2008 R2 standardmäßig als Feature bereit und können im Server-Manager hinzugefügt werden. Mit diesen Tools ist es nun möglich, von Windows Server 2003 SP2 nach Server 2008 R2, von physikalisch nach virtuell und von einer x86 zu einer x64-Architektur zu migieren – also genau das was ich benötige. Was jedoch nicht möglich ist, ist die Migration bei dem sich die Sprache der Benutzeroberfläche von der des Quellservers unterscheidet. Daher ist es nicht möglich z. B. die Windows Server-Migrationstools zum Migrieren von Rollen, von einem Computer unter Windows Server 2008 mit einer französischen Systembenutzeroberfläche zu einem Computer unter Windows Server 2008 R2 mit einer deutschen Systembenutzeroberfläche zu verwenden. Genauso wenig möglich ist die Migration von Server Core-Rollen, da schlichtweg die Vorraussetzungen (kein .NET Framework verfügbar) im Server Core nicht verfügbar sind.
Vorbereiten der Migration
Step 1: Installieren der Windows Server-Migrationstools (Zielserver, Windows Server 2008 R2)
Als erstes müssen auf dem späteren DHCP-Server und Domain Controller die Windows Server-Migrationstools installiert werden. Im Vorfeld sollte optimalerweise auch das System auf den aktuellsten Stand gebracht werden. Außerdem muss mindestens das .NET Framework 2.0 und die Windows PowerShell 1.0 verfügbar sein. Die Installation der Windows Server-Migrationstools kann einfach über den Server-Manager, über Features hinzufügen, installiert werden.

Step 2: Erstellen eines Server-Migrationtool-Deployment-Package (Quellserver, Windows Server 2003 SP2 x86)
Um die Migrationstools für den Export auch auf unserem Quellserver nutzen zu können, muss nun ein Installationspaket für unseren Windows Server 2003 SP2 x86 mit den installierten Tools auf unserem Zielserver erstellt werden.
Hierzu wechseln wir auf der Kommandozeile in das Verzeichnis “C:\Windows\System32\ServerMigrationTools” und führen folgenden Befehl zum erstellen des Paketes aus:
>SmigDeploy.exe /package /architecture X86 /os WS03 /path c:\

Hiermit wird auf dem Zielserver (Windows Server 2008 R2) in Laufwerk C:\ ein Ordner mit dem Namen “SMT_<Betriebssystem>_<Architektur>”, in meinem Fall der Ordner “SMT_WS03_x86″ erstellt.
Step 3: Kopieren des Ordners “SMT_WS03_x86″ vom Ziel- auf den Quellserver
Nun muss der komplette Ordner noch auf den Quellserver (Windows Server 2003 SP2) kopiert werden. In meinem Fall kopiere ich diesen auch in “C:\SMT_WS03_x86″. Auch auf dem Quellserver muss zur Ausführung der Tools mindestens das .NET Framework 2.0 und die PowerShell 1.0 installiert sein.
Step 4: Registrieren der SmigDeploy.exe auf dem Quellserver
Um die cmdlets der Migrationstools auch auf dem 2003 Server nutzen zu können, müssen diese wie folgt registriert werden. Dazu wechseln wir auf der Kommandozeile in das Verzeichnis “C:\SMT_WS03_x86″ und führen folgenden Befehl aus:
>.\Smigdeploy.exe

Step 5: Exportieren der DHCP-Datenbank und Einstellungen mit Export-SmigServerSetting cmdlet (Quellserver)
Um nun die bestehenden DHCP-Einstellungen zu exportieren, empfiehlt es sich zuallererst den DHCP-Dienst zu stoppen. Dann wechseln wir in der Kommandozeile in den eben kopierten Ordner “C:\SMT_WS03_x86″ und führen zum Export folgenden Befehl aus:
>Export-SmigServerSetting -FeatureID “DHCP” -Path “C:\” -Verbose
Für die zu exportierende Datei muss noch ein Password mit mindestens sechs Stellen vergeben werden. Nach Erfolgreichem Export, erhalten wir in Lauwerk “C:\” eine Datei mit dem Namen “servermig.mig”. Jetzt kann der temporär gestoppte DHCP-Dienst vorläufig wieder aktiviert werde.
Step 6: Importieren der DHCP-Datenbank und Einstellungen mit Import-SmigServerSetting cmdlet (Zielserver)
Nun kopieren wir die exportierte Datei wieder auf unseren Zielserver. Der Einfachheithalber auch hier wieder auf “C:\servermig.mig” und wechseln auf die Kommandozeile. Mit dem Befehl:
>Import-SmigServerSetting -FeatureID “DHCP” -Path “C:\” -Verbose
importieren wir die Konfiguration auf unserem neuen Windows 2008 R2 Server. Das tolle daran ist, dass nicht einmal ein DHCP-Server vorab installiert werden muss. Die Import-Routine erkennt, ob der DHCP installiert ist oder nicht und installiert diese Rolle eigenständig. Es kann dabei durchaus sein, dass der Import mehrere Minuten dauert auch wenn die *.mig-Datei nur wenige KB groß ist – hiervon sollte man sich aber nicht irritieren lassen.
Step 7: Prüfen der importierten Einstellungen
Jetzt gilt es noch die importierten Einstellungen zu prüfen, den alten DHCP-Server zu deaktivieren und die Autorisierung im AD aufzuheben, den neuen DHCP-Server in Betrieb zu nehmen und zu autorisieren. Wichtig ist es auch vorab noch bestimmte Schnittstellen zu prüfen, die den alten DHCP-Server nutzen. Dies kann zum einen eine VPN-Appliance sein und zum anderen Server die als DHCP-Relay fungieren – hier muss die IP-Adresse bzw. der DNS-Name auch umgestellt werden. Diese Schnittstellen gilt es jedoch vor der Migration, in der eigentlichen Planung, genauer unter die Lupe zu nehmen.
Sind alle benötigten Einstellungen vorhanden, steht der Promotion zum Domain Controller nichts mehr im Wege.
Nächster Artikel: DHCP-Split-Scope
Links:
Handbuch zur DHCP-Server Migration (Technet)
Thomas Gronenwald