Um auf einem Hyper-V 2012 R2 Host die Disk einer VM verkleinern (Shrink) zu können, müssen mehrere Faktoren / Bedingungen eintreffen.
Ist die Partition auf der Disk so groß wie die Disk selbst, dann bietet Hyper-V die Möglichkeit zur Verkleinerung erst gar nicht an.
Daher muss erst einmal die Partition (innerhalb der VM) selbst verkleinert werden, was im Diskmanagement (diskmgmt.msc) erfolgt oder auch über PowerShell gemacht werden kann. Hier besteht aber oft das Problem, dass obwohl auf einer Disk sagen wir mal 50GB frei sind uns lediglich 18GB zur Verkleinerung angeboten werden.
Dieses Verhalten rührt daher, dass möglicherweise noch ShadowCopies (Schattenkopien) auf der Disk konfiguriert sind. Ein Deaktivieren der ShadowCopies (die angelegen Copies werden dabei gelöscht) behebt das Problem und liefert nun eine deutlich größere Kapazität an freiem Platz.
Nachdem nun die Partition auf der Disk innerhalb der VM verkleinert wurde, muss diese noch Offline genommen werden – sonst bietet uns der Hyper-V Host die Option zur Verkleinerung ebenfalls nicht an!
Da ich die Disk gerne auf 256GB hätte, die Verkleinerung aber bei 249GB gelandet ist gebe ich hier nun wieder die 256GB an und vergrößere nachher (damit sind alle Disks in dieser VM genau 256GB groß).
In der VM sieht es nun wie folgt aus:
Jetzt noch mit der rechten Maustaste die Disk 2 wieder online nehmen, auf 256GB vergrößern und die ShadowCopies wieder aktivieren – fertig
Hier nochmals der Ablauf in Punkte zusammen gefasst:
- In der VM die ShadowCopies auf der Disk deaktivieren
- Mit einem defrag e: /u /v das Laufwerk aufräumen
- Nun im Diskmanagent in der VM die Disk verkleinern (der Einfachheit halber, so klein wie möglich – man kann es ja hinter wieder größer machen)
- In der VM die Disk offline nehmen
- Auf dem Host die Disk mit Edit bearbeiten (taucht hier NICHT Shrink auf, dann ist irgendetwas in den Schritten 1 bis 4 schief gegangen)
- Auf die gewünschte Größe verkleinern
- In der VM die Disk wieder online nehmen
- Eventuell um den freien Platz erweitern
- Die SchadowCopies wieder aktivieren
Enjoy it, b!