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+)
-
NFS-Service aktivieren:
- Systemsteuerung → Network Services → Win/Mac/NFS/Telnet
- Tab NFS Service
- ✓ Enable NFS service
- NFSv3 und NFSv4 aktivieren
- Apply
-
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+)
-
NFS-Service aktivieren:
- Systemsteuerung → Dateidienste → NFS
- ✓ NFS aktivieren
- NFSv4-Unterstützung aktivieren
-
Ordner freigeben:
- Systemsteuerung → Gemeinsamer Ordner → Ordner auswählen → Bearbeiten
- Tab NFS-Berechtigungen → Erstellen
Einstellungen:
- Server/IP:
10.0.10.0/24oder 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)
-
Storage hinzufügen:
- Datacenter → Storage → Add → NFS
-
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
- ID:
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-Optionennofail- System bootet auch wenn NFS nicht erreichbar ist0 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/Writehard- Bei Verbindungsverlust unbegrenzt wiederholenintr- Unterbrechbar durch Benutzerrsize/wsize- Größe der Lese-/Schreibpuffertimeo- 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 Hostmp=/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
- Systemsteuerung → Programme → Windows-Features
- ✓ Dienste für NFS aktivieren
- OK → Neustart
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 Lesepufferwsize=131072- 128KB Schreibpuffertimeo=600- 60 Sekunden Timeoutretrans=2- 2 Wiederholungsversuche
Teil 6: Best Practices
Sicherheit
-
Beschränke NFS-Zugriff auf dein lokales Netzwerk:
- Nutze spezifische IP-Bereiche statt
* - Beispiel:
10.0.10.0/24
- Nutze spezifische IP-Bereiche statt
-
Verwende NFSv4 wenn möglich:
mount -t nfs -o vers=4 10.0.10.40:/Public /mnt/nas -
Firewall-Regeln:
- Nur Port 2049 (NFS) vom eigenen Netzwerk erlauben
Organisation
-
Einheitliche Mount-Punkte:
/mnt/nas-*für permanente Mounts/media/*für temporäre Mounts
-
Dokumentiere deine Mounts:
- Kommentare in /etc/fstab
- Benenne Storage in Proxmox aussagekräftig
-
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
-
Nutze Proxmox Storage für Backups:
- Automatische Backup-Rotation
- Einfache Verwaltung über GUI
-
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
No comments to display
No comments to display