# NTFS Compression & Sparse Files: Effiziente Speichernutzung

TL;DR / Management Summary Auf kleinen SSDs oder bei riesigen Log-Dateien ist NTFS-Kompression ein Lebensretter. Wir nutzen die transparente Kompression für Archiv-Daten und Sparse Files (Dünnbesetzte Dateien) für Datenbank-Dateien oder VM-Disks, die viel “Leerraum” enthalten. Ein Senior Admin weiß: Kompression kostet CPU-Zyklen, spart aber I/O-Zeit – ein fairer Tausch auf modernen Systemen.


# 1. Einführung & Architektur

Wie NTFS Platz ‘schummelt’.

# NTFS Kompression

Der Kernel komprimiert Datenblöcke (16 Cluster), bevor sie auf die Disk geschrieben werden. Beim Lesen werden sie on-the-fly dekomprimiert.

# Sparse Files (Dünnbesetzte Dateien)

Stellen Sie sich eine 1 TB Datei vor, die nur 1 MB Daten am Anfang und 1 MB am Ende hat.


# 2. Verwaltung in der Praxis

Platz schaffen per Befehl.

# Kompression via CLI (compact)

Das Tool compact.exe ist mächtiger als der Explorer-Dialog.

# Einen Ordner und alle Unterordner komprimieren
compact /c /s:"C:\Logs" /i

# Status prüfen (Kompressionsrate sehen)
compact /s:"C:\Logs"

# CompactOS: Das System schrumpfen

Windows 10/11 bietet eine spezielle Kompression für Systemdateien, um ca. 2-3 GB auf der C: Partition zu gewinnen.

# Status prüfen
compact /compactos:query

# System-Dateien komprimieren (Dauer: ca. 10-20 Min)
compact /compactos:always

# 3. Deep Dive: Sparse Files & Tools

Die Kunst des Weglassens.

Programmierer nutzen das FSCTL_SET_SPARSE Flag. Admins können Sparse-Eigenschaften mit fsutil beeinflussen.

# Sparse-Check

# Prüfen, ob eine Datei als Sparse markiert ist
fsutil sparse queryflag my_big_file.dat

# Eine Datei manuell als Sparse markieren
fsutil sparse setflag my_big_file.dat

# 4. Day-2 Operations: Performance & Einschränkungen

Wann man es NICHT tun sollte.

# Performance-Impact

# Die NTFS-Einschränkung

NTFS kann Dateien nur komprimieren, wenn die Clustergröße 4 KB oder kleiner ist. Bei 64 KB Clustern (oft für SQL-Server genutzt) ist der Reiter “Erweitert -> Komprimieren” ausgegraut.


# 5. Troubleshooting & “War Stories”

Wenn der Platz-Zauber versagt.

# Top 3 Fehlerbilder

  1. Symptom: Datei ist komprimiert, belegt aber laut Explorer den gleichen “Größe auf Datenträger”.

    • Ursache: Die Daten sind bereits komprimiert (z.B. JPG, ZIP, MP4). NTFS kann hier nichts mehr herausholen.
    • Lösung: Nur Text-, Log- oder BMP-Dateien komprimieren.
  2. Symptom: Hohe Latenz bei Schreibvorgängen auf komprimierte Volumes.

    • Ursache: “Write amplification”. NTFS muss den Block lesen, dekomprimieren, ändern, neu komprimieren und schreiben.
    • Lösung: Deaktivieren Sie Kompression für Temp-Ordner oder Transaktions-Logs.
  3. Symptom: Sparse-Dateien werden beim Kopieren auf ein anderes Medium “riesig”.

    • Ursache: Das Ziel-Dateisystem (z.B. FAT32 oder ein altes NAS) unterstützt keine Sparse-Files.
    • Lösung: Nutzen Sie Tools wie robocopy /sparse oder rsync mit Sparse-Support.

# “War Story”: Der 100-GB Log-Glitch

Ein Admin wunderte sich, warum sein Monitoring-Server voll lief. Eine Log-Datei war 120 GB groß. Die Rettung: Er aktivierte compact /c auf dem Ordner. Die Datei schrumpfte auf 400 MB (99% Kompression bei Text). Er gewann genug Zeit, um den fehlerhaften Dienst zu fixen, ohne den Server herunterfahren zu müssen.


# 6. Monitoring & Reporting

Transparenz im Storage.

# PowerShell Analyse

# Zeigt die Kompressionsrate aller Dateien in einem Pfad
Get-ChildItem C:\Logs -Recurse | Select-Object Name, 
    @{Name="OriginalSize";Expression={$_.Length}}, 
    @{Name="CompressedSize";Expression={(compact $_.FullName | Select-String "is" | ForEach-Object { $_.ToString().Split(" ")[-1] })}}

# 7. Fazit & Empfehlung

Nutzen Sie NTFS-Features als strategisches Werkzeug.


# Anhang: Cheatsheet

Aufgabe Befehl
Ganze Disk komprimieren compact /c /i /s:\
Kompression aufheben compact /u /s:"C:\Ordner"
System Status compact /compactos:query
Sparse Range setzen fsutil sparse setrange ...

# Referenzen