2013-07, Speicherplatzoptimierung unter Hyper-V mit ThinProvisioning

Diese Anleitung beschreibt die Speicherplatzoptimierung auf einem Virtualisierungshost, in diesem Fall beziehe ich mich auf Microsoft Hyper-V Server 2012. Die dargestellten Power Shell Befehle sollten aber seit Windows 2008 R2 funktionieren.

Die beschriebene Speicherplatzoptimierung ist gültig für Systeme auf denen mit Thin Provisioning gearbeitet wird,
siehe http://de.wikipedia.org/wiki/Thin_Provisioning.

Speicherplatz wird zwar immer günstiger aber Hochverfügbarkeit dieses Speichers wird trotzdem eine gewisse Menge Geld kosten. Virtuelle Maschinen können zu diesem Zweck mit dynamischen Datenträgern versehen werden. Die VM glaubt eine 200GB-Disk zu besitzen, tatsächlich belegt die zu Grunde liegende Datei aber nur den Speicherplatz der tatsächlich verwendet wird.

Ich habe mich vor über einem Jahr entschlossen, diese Funktionalität an meinen Live-Systemen zu testen.

Da Microsoft seine Systeme stetig weiterentwickelt, müssen Sie ggf. die Befehle für Ihre Umgebung anpassen.

ACHTUNG:
Ich übernehme keine Garantie für die dargestellten Informationen. Es ist die Aufgabe des jeweiligen Admins sich um die Systemstabilität zu kümmern und sich in die jeweilige Problematik einzulesen!
Bevor Sie die dargestellten Schritte durchführen, müssen Sie aktuelle Datensicherungen besitzen oder neue anlegen.

Speichernutzung im letzten Jahr

Für eine Langzeitüberwachung habe ich Cacti verwendet. Im folgenden Bild kann man den Nutzungsverlauf erkennen. Auf diesem 800GB-Volume befinden sich tatsächlich 3 virtuelle Windows-Rechner mit dynamischen Disks. Die ursprüngliche Belegung begann bei ca. 400GB und hat sich durch den normalen Zuwachs an Daten, Logfiles und Updates auf ca. 580GB erhöht.

Ich selbst habe in diesem Jahr keine 180GB an neuen Daten produziert. 🙂

Vorarbeiten

Bevor die *.VHD – Dateien verkleinert werden, muss man unbedingt in der VM selbst aufräumen. Diese Arbeiten sind optional, Sie können diese Daten durchaus behalten. Vielleicht müssen Sie dies ja sogar.

Durchführen der Optimierung

  • Ich habe meine *.VHD kopiert und ein „ABL_“, als Markierung, dem Dateinamen vorangestellt. Wenn etwas schief geht, muss die defekte VHD gelöscht und die Kopie umbenannt werden.
  • Informationen zu den verwendeten Befehlen gibt’s wieder im TechNet
    Power Shell Optimize-VHD:            http://technet.microsoft.com/en-us/library/hh848458.aspx
    Power Shell Mount-VHD:                 http://technet.microsoft.com/en-us/library/hh848551.aspx
    Power Shell Dismount-VHD:           http://technet.microsoft.com/en-us/library/hh848562.aspx
  • Microsoft beschreibt die Verwendung von Optimize-VHD so:
  • Ich verwende, aus Prinzip, die Variante mit dem ReadOnly-Mode.
    In der oberen Hälfte kann man den Vorherzustand und in der unteren Hälfte den Nachherzustand erkennen.
  • Der Unterschied von fast 60GB hat mich selbst mehr als nur überrascht. Natürlich wird das Ergebnis immer davon abhängen, was in Ihrer VM passiert und durch welche Ereignisse diese angewachsen ist.
  • Fahren Sie die VM wieder hoch und testen Sie deren Funktion.
  • Wenn alles funktioniert, können Sie die Sicherheitskopie löschen. In meinem Fall, die Datei mit vorangestelltem „ABL_“.

Grafische Darstellung der erzielten Ergebnisse

  • Die Jahresübersicht kann hier noch nichts anzeigen.
  • Ein Zeitfenster von knapp 3h zeigt dieses Bild. Die grün eingekreisten Erhöhungen stellen die angelegten Sicherheitskopien dar. Diese sind nach erfolgreicher Optimierung der *.VHD wieder gelöscht worden. Mit den 3 grünen Strichen habe ich versucht Markierungen für 500GB, 550GB und 600GB zu setzen.
  • 10 Tage später, am 26.07.2013, sieht die Jahresübersicht so aus.

 

 

 

Comments are closed.