# Windows NFS Server: High-Performance Data Sharing mit Linux

TL;DR / Management Summary In gemischten Umgebungen ist der NFS (Network File System) Dienst die beste Methode, um Windows-Storage für Linux-Gäste (z.B. in Proxmox) bereitzustellen. Windows Server unterstützt NFS v4.1, was starke Sicherheit (Kerberos) und Performance-Verbesserungen bietet. Ein Senior Admin nutzt NFS, um Proxmox ISO-Images oder Backup-Ziele zentral auf einem Windows-basierten SAN/Fileserver vorzuhalten.


# 1. Einführung & Architektur

Warum NFS statt SMB?

Linux-Systeme bevorzugen NFS, da es nativ im Kernel implementiert ist und keine komplexen User-Space-Clients (wie cifs-utils) mit hohen Latenzen benötigt.

# Die NFS-Versionen in Windows

  1. NFS v3: Einfach, weit verbreitet, aber unsicher (basiert auf IP-Vertrauen).
  2. NFS v4.1: Sicher (Kerberos), unterstützt Multi-Pathing und bessere Dateisperren.

# 2. Einrichtung in der Praxis

Vom Windows-Share zum Linux-Mount.

# Schritt 1: Rolle installieren

Install-WindowsFeature -Name FS-NFS-Service -IncludeManagementTools

# Schritt 2: NFS-Freigabe erstellen (PowerShell)

New-NfsShare -Name "ISO-Repo" `
    -Path "D:\Storage\ISOs" `
    -AllowRootAccess $true `
    -Permission readwrite `
    -Authentication all

# 3. Deep Dive: User ID Mapping

Wer ist ‘root’ in Windows?

Linux nutzt UIDs (0, 1000), Windows nutzt SIDs. Wenn ein Linux-Client eine Datei schreibt, muss Windows wissen, welchem AD-User das entspricht.

# Optionen für das Mapping

  1. Active Directory Mapping: Speicherung von UIDs im AD-Attribut (RFC 2307). Professionellste Lösung.
  2. Anonymous Logon: Alle Linux-Zugriffe werden auf einen speziellen lokalen Windows-User gemappt (einfach für Testumgebungen).
# Setzt UID/GID für anonymen Zugriff
nfsadmin server config AnonymousUid=0 AnonymousGid=0

# 4. Day-2 Operations: Mounting am Linux-Client

Den Zugriff testen.

Auf dem Linux-Host (z.B. Proxmox-Knoten):

# Installation der Tools
apt update && apt install nfs-common -y

# Temporärer Mount
mount -t nfs 10.0.0.10:/ISO-Repo /mnt/iso

# Permanenter Eintrag in /etc/fstab
10.0.0.10:/ISO-Repo /mnt/iso nfs defaults,nfsvers=4.1 0 0

# 5. Troubleshooting & “War Stories”

Wenn die Berechtigung verweigert wird.

# Top 3 Fehlerbilder

  1. Symptom: “Permission Denied” vom Linux-Client, obwohl NTFS-Rechte stimmen.

    • Ursache: Die NFS-Export-Rechte (Zugegriffen via Get-NfsShare) überschreiben die NTFS-Rechte.
    • Lösung: IP-Adresse des Clients explizit in die Erlaubnisliste des NFS-Shares aufnehmen.
  2. Symptom: Sehr langsame Performance beim Schreiben.

    • Ursache: Synchrones Schreiben. NFS wartet auf die Bestätigung der Disk.
    • Lösung: Aktivieren Sie den Schreibcache in den NFS-Server-Einstellungen (Vorsicht: Datenverlustrisiko bei Stromausfall!).
  3. Symptom: Dateien gehören immer dem User nobody.

    • Ursache: ID-Mapping Problem.
    • Lösung: Installieren und konfigurieren Sie den idmapd Dienst auf dem Linux-Client.

# “War Story”: Der “Stumme” Backupshare

Ein Admin nutzte einen Windows NFS-Share als Backup-Ziel für seine Proxmox-Cluster (VZDump). Das Problem: Die Backups liefen durch, waren aber auf dem Windows-Server 0 Bytes groß. Die Entdeckung: Windows NFS-Server führt standardmäßig “Striktes Caching” durch. Da der Proxmox-Job die Verbindung nicht sauber schloss, wurden die Metadaten nicht geflasht. Lösung: Umstellung auf NFS v4.1 und Erzwingen von sync Mount-Optionen auf der Linux-Seite. Seitdem sind die Backups konsistent.


# 6. Monitoring & Reporting

NFS-Last analysieren.

# Wichtige Metriken


# 7. Fazit & Empfehlung

Windows als NFS-Server ist eine valide Option für hybride Datencenter.


# Anhang: Cheatsheet

Aufgabe Befehl
Shares auflisten Get-NfsShare
Client-Berechtigungen Get-NfsSharePermission
Server-Config sehen nfsadmin server config
Dienst neustarten Restart-Service nfsclnt

# Referenzen