Skip to main content

NFS Mounts für Proxmox - Komplette Anleitung

Übersicht

Diese Anleitung zeigt, wie NFS-Freigaben von einem NAS (QNAP, Synology, etc.) in Proxmox eingebunden werden - sowohl auf Host-Ebene als auch für VMs und Container.


Teil 1: NFS auf dem NAS konfigurieren

QNAP NAS (QTS 4.3+)

  1. NFS-Service aktivieren:

    • Systemsteuerung → Network Services → Win/Mac/NFS/Telnet
    • Tab NFS Service
    • ✓ Enable NFS service
    • NFSv3 und NFSv4 aktivieren
    • Apply
  2. Ordner freigeben:

    • Systemsteuerung → Privilege Settings → Shared Folders
    • Ordner auswählen → Edit Shared Folder Permissions
    • Tab NFS Host Access → Add

    Empfohlene Einstellungen:

    • Host/IP: 10.0.10.0/24 (dein Netzwerk) oder * (alle)
    • Access Rights: Read/Write
    • Squash: No squash
    • ✓ Allow connections from non-privileged ports
    • Apply

Synology NAS (DSM 6+)

  1. NFS-Service aktivieren:

    • Systemsteuerung → Dateidienste → NFS
    • ✓ NFS aktivieren
    • NFSv4-Unterstützung aktivieren
  2. Ordner freigeben:

    • Systemsteuerung → Gemeinsamer Ordner → Ordner auswählen → Bearbeiten
    • Tab NFS-Berechtigungen → Erstellen

    Einstellungen:

    • Server/IP: 10.0.10.0/24 oder spezifische IP
    • Berechtigung: Lesen/Schreiben
    • Squash: Zuordnung aller Benutzer zu admin
    • ✓ Asynchron
    • OK

Teil 2: Proxmox Host - NFS Mount einrichten

Methode 1: Über Proxmox Web-GUI (empfohlen für Storage)

  1. Storage hinzufügen:

    • Datacenter → Storage → Add → NFS
  2. Konfiguration:

    • ID: nas-public (beliebiger Name)
    • Server: 10.0.10.40 (NAS IP-Adresse)
    • Export: /Public (QNAP) oder /volume1/Public (Synology)
    • Content: Auswählen was gespeichert werden soll:
      • VZDump backup files (Backups)
      • Disk image (VM-Disks)
      • Container (LXC Container)
      • ISO image (ISO-Dateien)
    • Nodes: Alle oder spezifisch auswählen
    • Add

Vorteil: Automatisch auf allen ausgewählten Nodes verfügbar, keine manuelle Konfiguration nötig.

Methode 2: Manueller Mount via /etc/fstab

Schritt 1: Mount-Verzeichnis erstellen

mkdir -p /mnt/enemy-nasq
mkdir -p /mnt/enemy-wd

Schritt 2: /etc/fstab bearbeiten

nano /etc/fstab

Einträge hinzufügen:

# NFS Mounts
10.0.10.40:/Public /mnt/enemy-nasq nfs defaults,nofail 0 0
10.0.10.41:/nfs/Public /mnt/enemy-wd nfs defaults,nofail 0 0

NFS Mount-Optionen erklärt:

  • defaults - Standard-Mount-Optionen
  • nofail - System bootet auch wenn NFS nicht erreichbar ist
  • 0 0 - Kein Dump, kein fsck

Erweiterte Optionen (optional):

10.0.10.40:/Public /mnt/enemy-nasq nfs rw,hard,intr,rsize=8192,wsize=8192,timeo=14,nofail 0 0
  • rw - Read/Write
  • hard - Bei Verbindungsverlust unbegrenzt wiederholen
  • intr - Unterbrechbar durch Benutzer
  • rsize/wsize - Größe der Lese-/Schreibpuffer
  • timeo - Timeout in Zehntelsekunden

Schritt 3: Mount testen

# Alle fstab-Einträge mounten
mount -a

# Überprüfen ob gemountet
df -h | grep mnt

# Oder spezifisch prüfen
ls -la /mnt/enemy-nasq

Schritt 4: Schreibrechte testen

touch /mnt/enemy-nasq/test.txt
rm /mnt/enemy-nasq/test.txt

Teil 3: NFS Mount in LXC Container einbinden

Variante A: Bind Mount (empfohlen)

Voraussetzung: NFS muss auf dem Proxmox Host gemountet sein

Befehl:

pct set <CONTAINER-ID> -mp0 /mnt/enemy-nasq,mp=/enemy-nasq

Beispiel:

pct set 104 -mp0 /mnt/enemy-nasq,mp=/enemy-nasq

Parameter erklärt:

  • 104 - Container ID
  • -mp0 - Mount Point 0 (kann auch mp1, mp2, etc. sein)
  • /mnt/enemy-nasq - Quelle auf dem Host
  • mp=/enemy-nasq - Ziel im Container

Weitere Optionen:

# Read-only Mount
pct set 104 -mp0 /mnt/enemy-nasq,mp=/enemy-nasq,ro=1

# Mit Backup
pct set 104 -mp0 /mnt/enemy-nasq,mp=/enemy-nasq,backup=1

Container neustarten:

pct stop 104
pct start 104

Im Container prüfen:

pct enter 104
ls -la /enemy-nasq
df -h

Variante B: Direkter NFS Mount im Container

Nur bei privilegierten Containern möglich!

Im Container:

# NFS-Client installieren
apt update
apt install nfs-common -y

# Mount-Verzeichnis erstellen
mkdir -p /mnt/nas

# Mounten
mount -t nfs 10.0.10.40:/Public /mnt/nas

# Oder in /etc/fstab für permanenten Mount
echo "10.0.10.40:/Public /mnt/nas nfs defaults,nofail 0 0" >> /etc/fstab

Teil 4: NFS Mount in VMs

Linux VM

Schritt 1: NFS-Client installieren

Debian/Ubuntu:

apt update
apt install nfs-common -y

RHEL/CentOS/Rocky:

yum install nfs-utils -y
# oder
dnf install nfs-utils -y

Schritt 2: Mount-Verzeichnis erstellen

mkdir -p /mnt/nas

Schritt 3: NFS mounten

Temporär (nur bis Neustart):

mount -t nfs 10.0.10.40:/Public /mnt/nas

Permanent (via /etc/fstab):

nano /etc/fstab

Hinzufügen:

10.0.10.40:/Public /mnt/nas nfs defaults,nofail 0 0
# Mounten
mount -a

# Prüfen
df -h | grep nas

Schritt 4: Automatischer Mount beim Boot

systemctl enable rpcbind
systemctl enable nfs-client.target
systemctl start rpcbind

Windows VM

Schritt 1: NFS-Client aktivieren

  1. Systemsteuerung → Programme → Windows-Features
  2. ✓ Dienste für NFS aktivieren
  3. OK → Neustart

Schritt 2: NFS-Share mounten

Via GUI:

  • Dieser PC → Netzlaufwerk verbinden
  • Ordner: \\10.0.10.40\Public

Via PowerShell:

mount -o anon \\10.0.10.40\Public Z:

Permanent mounten:

# Registry-Eintrag erstellen für Auto-Mount beim Start
New-PSDrive -Name "Z" -PSProvider FileSystem -Root "\\10.0.10.40\Public" -Persist

Teil 5: Troubleshooting

NFS Mount funktioniert nicht

1. NFS-Service prüfen:

systemctl status nfs-client.target
systemctl status rpcbind

2. NFS-Export vom NAS prüfen:

showmount -e 10.0.10.40

3. Manuelle Mount-Versuche:

mount -v -t nfs 10.0.10.40:/Public /mnt/test

4. Firewall prüfen:

# Auf Proxmox Host
iptables -L -n | grep 2049

# Port 2049 (NFS) muss offen sein

Permission Denied Fehler

Ursachen:

  • NFS-Export hat keine Schreibrechte
  • Squash-Option falsch konfiguriert
  • UID/GID-Mismatch

Lösungen:

Auf dem NAS:

  • Access Rights auf Read/Write setzen
  • Squash auf No squash setzen

Auf dem Client:

# UID/GID des Benutzers prüfen
id

# Falls nötig, Mount-Optionen anpassen
mount -t nfs -o rw,vers=4,uid=1000,gid=1000 10.0.10.40:/Public /mnt/nas

Stale NFS File Handle

Problem: NAS wurde neu gestartet oder Export wurde geändert

Lösung:

# Unmounten (ggf. mit force)
umount /mnt/nas
# oder
umount -l /mnt/nas

# Neu mounten
mount -a

Performance-Probleme

Optimierte Mount-Optionen:

# In /etc/fstab
10.0.10.40:/Public /mnt/nas nfs rw,hard,intr,rsize=131072,wsize=131072,timeo=600,retrans=2,nofail 0 0

Für Gigabit-Netzwerke:

  • rsize=131072 - 128KB Lesepuffer
  • wsize=131072 - 128KB Schreibpuffer
  • timeo=600 - 60 Sekunden Timeout
  • retrans=2 - 2 Wiederholungsversuche

Teil 6: Best Practices

Sicherheit

  1. Beschränke NFS-Zugriff auf dein lokales Netzwerk:

    • Nutze spezifische IP-Bereiche statt *
    • Beispiel: 10.0.10.0/24
  2. Verwende NFSv4 wenn möglich:

    mount -t nfs -o vers=4 10.0.10.40:/Public /mnt/nas
    
  3. Firewall-Regeln:

    • Nur Port 2049 (NFS) vom eigenen Netzwerk erlauben

Organisation

  1. Einheitliche Mount-Punkte:

    • /mnt/nas-* für permanente Mounts
    • /media/* für temporäre Mounts
  2. Dokumentiere deine Mounts:

    • Kommentare in /etc/fstab
    • Benenne Storage in Proxmox aussagekräftig
  3. Separate Shares für verschiedene Zwecke:

    • /mnt/nas-backups - für Proxmox Backups
    • /mnt/nas-media - für Medien
    • /mnt/nas-data - für allgemeine Daten

Backup-Strategie

  1. Nutze Proxmox Storage für Backups:

    • Automatische Backup-Rotation
    • Einfache Verwaltung über GUI
  2. Teste Restores regelmäßig:

    • Überprüfe Backup-Integrität
    • Teste Wiederherstellung

Teil 7: Nützliche Befehle

NFS-Status prüfen

# Alle gemounteten NFS-Shares anzeigen
mount | grep nfs

# NFS-Statistiken
nfsstat

# NFS-Exporte eines Servers anzeigen
showmount -e 10.0.10.40

# Alle NFS-Mounts anzeigen
df -t nfs

Mount/Unmount

# Einzelnen Mount
mount /mnt/nas

# Alle fstab-Einträge
mount -a

# Unmount
umount /mnt/nas

# Force unmount (bei Problemen)
umount -f /mnt/nas
umount -l /mnt/nas  # lazy unmount

Container Mount-Points verwalten

# Alle Mount-Points eines Containers anzeigen
pct config 104 | grep mp

# Mount-Point entfernen
pct set 104 --delete mp0

# Mount-Point ändern
pct set 104 -mp0 /mnt/new-path,mp=/new-path

Zusammenfassung

Für Proxmox Backups und VM-Storage: → Nutze Proxmox Web-GUI (Datacenter → Storage → Add → NFS)

Für Container mit Host-NFS-Mount: → Host-Mount + Bind Mount (pct set)

Für VMs: → Direkter NFS-Mount in der VM

Für allgemeine Dateifreigaben: → manueller Mount via /etc/fstab


Checkliste

  • [ ] NFS-Service auf dem NAS aktiviert
  • [ ] Ordner mit Read/Write freigegeben
  • [ ] Netzwerk/IP-Bereiche konfiguriert
  • [ ] nfs-common/nfs-utils auf Client installiert
  • [ ] Mount-Verzeichnis erstellt
  • [ ] /etc/fstab konfiguriert (für permanente Mounts)
  • [ ] mount -a ausgeführt
  • [ ] Schreibrechte getestet
  • [ ] Bei Containern: pct set konfiguriert
  • [ ] Nach Neustart getestet