Tags: Storage, Dateisystem, Windows Server 2012, Deduplizierung
Windows bietet schon länger die Möglichkeit, die Daten in Verzeichnissen oder auf ganzen Volumes zu komprimieren. Eine noch höhere Verdichtung erzielt die Komprimierung in Kombination mit Deduplizierung, so dass sich dieses Verfahren bei SANs oder Backup-Lösungen längst zum Standard entwickelt hat. Windows Server 2012 unterstützt jetzt ebenfalls die Deduplizierung von Daten. Bei ihrer Nutzung muss indes mehr bedacht werden als bei der bloßen Komprimierung.
Windows Server 2012 bringt eine ganze Reihe von neuen Storage-Features, die Deduplizierung ist eine davon. Ihre Funktionsweise besteht darin, dass Dateien in 32KB bis 128KB große Stücke aufgeteilt werden. Wenn das gleiche Fragment in einer oder in mehreren Dateien öfters vorkommt, dann speichert der Dedup-Filter nur eine Instanz davon. Damit sich die Dateien nachträglich wieder zusammensetzen lassen, verwaltet das Modul eine Liste von Zeigern, die auf die ursprünglichen Positionen der Datenblöcke verweisen. Die Datenscheibchen werden vor dem Speichern zudem komprimiert.
Nachträgliche Rückgewinnung von Speicherplatz
Es leuchtet ein, dass ein solcher Mechanismus zum Sparen von Speicherplatz ziemlich rechen- und I/O-aufwändig ist. Daher bieten praktisch alle Hersteller ein so genanntes Post-Process-Verfahren, Microsoft unterstützt nur dieses. Dabei werden Dateien zuerst wie gewohnt im NTFS-Dateisystem abgelegt und standardmäßig erst später von einem Hintergrundprozess dedupliziert. Dieser ist so ausgelegt, dass er nur freie Ressourcen beansprucht und die eigentlichen Workloads des Servers nicht beeinträchtigt.
Umgekehrt benötigt die Rekonstruktion der Dateien aus den verschiedenen Datenblöcken ebenfalls zusätzliche Leistung, so dass sich das Kopieren großer Dateien verlangsamen kann und File-Server möglicherweise weniger gleichzeitige User unterstützen.
Vorbeugung gegen Datenverluste
Ein weiterer Nebeneffekt der Deduplizierung besteht darin, dass sie das Risiko für Datenverluste erhöht. Wenn ein Fragment, das von 500 Dateien referenziert wird, in einem schadhaften Bereich einer Platte liegt, dann sind die Auswirkungen wesentlich gravierender als bei einem gewöhnlichen NTFS-Volume. Daher speichert die Dedup-Funktion Blöcke redundant, wenn sie in mehr als 100 Dateien vorkommen, und hält außerdem Kopien der kritischen Metadaten vor, in denen die Verweise verwaltet werden.
Außerdem ist die Deduplizierung mit anderen Windows-Technologien kompatibel, die gegen Datenverluste schützen. Dazu zählt das Distributed File System (DFS-R), mit dessen Hilfe sich Dateien zwischen Volumes replizieren lassen, sowie mit Storage Spaces, die RAID-ähnliche Funktionen bieten.
Einsparungen von der Art der Daten abhängig
Wie generell bei allen Methoden zur Datenverdichtung hängt der Erfolg der Deduplizierung stark von den Eigenschaften der Daten ab. Microsoft empfiehlt sie vor allem für File-Server, VHD-Bibliotheken (also für nicht aktive VMs) und Deployment Shares, auf denen sich die Installationsdateien für Windows oder Anwendungen befinden.
Prognose mit Kommandozeilen-Tool
Damit man schon vorher absehen kann, welche Ersparnis an Plattenplatz sich erzielen lässt, wird ein Kommandozeilen-Tool namens DDPEval.exe installiert, wenn man das Dedup-Feature hinzufügt. Das Programm lässt sich auch auf Clients unter Windows 7/8 kopieren, so dass man von dort aus prüfen kann, was eine Deduplizierung eines Netzlaufwerks bringen würde.
Installation als Feature
Die Deduplizierung wird als Server-Feature hinzugefügt, in der Regel über den Server Manager oder alternativ über PowerShell. Es ist abhängig von Datei- und Speicherdienste. Falls diese schon eingerichtet wurden, dann muss man den Baum unterhalb dieser Rolle aufklappen, wo sich dann Datendeduplizierung findet.
Mit der Installation des Features sind zwar die Voraussetzungen für die Deduplizierung geschaffen, die Aktivierung derselben erfolgt aber pro Volume. Das geht sowohl beim Anlegen neuer als auch durch Konfiguration bestehender Volumes. Befinden sich auf einem Laufwerk schon viele Daten, dann muss man damit rechnen, dass sich die Rückgewinnung von Plattenspeicher einige Zeit hinzieht.
Wizard für neue Volumes aktiviert Deduplizierung
Möchte man ein neues Volume einrichten, dann wählt man im Server Manager in der linken Navigationsleiste den Punkt Datei-/ Speicherdienste und wechselt dann zu Datenträger oder Speicherpools. Dort kann man im Fenster links unten Volumes bzw. Virtuelle Datenträger einrichten. Der dafür zuständige Wizard bietet einen eigenen Dialog zur Aktivierung und Konfiguration der Deduplizierung.
Hier kann man festlegen, nach vielen Tagen eine neue oder geänderte Datei verarbeitet wird (gemessen an Last Modified). Voreingestellt sind 5 Tage, man kann den Wert auch auf null stellen, so dass die Deduplizierung unabhängig vom Alter einer Datei greift. Außerdem bietet der Wizard die Möglichkeit, bestimmte Dateitypen anhand ihrer Extension auszuschließen.
Zeitgesteuerte Optimierung des Speicherplatzes
Eine weitere Einstellung erlaubt die zeitgesteuerte Ausführung der Deduplizierung als Ergänzung oder als Alternative zum Hintergrundprozess. Der explizite Start des Speichersparers über Zeitpläne ist dann interessant, wenn ein Server untertags so stark ausgelastet ist, dass der Hintergrundprozess nicht genug Ressourcen bekommt.
Eine weitere Option, die man über den Befehl (Deduplizierung konfigurieren) im Kontextmenü von Volumes erreicht, erlaubt den Ausschluss von ganzen Verzeichnissen. In diesem Dialog kann man die Deduplizierung auch wieder deaktivieren. Man verhindert damit, dass Dateien zukünftig verarbeitet werden, die bereits deduplizierten Files werden aber nicht wieder in den Originalzustand gebracht.
Beschränkungen für die Deduplizierung
So sehr es begrüßenswert ist, dass Windows Server 2012 ein solches Feature für die Storage-Optimierung an Bord hat, so hat es noch die Einschränkungen einer Version 1.0. Dazu gehören:
- Es setzt NTFS voraus, das neue ReFS und Cluster Shared Volumes werden nicht unterstützt
- Es ist nicht kompatibel mit harten Limits bei Disk Quotas und mit dem Encrypting File System (dafür aber mit Bitlocker)
Weitere Limitierungen sind weniger ein Zeichen unausgereifter Technik, sondern liegen in der Natur der Sache:
- Permanent geöffnete und sich ständig verändernde Dateien eignen sich nicht für die Deduplizierung. Dazu zählen etwa SQL-Datenbanken oder VHDs von laufenden virtuellen Maschinen.
- Zugeordnete Netzlaufwerke und Wechseldatenträger werden nicht unterstützt
- Deduplizierung auf Volumes, die bereits komprimiert wurden, ist nicht möglich
- Die Deduplizierung eignet sich nur für Daten-Volumes, nicht für Boot- und Systemlaufwerke
Schließlich gilt zu bedenken, dass man die Portabilität von Datenträgern einschränkt, wenn sie deduplizierte Volumes enthalten. Zwar lassen sie sich problemlos auf anderen Servern unter Windows 2012 betreiben, einzig die zeitgesteuerte Verarbeitung ist an die ursprüngliche Maschine gebunden. Ältere Versionen von Windows sehen dagegen nur Dateien, die von der Deduplizierung noch nicht verarbeitet wurden.
Täglich Know-how für IT-Pros mit unserem Newsletter
Ähnliche Beiträge
- Windows Storage Server 2012: Betriebssystem für NAS und SAN
- Cluster Shared Volumes: Neuerungen in Windows Server 2012
- Partitionen (remote) vergrößern und verkleinern mit PowerShell
- Dedup-Einsparungspotenzial berechnen mit kostenlosem Tool von StarWind
- Insider Preview 17074 für Windows Server 1803: Neuerungen bei S2D und ReFS
Weitere Links
5 Kommentare
Hi,
was passiert mit einem deduplizierten Backuplaufwerk wenn es in einem anderen Rechner in Betrieb genommen wird?
Wie geht dann die Rekonstruktion vonstatten?
Zitat:
... Umgekehrt benötigt die Rekonstruktion der Dateien aus den verschiedenen Datenblöcken ebenfalls zusätzliche Leistung...
Danke für Anregungen.
Gruß
Andreas
Ist es möglich die Laufwerke per DFS dedupliziert zu replizieren.
Also kann ich über ein WAN Strecke die Daten in deduplizierter Form replizieren?
Nein, Dedup in WS 2012 ist zwar kompatibel mit DFS-R, aber die Replikation erfolgt wie gehabt über Remote Differential Compression (RDC). Siehe dazu diesen TechNet-Blog, und dort besonders den 4. Kommentar des Autors Scott Johnson.
Das sehe ich anders. Das Stichwort heißt "Branche Cache". Grob gesagt: Ist ein Index im Zielserver bereits vorhanden(Dieser Server stellt also auch DEDUB Dienste und Brache Cache bereit)werden nur noch Blöcke übertragen, die noch nicht im Zielserver vorhanden sind.
Ist es möglich ein dedupliziertes Laufwerk mit Tools wie Diskdefrag zu defragmentieren, oder kann das zu Datenverlusten führen?
Der Betrag ist zwar schon älter, aber vielleicht antwortet ja noch jemand.