# DFS: Distributed File System – Architektur & Replikation

TL;DR / Management Summary Das Distributed File System (DFS) besteht aus zwei Komponenten: DFS-Namespaces (DFS-N) abstrahiert physische Serverpfade in einen einzigen logischen Namensraum (z.B. \\firma.local\DFS). DFS-Replication (DFS-R) synchronisiert die Inhalte dieser Pfade zwischen mehreren Servern. Für Senior Admins ist DFS das Mittel der Wahl, um Fileserver-Migrationen ohne User-Impact durchzuführen und Daten für Zweigstellen lokal (und dennoch synchron) vorzuhalten.


# 1. Einführung & Architektur

Die Trennung von Name und Ort.

# DFS-Namespace (DFS-N)

Anstatt dass User sich \\Server01\Projekte merken müssen, nutzen sie \\firma.local\DFS\Projekte.

# DFS-Replication (DFS-R)

Nutzt den Remote Differential Compression (RDC) Algorithmus. Es werden nur die geänderten Blöcke einer Datei über das Netz übertragen.

# Architektur-Diagramm (Mermaid)

graph TD
    USER[User / Client] -->|Connect to| DFSN[\\firma.local\Share]
    DFSN -->|Referral| TARGET1[\\SRV-BERLIN\Data]
    DFSN -->|Referral| TARGET2[\\SRV-MUNICH\Data]
    TARGET1 <-->|DFS-R / State Sync| TARGET2
    
    subgraph "Logic"
    DFSN
    end
    subgraph "Physical Storage"
    TARGET1
    TARGET2
    end

# 2. Einrichtung in der Praxis

Resiliente Shares aufbauen.

# Schritt 1: Rollen installieren

Install-WindowsFeature -Name FS-DFS-Namespace, FS-DFS-Replication -IncludeManagementTools

# Schritt 2: Namespace erstellen

Nutzen Sie den Typ “Domänenbasierter Namespace”, um die Hochverfügbarkeit des AD zu nutzen.

New-DfsnRoot -Path "\\firma.local\Public" -TargetPath "\\SRV-FS-01\Public" -Type DomainV2

# Schritt 3: Replikationsgruppe definieren

New-DfsReplicationGroup -GroupName "ProjectSync"
Add-DfsrMember -GroupName "ProjectSync" -ComputerName "SRV-FS-01", "SRV-FS-02"
# Verzeichnisse verknüpfen
New-DfsrReplicatedFolder -GroupName "ProjectSync" -FolderName "Docs"

# 3. Deep Dive: DFS-R Staging & Konflikte

Unter der Haube.

Bevor eine Datei repliziert wird, wird sie in den Staging-Ordner kopiert und dort komprimiert.

# Last Writer Wins

DFS-R ist kein echtes Multi-User-Locking System. Wenn zwei User gleichzeitig die gleiche Datei an verschiedenen Standorten bearbeiten, gewinnt derjenige, der zuletzt speichert. Die andere Version landet im Ordner ConflictAndDeleted.


# 4. Day-2 Operations: Migration ohne Downtime

Der ‘DFS-Swap’ Trick.

Wollen Sie Daten von einem alten Server auf einen neuen schieben?

  1. Neuen Server als zweites Target im DFS-N hinzufügen (Status: Disabled).
  2. Daten via DFS-R synchronisieren lassen.
  3. Im DFS-N das alte Target deaktivieren und das neue aktivieren.
  4. User-Sessions schwenken transparent um.

# 5. Troubleshooting & “War Stories”

Wenn der Sync steht.

# Top 3 Fehlerbilder

  1. Symptom: Replikation steht still (ID 4012).

    • Ursache: Der Server war länger offline als die MaxOfflineTimeInDays (Tombstone).
    • Lösung: Datenbank-Reset des DFS-R (Vorsicht: Datenverlustrisiko!).
  2. Symptom: User sehen veraltete Daten.

    • Ursache: “Backlog” in der Replikation.
    • Tool: dfsrdiag backlog /rgname:... /rfname:...
  3. Symptom: Namespace lässt sich nicht löschen.

    • Lösung: Manuelle Bereinigung im AD via ADSIEdit.msc unter CN=Dfs-Configuration.

# “War Story”: Die “Staging” Falle

Ein Kunde wunderte sich, warum sein DFS-Sync für 500 MB CAD-Dateien Tage dauerte. Analyse: Das Staging-Quota stand auf dem Standardwert von 4 GB. Die Summe der gerade bearbeiteten Dateien überstieg diesen Wert massiv. Das System verbrachte 90% der Zeit damit, den Staging-Cache zu leeren und neu zu befüllen. Lösung: Erhöhung des Quotas auf 50 GB. Der Sync war nach 10 Minuten erledigt. Lehre: Sparen Sie nicht am Staging-Space, RAM und Disk-Space sind billiger als Admin-Zeit.


# 6. Monitoring & Reporting

Den Backlog im Blick.

# Health Report via CLI

Erstellen Sie regelmäßig einen Bericht:

dfsrdiag HealthReport /RGName:"ProjectSync" /Out:"C:\Temp\Report.html"

# 7. Fazit & Empfehlung

DFS ist die Basis für jeden modernen Windows-Fileserver.


# Anhang: Cheatsheet

Aufgabe Befehl / Tool
DFS Management dfsmgmt.msc
Sync-Status prüfen dfsrdiag replicationstate
Backlog zählen dfsrdiag backlog
Referral-Cache leeren dfsutil cache referral flush

# Referenzen