Unwirkliche Welten
Transcription
Unwirkliche Welten
www.vmaschinen.de virtuelle Maschinen mit VMware® und Virtual PC® Tips, Tricks und HOWTOs Virtualisierung für Profis und Einsteiger Serverkonsolidierung, Testumgebung, mobile Demo Physical to Virtual mit VMware - Teil2 Physical to Virtual mit VMware – Teil2 Im Teil1 wurde die grundlegende Vorgehensweise erläutert, um eine physische Maschine in eine VM zu klonen. Viele Anwender waren mit Teil1 bereits erfolgreich. Für den Rest geht es im Teil2 ans Eingemachte – die Behebung aller Fehler und Ursachen vieler Bluescreens! Hinweis: Dieses PDF-Dokument enthält Lesezeichen als Inhaltsverzeichnis! Solche netten Überraschungen lauern bei einer Virtualisierung an einigen Ecken! C’t-Artikel 24-2005, S. 208 „Seelenwanderung“ Als Ergänzung möchte ich auf meinen oben genannten Artikel in der Zeitschrift C’t hinweisen. Er beschreibt ebenfalls die Vorgehensweise einer Migration in eine VM. Schwerpunkt ist das Tool BartPE und es gibt einen kleinen Zusatz zum Dual-Boot zwischen Hardware und VM. Ergänzungen zum Teil1 des Workshops Quellsystem liegt auf SCSI oder SAN Gleich nach dem Erscheinen von Teil1 tauchte folgende Frage am häufigsten auf: Was ist, wenn mein Quellsystem auf SCSI-Platten bzw. auf einem RAID-Array liegt oder gar vom SAN bootet? Das ist völlig egal! Die Anleitung aus Teil1 funktioniert auch dann. Die ZielVM bootet nach dem Zurückspielen des Images ohne Probleme von der neuen IDE-Platte, wenn vorher im Quellsystem der Standard-IDE-Treiber installiert wurde. Alte RAID- oder SCSI-Treiber können im Gerätemanager der Ziel-VM später entfernt werden. Alle auftauchenden Probleme (sh. unten) haben nichts mit der Art der Quellplatte zu tun! Klonen auf eine virtuelle SCSI-Platte Um das System direkt auf eine SCSI-Platte zu Klonen (z.B. ESX-Server), ist einiges mehr zu beachten, als beim einfachen Weg über den Standard- 1 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 IDE-Treiber. Eine detaillierte Beschreibung zu den SCSI-Treibern unter VMware finden Sie hier: http://www.vmaschinen.de/cgi-bin/vmware.cgi?scsi Image erstellen und zurückspielen mit einer BartPE-CD Wer lieber mit einer BartPE-CD oder ähnlichem bootet, kann sich die Wartungs-VM sparen. In die neu erstellte Ziel-Maschine wird dann einfach ein ISO-Image der CD eingebunden. Wenn die Boot-CD auch Netzwerkunterstützung bietet, kann das Image der Quellmaschine auf dem Host abgelegt und von dort in die VM zurückgespielt werden. Auch ein direktes Überspielen ist mit einigen Tools möglich. virtuelle Ziel-Platte mit VMware-Disk-Mount Die virtuelle Ziel-Platte kann auch am Host, völlig ohne VM gemountet werden. So lässt sich z.B. die Boot.ini bearbeiten, die Registry editieren oder die HAL ersetzen: http://www.vmaschinen.de/download/vm_mount.pdf Viele Wege führen nach Rom! Fehler beim ersten Startvorgang der VM Nun aber zu den Fehlern, die bei einer Virtualisierung lauern. Für die häufigsten Probleme finden Sie hier eine Lösung. Ziel-VM bootet nicht (keine aktive Partition) Wenn das Zielsystem nach dem Klonvorgang nicht bootet, dann liegt das im einfachsten Falle daran, dass die Partition nicht auf „aktiv“ gesetzt wurde. Vor allem das in Teil1 vorgestellte DriveSnapshot aktiviert Partitionen nicht automatisch! Am einfachsten geht das Aktivieren direkt in der Datenträgerverwaltung der Hilfs-VM. Ziel-VM bootet nicht (fehlender MBR) Wurde die neue leere Zielplatte in der Datenträgerverwaltung nicht mit einer Signatur versehen (letztendlich nichts weiter als der Master-BootRecord), dann kann von dieser Platte nicht gebootet werden. 2 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 Nachträglich lässt sich z.B. mit der Windows-CD booten. In der Wiederherstellungskonsole ("R" wie Recovery) dann folgende Kommandos eingeben: C:>fixmbr /Device/Harddisk0 (fixboot oder fixmbr) Ziel-VM bootet nicht (CHS-Geometrie) Beim ersten Boot-Versuch der Ziel-VM erscheinen Fehler, wie "Ntldr is missing", "A disk read error occurred" oder nur ein blinkender Cursor auf einem schwarzen Bildschirm. Ursache ist eine andere Plattengeometrie der Zielplatte. Da Windows (immer noch!) den Einsprungpunkt seines Bootloaders direkt per CHS angibt, wird eine falsche Stelle angesprungen, wenn die neue Platte andere Geometriedaten liefert. Der Fehler taucht vor allem bei bestimmten Quellplatten (IBM...) oder Raid-Systemen auf. Mit dem Tool "Testdisk" kann der richtige Wert ermittelt und korrekt geschrieben werden. Dazu ist die Ziel-Platte nochmals in die Hilfs-VM umzuhängen. http://www.cgsecurity.org/index.html?testdisk.html Boot.ini anpassen Wenn im Quellsystem die Systempartition nicht die erste Partition auf der Platte war, dann führt das ebenfalls zu einem Bluescreen in der Ziel-VM. Markengeräte der Serverhersteller haben z.B. oftmals eine kleine Wartungspartition an erster Stelle, welche beim Klonvorgang nicht mit kopiert wurde. Nach dem Klonen ist die boot.ini auf der Ziel-Platte zu editieren. Da wir eine separate Platte (disk0) mit nur einer Partition (partition1) als System verwenden, sollte die Boot.ini etwa so aussehen: [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(1)\WINNT [operating systems] multi(0)disk(0)rdisk(0)partition(1)\WINNT="Windows 2000 Server" /fastdetect Achtung! Beachten Sie die Zählweise! Platten beginnen bei Nummer 0, Partitionen bei Nummer 1! Alte Treiber verursachen einen Bluescreen Manchmal verursachen alte Treiber oder DLLs beim Start der Ziel-VM einen Bluescreen. 3 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 Die fehlerhafte Treiber-Datei der Bluesreen-Meldung wird am besten einfach umbenannt. Dazu die Platte wieder einmal in die Hilfs-VM einhängen. Die VM müsste nach dem Entschärfen des Treibers oder der DLL starten und der Treiber oder die Anwendung kann bei laufender VM dann sauber deinstalliert werden. Tipp: Sollte die Fehlermeldung zu schnell verschwinden, um den Treibernamen zu lesen, kann unter Workstation oder GSX der Bluescreen mittels Suspend eingefroren werden. Dann lässt sich im Verzeichnis der VM die *.png-Datei mit einem Bildbetrachter öffnen. Die Quelle ist ein Multiprozessor-System Wenn die fertig geklonte Ziel-VM eine hohe CPU-Last des Hosts verursacht, obwohl in der VM keinerlei Last im Task-Manager zu sehen ist, dann war die Quelle wahrscheinlich ein Multiprozessor-System. Nur beim ESX-Server mit Virtual SMP machen MPS-VMs keine Probleme. Aber auch beim ESX ist es nicht sinnvoll, alle Maschinen mit SMP zu betreiben, weswegen ein Downgrade nützlich sein kann. Ein Multiprozessor-PC kann ab Windows2000 nach dem Klonen einfach in einen Single-CPU-PC geändert werden über den Gerätemanager > Computer. Wichtig ist hier, innerhalb der Klasse zu bleiben. Ein Wechsel zwischen ACPI oder Nicht-ACPI führt bei dieser Methode zu einem Bluscreen! vorher: "ACPI Multiprocessor PC" danach: "Advanced Configuration and Power Interface (ACPI) PC" NICHT!: "ACPI Uniprocessor PC" Oder: vorher: "MPS Multiprocessor PC" danach: "Standard PC" NICHT!: "MPS Uniprocessor PC" Achtung! "ACPI Uniprocessor PC", bzw. "MPS Uniprocessor PC" adressieren ein Dual-Board mit nur einer CPU bestückt. Das wäre in einer VM auch falsch! 4 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 Multiprozessor-Systeme unter NT4 Unter NT4 funktioniert der Wechsel von Multi- zu Single-CPU nur durch direktes Ersetzen der HAL. Starten lässt sich NT mit Multiprozessor-HAL in einer normalen VM nicht, es läuft sofort in einen Bluescreen! Hier müssen VOR DEM ERSTEN START einige Dateien manuell kopiert werden. Achtung! Dieses Vorgehen wird von Microsoft nicht empfohlen (funktioniert aber)! Am besten in einer VM vorher ein gleiches System mit gleichem ServicePack und Patch-Stand frisch installieren. Von dort aus System32 folgende Dateien kopieren und dann über die Hilfs-VM auf der Ziel-Platte ersetzen: Ntoskrnl.exe Kernel32.dll Winsrv.dll Hal.dll Ntdll.dll Win32k.sys Keine Anmeldung am DC: verschobene Transaction-Logs Nach dem Klonen startet ein W2K-Domänen-Controller in der VM sauber durch, aber es ist keine Anmeldung möglich. Das deutet darauf hin, dass aus Performance-Gründen in der Quell-VM die Transaction-Logs oder die Datenbank der ADS auf eine andere Partition verschoben wurde, welche jetzt im Klon noch fehlt. Der sauberste Weg ist natürlich, die Logs schon in der Quelle mittels Wiederherstellungskonsole wieder zurück auf C: zu verschieben. Wer das nicht kann (laufendes System bei erster Test-Migration), erreicht dies auch nachträglich durch Patchen der Registry der Ziel-VM. Eine Anleitung dazu gibt es bei mir per Mailanfrage. Registry nachträglich ändern Um Änderungen an der Registry des Zielsystems zu machen, wenn dieses nicht läuft, kann die externe Registry direkt in der Wartungs-VM, mit einer BartPE-CD oder per VMware-Disk-Mount bearbeitet werden: regedt32 starten Menü: Registrierung > Struktur laden Dateien im Ordner "%SystemRoot%\system32\config" der virtuellen Zielplatte öffnen: system für: HKEY_LOCAL_MACHINE\System software für: HKEY_LOCAL_MACHINE\Software einen beliebigen Key-Namen festlegen, z.B. „system_vm“ unter diesem Key kann die externe Registry nun direkt bearbeitet werden Achtung! alle hier gemachten Änderungen werden sofort geschrieben! 5 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 Registry „impfen“ Um ganze *.reg-Dateien in eine fremde Registry zu importieren, können Sie mit folgendem Beispiel-Script arbeiten: rem „system_vm“ ist ein beliebig festzulegender Name rem „winnt“ ist mit der %SystemRoot% des Zielsystems zu ersetzen reg LOAD HKLM\system_vm winnt\system32\config\System regedit /s regdatei.reg reg UNLOAD HKLM\system_vm Das benötigte Programm reg.exe ist bei XP/2003 schon dabei, bei W2K befindet es sich auf der Windows-CD im Verzeichnis support\tools. Eine passende *.reg-Datei, um z.B. den Standard-IDE-Treiber oder die VMware-SCSI-Treiber nachträglich zu installieren, finden Sie in Kürze hier: http://www.vmaschinen.de/cgi-bin/vmware.cgi?treiberreg Eigentlich sollten solche Nacharbeiten eher die Ausnahme sein, wenn man schon in der Quelle vor dem Klonvorgang die benötigten Treiber, wie im Teil1 beschrieben, vorinstalliert hat. Reparatur-Installation – letzter Notnagel Zum Abschluss möchte ich noch auf die Möglichkeit einer ReparaturInstallation mit der Windows-Installations-CD mit nachträglichem Aufspielen aller SPs und Patches hinweisen (wenn keine Slipstream-CD verwendet wird). Diese etwas langwierige Methode kann ebenfalls viele Fehler wieder bereinigen. Allerdings mit dem Risiko, doch hin und wieder die eine oder andere DLL eines installierten Programms mit zu überschreiben. Nacharbeiten an der lauffähigen VM Sind alle Fehler bereinigt und die Kopie des physischen Rechners startet in einer VM, dann sind noch einige Nacharbeiten nötig, um den Virtualisierungsvorgang abzuschließen. Alte Treiber entfernen Alten Gerätetreiber, welche Sie nach dem P2V gerne entfernen möchten, sind im Gerätemanager oftmals nicht mehr sichtbar, z.B. die alte Netzkarte. An sich ist das kein Problem, diese Geräte stören meist nicht. Nur bei Netzkarten kommt immer wieder eine lästige Fehlermeldung, dass die IPAdresse schon vergeben ist, wenn man dem neuen virtuellen Adapter die IP des alten Quell-Rechners geben will. 6 Copyright 2005 Sven Ahnert - www.vmaschinen.de www.vmaschinen.de Physical to Virtual mit VMware - Teil2 So spüren Sie verborgene Geräte auf: Kommandozeile starten: START > cmd an der Kommandozeile folgende Kommandos eingeben: (Achtung! Aus der gleichen DOS-Box starten!) set devmgr_show_nonpresent_devices=1 start DEVMGMT.MSC im so gestarteten Geräte-Manager: "Ansicht > Ausgeblendete Geräte anzeigen" Sonstiges - der Rest in Stichpunkten VMware Tools installieren. Defragmentierung des Laufwerkes C: Optional eine zusätzliche virtuelle Platte für Swap einrichten, dann die Auslagerungsdatei verschieben. Ereignisprotokoll auf Fehler kontrollieren. Netzkarte neu konfigurieren (sh. auch Newsletter) Jetzt nützt Ihnen die Datei „IP.txt“, welche im Teil1 mittels ipconfig /all > c:\ip.txt angelegt wurde. Das Konfigurieren sollte erst ganz zum Schluss geschehen, da durch neue Hardware in wechselnden virtuellen PCI-Slots ständig neue Netzkarten erkannt werden. Wenn nötig, MAC-Adresse des Quellrechners einstellen (sh. NetzwerkNewsletter). Daten mittels Datensicherung und Agents auf zusätzliche virtuelle Platten zurückspielen. Fertig! Herzlichen Glückwunsch, Ihr Server existiert nur noch virtuell in seiner eigenen Matrix! Sven Ahnert 7 Copyright 2005 Sven Ahnert - www.vmaschinen.de