Posts Tagged ‘Virtualisierung’
Booten in eine VHD – Klarstellung

Ich habe vor kurzem darüber berichtet, dass es mit Einführung von Windows 7 und Windows 2008 R2 möglich ist, direkt in eine VHD Datei (ohne Virtualisierung zu booten). In diversen Foren gab es dazu nun schon Artikel, die behaupteten, dass es möglich wäre auch ein Vista oder gar ein Linux aus einer solchen VHD heraus zu booten. Da ich es bis jetzt, trotz eingehendem Studium von bcdedit, nicht geschaft habe in eine solche VHD zu booten, habe ich letzte Woche auf dem MS TechDay in Frankfurt mit Michael Korb darüber gesprochen.

Seine Aussagen hierzu waren klar:

  • Dieses Feature ist exklusiv für Windows Systeme ab Windows 7 und Windows 2008 R2 vorgesehen. Einen Patch oder Treiber für frühere Versionen wird es nicht geben. Die Berichte in diversen Foren über lauffähige Vista Installationen sind daher falsch.
  • Das Feature wird von MS primär gesehen um die Verteilung von Betriebssystemen auf Clients und auch Server zu vereinfachen.
  • Das booten von Linux in eine VHD ist in der theorie denkbar, da der Aufbau der VHD’s nicht geheim ist – eine entsprechende Implementierung ist ihm (und mir auch) nicht bekannt.
Citrix XenServer 5.5 Verfügbar

Hi,
Citrix hat soeben die Version 5.5 der freien Virtualisierungslösung XenServer zur Verfügung gestellt. Die neuen Features heben das Produkt eindeutig in die Klasse der Enterprise Virtualisierungslösungen. Die neuen Funktionen sind u. a.: consolidated backup, such tools, Active Directory integration, unterstützung von mehr Gastsystmen (nunmehr werden so gut wie alle Windows und Linuxe unterstützt).

Die Citrix Essentials for XenServer and HyperV (vergleichbar mit dem System Center Virtual Machine Manage) wurden ebenfalls erweitert und bietet nun u. a. eine Funktion zur automatischen Verwaltung von Labs (kostenpflichtig).

Downloadseite: http://www.citrix.com/lang/English/lp/lp_1688615.asp#top

Pressemitteilung: http://www.citrix.com/English/NE/news/news.asp?newsID=1854962

Booten in eine VHD

Mit dem Bootloader von Windows 7 hat Microsoft eine neue Technik eingeführt welche es dem Benutzer erlaubt mit wenigen Handgriffen ein Betriebssystem direkt aus einer VHD heraus zu booten. Man erweitert dazu mit vier einfachen Befehlen das Bootmenü von Windows 7 um beliebig viele lokal gespeicherte VHDs. Die Maschinen laufen nach dem Booten nativ auf der Maschine und haben somit vollständigen Zugriff auf die gesamte Hardware (es hängt also kein Hypervisor dazwischen).

Um von einer VHD booten zu können muß diese eine wichtige Voraussetzung erfüllen. Sie muß im neuen VHD Format erstellt worden sein welches erst mit HyperV unterstützt wird. Man kann also keine VHDs booten die von einer Virtual PC 2007 Installation erstellt wurden! (hat mich mehrere Tage und schluß endlich eine Mail an Daniel gekostet um das raus zu finden). Hat man keinen HyperV zur Verfügung kann man auch den Weg über das WAIK (Windows Automated Installation Kit) ein VHD File mit Installationsdaten befüllen. Beide Möglichkeiten werde ich nachfolgend vorstellen. Ich gehe in meinen Beispielen davon aus, dass auf dem Gerät bereits Windows 7 installiert ist (es reicht auch aus den win7 boot loader zu installieren).

Booten von einer über HyperV erstellten VHD

Hat man einen HyperV zur Verfügung ist die Sache recht einfach. Man installiert sein gewünschtes Betriebssystem über die bekannten Wege.  Bei Microsoft Betriebssystemen ist es jedoch wichtig vor dem kopieren der VHD auf das Zielsystem ein Sysprep auszuführen um sicher zu stellen, dass die Hardwareerkennung nach dem nächsten Neustart erneut ausgeführt wird:

c:\windows\system32\sysprep>sysprep /generalize /shutdown

Hat man diese Vorbereitungen getroffen muß man die VHD nur noch dem Bootmenü hinzufügen. Unter Windows 7 sind dafür schon alle Tools vorhanden. Für Vista muß man diese noch nach installieren.

Zuerst kopieren wir einen bestehenden Booteintrag um eine neue GUID zu erhalten:

bcdedit /copy {default} /d "Vista VHD"

Danach wird der Booteintrag erstellt wobei der Wert für {GUID} durch den oben abgefagten Wert ersetzt wird.  [locate] wird durch den Laufwerksbuchstaben z. B. [c:\] ersetzt. Der Pfad dahinter sollte auf die VHD zeigen.

bcdedit /set {guid} device vhd=[locate]\windows7.vhd
bcdedit /set {guid} osdevice vhd=[locate]\windows7.vhd

Für einige x86 Betriebssysteme benötigen noch folgende Option (schadet nicht, daher setzte ich sie immer):

bcdedit /set {guid} detecthal on

Will man per default von einer VHD booten, erreicht man dies mit folgendem Befehl:

cdedit /default {guid}

Booten von einer neu zu installierenden Installation

Mit Hilfe des WAIK (Windows Automated Installation Kit) kann man auch ohne einen HyperV VHDs erstellen und mit einer Windows Installation befüllen.

Zuerst erstellen wir also eine VHD (es geht auch mit der Maus – aber das ist etwas umständlicher).

DISKPART
CREATE VDISK FILE="c:\vmfs\win7\disk01.vhd" MAXIMUM=20000
SELECT VDISK FILE="c:\vmfs\win7\disk01.vhd"
ATTACH VDISK
CREATE PARTITION PRIMARY
ASSIGN LETTER=X
FORMAT QUICK LABEL=Win7

Mit diesem Befehl haben wir nun eine 20 GB große VHD erstellt und diese direkt als Laufwerk X gemountet.

Nun brauchen wir eine Windows Vista, Windows 7, Windows 2008 oder Windows 2008 R2 CD. Mit dem Befehl:

c:\Program Files\Windows AIK\Tools\amd64\imagex.exe /info "g:\sources\install.wim"

können wir heraus finden welche Editionen von diesem Betriebssystem zur Verfügung stehen. Für den nächsten Befehl brauchen wir die entsprechende ID der Edition:

vhd_boot_editions1

Hat man die ID des Editionen kann man diese mit folgendem Befehl in seine VHD kopieren:

c:\Program Files\Windows AIK\Tools\amd64\imagex.exe /apply g:\sources\install.wim 3 H:\

vhd_boot_waik1

Nun muß man die VHD nur noch wie oben unter dem HyperV Teil beschrieben in sein System einbinden und den entsprechenden Eintrag beim nächsten Booten seines Systems auswählen.

20090420: Update – Windows Vista und Windows 2008 *.wim files werden aktuell nicht vom WAIK unter Windows 7 unterstützt. Man kann in einer solchen Umgebung somit keine bootfähigen VHD’s erstellen :(

Hyper-V jetzt kostenlos

Wie bereits angekündigt hat Microsoft heute die kostenlose Version des Hyper-V zum Download bereit gestellt. Die Version besteht aus einem Windows 2008 core Server der allerdings (natürlich) nur die Rolle Hyper-V ausführen kann. Wie schon bei der normalen Hyper-V Version braucht man auch für die kostenlose Version 64Bit Hardware und ein Windows Vista oder einen vollwertigen Win2k8 Server um die Management Tools auszuführen.

Hyper-V Server auf ESXi umziehen

Wie man hier im Blog vor einiger Zeit schon lesen konnte, war ich einer der Beta-Tester des Hyper-V und habe alle seine Entwicklungsschritte bis hin zur RTM mit gemacht. Leider habe ich es bis heute nicht geschaft das System auf meiner Testlab Maschine vollständig stabil zum laufen zu bekommen. Zudem brauche ich in meinem Testlab auch die Möglichkeit Linux Systeme laufen zu lassen – und hier ist der Support des Hyper-V noch sehr stark in den Kinderschuhen.

Ich habe mich daher dazu entschlossen meine Systeme (einen HP DL385 und ein Selbstbauserver) wieder zurück auf ESX bzw. auf ESXi umzustellen. Da ich zu faul bin meine Testdomäne wieder vollständig neu zu erstellen war es mein Ziel die vorhandenen Systeme zu migrieren. Ich habe zu diesem Zweck alle virtuellen Systeme auf einen Host kopiert und auf dem anderen ESXi installiert.

Tools die eine V2V Migration von Hyper-V virtual disks zu ESX disks durchführen kann gibt es leider nach meinen Nachforschungen aktuell noch nicht. Allerdings kann man über einen kleinen Umweg eine P2V Migration mit Hilfe von VMware Workstation 6.5 (das .5 ist wichtig!!!) und VMware Converter durchführen. Die dafür notwendigen Schritte habe ich abgelichtet – das ganze sollte weitgehend selbsterklärend sein…

1. In VMware Workstation 6.5 unter File auf “Import or Export” klicken.

001_hyper_v_esx_migration

2. Next klicken.

002_hyper_v_esx_migration

3. Next klicken.

003_hyper_v_esx_migration

4. Jetzt muß man das erste mal arbeiten. Hier wird die IP des Zielsystems eingegeben (es muß natürlich an sein und erreichbar sein). Zudem werden hier die Anmeldeinformationen für das Zielsystem hinterlegt – selbstverständlich muß der Benutzer local Admin sein!

004_hyper_v_esx_migration

5. Da ich meine Plattenkonfiguration beibehalten will gehts mit Next direkt weiter.

005_hyper_v_esx_migration

6. Next klicken.

006_hyper_v_esx_migration

7. Next klicken.

007_hyper_v_esx_migration

8. Und wieder gibts was zu arbeiten. Hier wird nun der neue Name der VM festgelegt zudem muß man hier den Pfad zu einem Share angeben der beschrieben werden kann und von beiden Maschinen aus erreichbar ist. Zudem habe ich hier die Version für der virtuellen Maschine auf 5.x zurück gestellt um sicher zu stellen, dass diese mit vmware converter übertragen werden kann.

008_hyper_v_esx_migration

9. Next klicken.

009_hyper_v_esx_migration

10. Next klicken.

010_hyper_v_esx_migration

11. Next klicken.

011_hyper_v_esx_migration

12. Noch mal kurz prüfen ob alles richtig ist und dann Next klicken.

012_hyper_v_esx_migration

13. Nun kann man sich zurück legen und schauen wie das System übertragen wird. Selbst bei einem schnellen Netz dauert das i. d. R. mehrere Stunden…

013_hyper_v_esx_migration

Liegt die fertige VM dann vor muß man diese nur noch (am einfachsten mit VMware Converter (kostenlos)) auf sein Zielsystem kopieren:

14. In VMware Converter auf File – New – Convert klicken.

014_hyper_v_esx_migration

15. Next klicken.

015_hyper_v_esx_migration

16. Next klicken.

016_hyper_v_esx_migration

17. Hier muß nun “Other” ausgewählt werden um das von uns erstellt VMware Workstation Image konvertieren zu können.

017_hyper_v_esx_migration

18. Pfad zur *.vmx Datei der convertierten VM.

018_hyper_v_esx_migration

19. Next klicken.

019_hyper_v_esx_migration

20. Next klicken.

020_hyper_v_esx_migration

21. Next klicken.

021_hyper_v_esx_migration

22. Nun muß der Zielserver (ESXi) sowie ein berechtigter Benutzer und dessen Passwort angegeben werden.

022_hyper_v_esx_migration

23. Ein Name sollte die neue VM auch noch bekommen.

023_hyper_v_esx_migration

24. Next klicken.

024_hyper_v_esx_migration

25. Next klicken.

025_hyper_v_esx_migration

26. Next klicken.

026_hyper_v_esx_migration

27. An dieser Stelle würde ich den Converter auch direkt noch die VMware Tools installieren lassen.

027_hyper_v_esx_migration

28. Noch mal drüber schauen und dann Fertig stellen klicken.

028_hyper_v_esx_migration

Das wars die VM sollte nach wenigen Stunden auf dem Server liegen und starten. Bei mir ging der ganze Vorgang ohne Probleme über die Bühne und die VM läuft seit dem stabil auf meinem ESXi Host.