Freitag, 20. April 2012

Windows 8 Server - Deduplicate Feature

Zweck

Daten-Deduplizierung ist an sich nichts Neues. Viele Third-Party-Hersteller von Storage- und Backup-Lösungen bieten diese Funktion seit Jahren an, allerdings ist der Einsatz solcher Systeme häufig mit sehr hohen Kosten verbunden. Windows Server 8 liefert erstmals eine native, in das Betriebssystem integrierte Deduplizierungslösung. Die grundlegende Funktionsweise beruht dabei auf der effizienten Verwaltung von Daten auf Blockebene mit einer variablen Blockgröße von 32 bis 128 KByte. Redundante Datenblöcke werden in einen von Windows verwalteten Blockspeicher im System-Volume-Information-Abschnitt der Festplatte kopiert. Dies geschieht gewöhnlich im Leerlaufprozess des Servers, so dass die Leistungsfähigkeit des Systems kaum beeinträchtigt wird.
Durch Anwendung dieser Technologie verspricht sich Microsoft eine Deduplikationsrate von 30 – 90% und somit einen enormen Zugewinn an Speicherressourcen.


Deduplicate aktivieren

Um Deduplicate zu aktivieren muss zuerst eine weitere Option zu der Rolle „File Services“ hinzugefügt werden. Starten sie über den Server Manager den Wizzard zur Installation neuer Rollen:



Aktiviere nun folgende Option:

 

Voraussetzungen

  • Dedublicate kann nur auf Volumes angewendet werden, welche mit NTFS formatiert sind. Das ebenfalls neu eingeführten Resilient File System (ReFS) wird nicht unterstützt.
  • Auf der System- bzw. Boot-Volumes kann Dedublicate nicht angewendet werden.

Deduplicate anwenden (Shell)

Die Konfiguration für Deduplicate kann über PowerShell oder dem ServerManager vorgenommen werden. Zuerst erkläre ich mal, wie Deduplication über PowerShell eingerichtet werden kann. Entweder die PowerShell Konsole wird mit erhöhten Rechten  (als Administrator starten) gestartet oder das Modul „Deduplication“ muss zuerst geladen werden:

Import-Module Deduplication








Nun kann Deduplicate für ein Volume (mit NTFS Formatierung) eingerichtet werden. Schauen sie sich zuerst einmal die Datenmenge auf dem Volume an, auf welchem sie Deduplicate einrichten wollen:




















Um nun Deduplicate für das Volume "F" zu aktivieren benutzen sie folgenden Befehl:

Enable-DedupVolume <vol: Or Mount path>

 







Nun kann noch angegeben werden, ab welchem Filealter Deduplication angewendet werde soll. Wir stellen dies hier mal auf „0“. Dieser Wert bedeutet, alle Files sind sofort nach ihrer Erstellung von der Deduplicatio betroffen:

Set-DedupVolume <vol: Or Mount path> -MinimumFileAgeDays 0






Während dem Deduplication eingerichtet wurde, wurden im Hintergrund im Task Scheduler 3 neue Jobs angelegt. Der erste läuft jede Stunde und stösst den Job für die Deduplication an. Die anderen beiden laufen einmal in der Woche und sind zum Aufräumen da:













Wir wollen aber sofort ein Resultat sehen und stossen dazu den Job über die PowerShell an:

Start-DedupJob <vol: Or Mount path> –Type Optimization






Nun können wir uns mit folgendem Befehl den Status des Jobs anschauen:

Get-DedupJob






Oder:

 Update-DedupStatus <vol: Or Mount path>


 Natürlich kann der Erfolg der Aktion auch auf dem Filesystem angeschaut werden:





















 In meinem Fall ist die Ersparnis durch Deduplicate enorm. Dies liegt aber daran, dass ich 2 Bilder immer und immer wieder kopiert habe. Mit „scharfen“ Daten dürfte die Platzersparnis tiefer liegen. Schlussendlich muss ja eine Übereinstimmung zwischen 2 oder mehreren Dateien gefunden werden. Wenn kein File im Volume 2 mal vorkommt wird die Platzersparnis gleich 0 sein.
Um das ganze wieder Rückgängig zu machen, kann folgender Befehl verwendet werden:

Start-DedupJob -Volume <vol: Or Mount path> -Type Unoptimization











Deduplicate anwenden (GUI)


Hier kann Deduplication über den Server Manager eingerichtet werden:















Im ersten Dialogfester des Wizzards kann angegeben werden, ab welchem Alter Files unter die Deduplication Policy fallen sollen. Zusätzlich bestimmte Filetypen oder ganze Ordner ausgenommen werden. Mit einem Klick auf den Button „Set Deduplication Schedule…“ kommen sie zum nächsten Dialog:





















Hier kann kann man festlegen, die Deduplizierung im Hintergrund (mit niedriger Priorität, zu Niedriglastzeiten) oder zu festgelegten Zeiten (mit normaler Priorisierung und Ressourcenkonsum) durchlaufen zu lassen:

























Es besteht ebenfalls die Möglichkeit, die Planung übergreifend für alle Volumes eines Servers festzulegen. Dazu navigiert man in die Serverübersicht und wählt dort „Deduplication Schedule“ aus. Die oben beschriebenen Einstellungen für die einzelnen Volumes kann man auch global für den kompletten Server setzen, so dass nicht jedes Volume separat konfiguriert werden muss:





















Wie oben erwähnt, läuft die Deduplication im Hintergrund und wenn der Server nicht ausgelastet ist. Daher ist nach der Konfiguration die Deduplication Rate noch auf 0%:















Über Nacht ist der Prozess nun gelaufen und es wurde eine Ersparnis von 68% erreicht.

























Links



Keine Kommentare:

Kommentar veröffentlichen