Windows Server 2012, DeDup und Hyper-V


Bin zu faul zum Übersetzen, daher heute auf Deutsch ;)

Neben schaufeln und ackern konnte ich im Urlaub sogar ein kleines bisschen IT unterbringen. Beim Durchlesen des Whitepapers zu WindowsServer 2012 (RC) sind mir folgende Sachen ins Auge gehüpft:

  • WS2012 kann echte Deduplication (DeDup). D.h. weniger Platzbedarf bei Dateien mit ähnlichen Inhalten 
  • (ISOs, VMs, Logfiles, Dumps sind prädestiniert dafür). Ist eigentlich für File- und Backupserver gedacht.
  • Hyper-V hat „gescheite“ virtuelle Switche mit allem was dazugehört.
  • Hyper-V kann in das Speichermanagement von Windows 6.x reinschauen und dynamisch Speicher verwalten, genauer „Balloning rückwärts“ machen (also: Windows-Kernel in der VM teilt mit, wie viel Speicher nötig ist, der Rest geht in den Pool des Host zurück). Wenn die VM mehr braucht, kann sie dynamisch Speicher holen und notfalls sogar einen Memory-Hot-Add (also mehr Ram als zum Startzeitpunkt) anfordern. (Funktioniert übrigens tatsächlich.)

Da ich permanent Platzmangel hatte auf der Platte habe mit den ganzen VMs, klang das äußerst verlockend, falls DeDup+Hyper-V sich vertragen sollten und ich die VMs von einem DeDup-Volume starten kann. (DeDup ist eigentlich für Fileserver und NFS-Hosting gedacht) Kurz, es klang nach einem schicken, sparsamen Ersatz für mein Windows 7+VMWare Workstation, nur das kein USB durchgereicht wird.

Gesagt, getan. WS2012 aufs Notebook, Fileserverrolle mit DeDup installiert, passend partitioniert und Hyper-V dazu. Und es funktioniert prächtig J DeDup reduziert die Leseperformance etwas, aber ist ok.

Hyper-V ist nach einer Warmlaufphase performant (Notebook ist halt kein schneller Storage ohne SSD…), habe alles aus einer Hand und kriege sowohl Storage- als auch Ram-mäßig knapp das doppelte an VMs unter, ohne dass es den VMs schlecht ginge. Der DeDup-Job läuft offline als Scheduled Task, wie bei den großen, und stört damit nicht die Performance der VMs zu Kernzeiten.

Das Ganze ist zwar nicht fürs Notebook gedacht, aber genial für mobile Labs. Btw, bisher läuft das mit dem dynamischen Ram schön stabil, ganz im Gegensatz zum klassischen Balloning. Klar, eine VM mit (statisch) viel Ram ist performanter schon wegen Ihrem Diskcache. Nachdem ich den Verbrauch der VMs gut kannte, habe ich wieder feste Werte inkl. Platz für Caches gesetzt.

Einziger Haken, wie bei allen Copy-On-Write-Technologien: Die Platte kann einem (theoretisch) im Nachgang vollaufen bei vielen Änderungen (vgl. Snapshots, Thinprovisioning oder eben Dedup bei NetApp etc.).

Derzeit knabbere ich auch daran, dass kein Suspend-to-ram/-to-disk geht, aber das kann sich geben, sobald HP Windows8 Treiber/Software baut. Ist auch kein Ding, solange die Kiste flott bootet.

Bei Interesse kann ich mein Setup gerne mal genauer schildern. J

Zur Statistik:

Ich habe ein Datenvolume D: mit Gesamtgröße 380GB, mit knapp 220GB frei:


 ABER: Ich habe auf dem Volume über 340GB Daten liegen: (vor allem Windows 2008 R2 VMs)



 Der Servermanager erklärt das dann so:


Da erfreulicherweise Hyper-V mit diesem DeDup-Volume zurechtkommt, habe ich meine komplette Citrix /  enteo Test-Umgebung auf dem Notebook liegen:


Da hier mehrere Sachen sind, die in der richtigen Reihenfolge gestartet werden müssen
(Also: Für DSM muss erst SQL da sein, SQL erst wenn ActiveDirectory da ist)
brauchte ich eine einfache Automation, die mir die Umgebung ordentlich hochfährt. Zum Glück bringt WS2012 neue PowerShell-CMDlets fürHyper-V mit, die schlau genug sind, in die VM reinzuschauen und zu prüfen, ob schon deren Dienste laufen. Das folgende habe ich mir dazu gebastelt:


 (Sowas scripten habe ich übrigens für VMWare Workstation nie hinbekommen…)

Ich denke, viele unserer Kunden werden DeDup für Ihre „klassischen“ Windows-Fileserver lieben. Einige kleinere werden damit wohl auch Mini-Hyper-V-Setups bauen mit recht hoher VM-Dichte.

Btw, Metro-UI ohne Touchscreen ist irritierend, aber man kommt rein… Der RDP-Client ist klasse btw.


Bis zum nächsten Mal!

Kommentare

Beliebte Posts aus diesem Blog

Ubuntu on a Bitlocker-protected environment

Using Visual Studio Code for PowerShell development