cat-hyper-v

How-To: Resize von VHD Files

HYPER-V

Logo Microsoft Windows Server 2008 R2In einer virtuellen Infrastruktur werden bekanntlicherweise Daten in einer Virtual Hard Disk, sprich in einer Datei gespeichert. Je nach Konfiguration entspricht die Grösse nur dem effektiv belegten Platz (Dynamic), oder es wird direkt der gesamt zugewiesene Platz reserviert (Fixed). Bei Hyper-V und Virtual PC (und auch Virtual Server) wird diese Virtual Hard Disk in einem *.vhd File abgespeichert. Auch andere Virtualization Tools wie Citrix XenServer und Provisioning Server, oder auch VirtualBox von Sun Oracle nutzen Virtual Hard Disks  im VHD Format. Der Vollständigkeitshalber sei erwähnt, VMware nutzt mit *.vmdk ein eigens für ESX entwickeltes Format.

Wenn nun hunderte Virtual Machines (VMs) auf dem teuren SAN Speicher abgelegt werden, kommt man vielleicht schon in Versuchung das Operating System von Windows Server 2008 oder 2008 R2 wie bei Server 2003 nur mit 20GB anstelle der empfohlenen 40GB auszustatten. Genau diese Konfiguration kann aber bei einem Update zu Problemen führen – leider schon zu oft gesehen… Zum Beispiel erforder die Installation von Windows Server 2008 SP2 mindestens 5GB freien Disk Space. Bei einem Inplace Upgrade auf 2008 R2  sind es sogar 10GB.

Im Gegenzug zu einer physischen Hard Disk kann allerdings in Hyper-V ein *.vhd File innert wenigen Minuten entsprechend vergrössert werden. Allerdings muss dazu die Virtual Machine auch gewissen Kriterien entsprechen und für diesen Vorgang entsprechend vorbereitet werden:

  • Shutdown der Virtual Machine
  • Auflösen von Snapshots

Hyper-V

  1. Die Hyper-V Management Console öffnen.
  2. Shut Down der entsprechenden Virtual Machine.
  3. Mit “Edit Disk…” in der Hyper-V Action Pane wird der “Edit Virtual Hard Disk Wizard” gestartet.
  4. Der erste wichtige Screen ist “Locate Virtual Hard Disk”. Mittels “Browse” muss hier das zu vergrössernde *.vhd File ausgewählt werden.
  5. Bei “Choose Action” kann zwischen Compact, Convert und Expand gewählt werden. In diesem Fall ist “Expand” zu wählen.
  6. Im darauf folgende Screen “Expand Virtual Hard Disk” kann nun die neue Grösse in GB angegeben werden.
  7. Mit “Next” wird eine Zusammenfassung der Settings angezeigt und schlussendlich mit “Finish” wird die Aktion gestartet.

Dieser Vorgang kann einige Minuten in Anspruch nehmen, je nach definierter Grösse. Es werden keine Änderungen an der bestehenden Partition vorgenommen. Einzig die Virtual Hard Disk wird vergrössert, somit sollten keine Daten verloren gehen. Da sozusagen Murphy aber jeden Tag aufsteht, ist ein Backup vor einer solchen Operation jedoch sicherlich sehr zu empfehlen!

Disk Management

Damit der Speicher genutzer werden kann, muss die Partition vergrössert werden. Ab Windows Server 2008 kann dies auch für die System Partition im Disk Management durchgeführt werden.

  1. Im Server Manager unter Storage den Disk Mananger öffnen.
  2. Die Partition, welche zuvor in Hyper-V vergrössert wurde, anwählen.
  3. Mittels Rechtsklick, oder in der Action Pane, kann mit “Extend Volume…” der neu gewonnene Speicher zugewiesen werden.
  4. That’s it!

Diskpart

Steht das Disk Management Snap-in nicht zur Verfügung, wie zum Beispiel bei Server Core, kann der Vorgang auch mittels Diskpart durchgeführt werden. Dazu muss ein Command Prompt geöffnet und diskpart gestartet werden. Administrative Rechte sind für diesen Vorgang erforderlich.

DISKPART> list disk
DISKPART> select disk 0 (In diesem Beispiel representiert "Disk 0" die zu vergrössernde Disk)
DISKPART> list volume
DISKPART> select volume 0 (In diesem Beispiel repräsentiert "Volume 0" das zu vergrössernde Volume)
DISKPART> extend (Der Vorgang wird mit "Successfully extended the volume." abgeschlossen)
DISKPART> exit

Wie die System Partition bei Windows Server 2003 und älter in Windows vergrössert werden kann, wird in einem früheren Artikel How-To: vDisk in VMware Workstation vergrössern beschrieben.

Weitere Informationen

Hyper-V

, , ,

About the Author

Michel Luescher is a solution architect in the worldwide Datacenter & Cloud Infrastructure Center of Excellence (CoE) at Microsoft Corporation based out of Zurich, Switzerland. Primarily, Michel is focused on hybrid cloud solutions (Hyper-V, System Center and Microsoft Azure). In addition Michel is speaker, blogger and author of several books.

Comments (1)

  • rainer says:

    Hi!

    I have a question for really experts.
    I boot directly from vhd (windows 7 ultimate) without any other system installed. I divided my hdd 320 gb into two partitions/volumes 100 gb and 197 gb

    (remaining place 23 gb may be used by fat). the vhd was set to (i do not remember in detail) – i think – to 97 gb. after some updates for windows the blue

    screen of death appeared with “VHD you must have enough capacity on the underlying disk to fully expand the VHD”. so i did a look on the facts. booting with

    dos showed me the the vhd is about 18 gb large. i changed the two volume sizes with acronis disk director suite to 150 gb and 147 gb. after that the pc

    started up normal without blue creen of death. then i opened the windows explorer and look at the free and occupied space of the started vhd and the two

    volumes. and here i found something very interesting:

    started vhd: free 78,4 gb /total 95,7 gb which compares to 100.000.000 mb which had to be set in diskpart
    volume 1: free 47,5 gb / total 148 gb
    volume 2: free 142 gb / total 149 gb

    now my question: under dos the vhd only occuppy 18 gb which expand after starting from it to the set 95,7 gb,. that is ok. but on volume 1, where the vhd

    lies, the started vhd uses 100,5 gb (148-47,5=100,5)!!! and 100,5 gb is larger than my set 100 gb for volume 1. that should be the reason for the blue

    screen. but what i not understand is:

    why expand the vhd over 100 gb when there is only 18 gb occupied under dos. i expected that the vhd file expands when the 95,7 gb runs full, not that it

    expands when nearly 80 gb are free in the vhd. can someone explain this because this is not the purpose of a vhd?

    another questions is: where are the 4,8 gb, difference between 100,5 gb (if vhd is startet, occupied on volume 1) and the shown size of 95,7 gb of vhd in

    windows explorer? or i misunderstood something or mismatch some figures.

    if someone can explain me this facts this may help a lot of other people to set the size of the vhd more sensible.

    with kind regards

    Rainer

     

Leave a Reply to rainer. Cancel reply?

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Exchange Server 2007 SP2 released Error “Invalid or damaged bootable partition”