NFS und fstab - Vollständige Anleitung
Inhaltsverzeichnis
- Was ist fstab?
- Grundlagen NFS
- fstab Syntax und Aufbau
- NFS Mount-Optionen erklärt
- Systemd Automount
- Schritt-für-Schritt: NFS einrichten
- Troubleshooting
- Praktische Beispiele
Was ist fstab?
Die /etc/fstab (File System Table) ist eine Konfigurationsdatei in Linux-Systemen, die definiert:
- Welche Dateisysteme beim Systemstart gemountet werden
- Wo sie im Verzeichnisbaum eingehängt werden
- Mit welchen Optionen sie gemountet werden
Wichtig: Fehler in der fstab können dazu führen, dass das System nicht mehr bootet!
Backup erstellen (immer vor Änderungen!)
sudo cp /etc/fstab /etc/fstab.backup
Wiederherstellung bei Problemen
Falls das System nicht mehr bootet:
- Im Recovery-Modus starten
- Root-Dateisystem remounten:
mount -o remount,rw / - Backup wiederherstellen:
cp /etc/fstab.backup /etc/fstab
Grundlagen NFS
NFS (Network File System) ermöglicht es, Verzeichnisse über das Netzwerk zu teilen.
NFS-Versionen
- NFSv3: Älter, stabiler, weniger Features
- NFSv4: Modern, bessere Performance, Sicherheit, empfohlen
- NFSv4.1/4.2: Erweiterte Features (Multipathing, Sparse Files)
Voraussetzungen
Auf dem Client (wo gemountet wird):
# Debian/Ubuntu/Proxmox
apt update
apt install nfs-common
# Arch Linux
pacman -S nfs-utils
# RHEL/CentOS
yum install nfs-utils
Auf dem Server (NAS):
- NFS-Server muss laufen und Freigabe konfiguriert sein
- Firewall muss NFS-Ports freigeben (2049 für NFSv4)
NFS-Server testen
# Verfügbare Freigaben anzeigen
showmount -e <NAS-IP>
# Beispielausgabe:
# Export list for 192.168.1.100:
# /mnt/medien 192.168.1.0/24
# /mnt/backups 192.168.1.50
fstab Syntax und Aufbau
Allgemeine Struktur
Jede Zeile in /etc/fstab hat 6 Felder, getrennt durch Leerzeichen oder Tabs:
<Gerät/Quelle> <Mountpoint> <Dateisystem> <Optionen> <Dump> <Pass>
Detaillierte Felderklärung
1. Gerät/Quelle (Device/Source)
Für NFS-Mounts:
<SERVER-IP>:/pfad/zur/freigabe
Beispiele:
192.168.1.100:/mnt/medien
nas.local:/export/daten
10.0.0.5:/volume1/backup
Für lokale Festplatten:
UUID=xxxxx-xxxxx-xxxxx
/dev/sda1
LABEL=Daten
Tipp: UUIDs verwenden für lokale Festplatten (überleben Gerätewechsel):
# UUIDs anzeigen
lsblk -f
# oder
blkid
2. Mountpoint (Einhängepunkt)
Verzeichnis, wo das Dateisystem verfügbar sein soll.
/mnt/medien
/srv/nfs/daten
/home/user/nas
Wichtig:
- Verzeichnis muss existieren (erstellen mit
mkdir -p /pfad/zum/mountpoint) - Sollte leer sein
- Benötigt root-Rechte für Mounts außerhalb von
/home
3. Dateisystem-Typ
Für NFS:
nfs # NFSv3 (alt)
nfs4 # NFSv4 (empfohlen)
Andere gängige Typen:
ext4 # Linux-Standard
ntfs # Windows (benötigt ntfs-3g)
xfs # High-Performance Linux
btrfs # Modernes Linux mit Snapshots
vfat # FAT32
exfat # exFAT
cifs # Windows-Freigaben (SMB)
4. Optionen (Mount Options)
Kommagetrennte Liste, keine Leerzeichen!
option1,option2,option3
Siehe detaillierte Liste unten.
5. Dump (Backup)
0 = nicht sichern mit dump-Befehl (Standard für NFS)
1 = sichern
Veraltet - meist auf 0 setzen.
6. Pass (Filesystem Check)
0 = nicht prüfen mit fsck (Standard für NFS)
1 = als erstes prüfen (nur root-Partition)
2 = nach root prüfen (andere lokale Partitionen)
Für NFS immer 0 (Netzwerk-Dateisysteme können nicht lokal geprüft werden).
Vollständiges Beispiel
# Lokale SSD
UUID=abc123-def456 /home ext4 defaults,noatime 0 2
# NFS-Share
192.168.1.100:/export/medien /mnt/medien nfs4 defaults,nofail 0 0
NFS Mount-Optionen erklärt
Essentielle Optionen
defaults
Aktiviert Standard-Optionen:
rw(read-write)suid(SUID-Bits erlaubt)dev(Gerätedateien erlaubt)exec(Ausführbare Dateien erlaubt)auto(Automatisch beim Boot mounten)nouser(Nur root darf mounten)async(Asynchrones Schreiben)
nofail
Sehr wichtig für NFS!
- System bootet auch wenn Mount fehlschlägt
- Verhindert Boot-Probleme bei Netzwerkausfällen
# OHNE nofail: System hängt beim Boot wenn NAS nicht erreichbar
# MIT nofail: Boot geht durch, Mount wird übersprungen
options: defaults,nofail
_netdev
"Network Device" - wartet bis Netzwerk verfügbar ist.
# Kombiniert mit nofail ideal für NFS
options: defaults,nofail,_netdev
Performance-Optionen
noatime / nodiratime
Massiver Performance-Gewinn!
noatime: Keine Access-Time Updates bei Dateiennodiratime: Keine Access-Time Updates bei Verzeichnissenrelatime: Kompromiss - nur Update wenn älter als modify-time (moderner Standard)
Warum wichtig:
# OHNE noatime:
# Jedes Lesen einer Datei = Schreibvorgang (atime-Update)
# Bei NAS mit Standby = ständiges Aufwecken!
# MIT noatime:
# Lesen = nur Lesen, keine Schreibvorgänge
# HDDs bleiben im Standby
Beispiel:
# Standard (schlecht für Standby)
options: defaults
# Optimiert (gut für Standby)
options: defaults,noatime,nodiratime
rsize / wsize
Read/Write Buffer-Größe in Bytes.
# Standard: 1048576 (1MB) für NFSv4
# Erhöhen für bessere Performance:
options: rsize=1048576,wsize=1048576
# Für Gigabit-Netzwerke oft optimal:
options: rsize=131072,wsize=131072
Faustregel:
- Lokales Netzwerk (Gigabit): 131072 - 1048576
- Langsamere Verbindungen: 32768 - 65536
async / sync
async: Schreibt asynchron (Standard, schneller, minimales Datenverlust-Risiko)sync: Schreibt synchron (langsamer, sicherer)
# Für Medien (Jellyfin): async ist OK
options: async
# Für kritische Datenbanken: sync nutzen
options: sync
Zugriffs-Optionen
ro / rw
ro: Read-Only (nur Lesen)rw: Read-Write (Standard)
# Jellyfin braucht meist nur Lesen
options: ro,noatime
# Für Downloads/Uploads:
options: rw,noatime
noexec
Verhindert Ausführung von Programmen vom gemounteten Share.
# Sicherheit für reine Daten-Shares
options: noexec,nodev,nosuid
Automount-Optionen (Systemd)
noauto
Nicht automatisch beim Boot mounten (manuell mit mount -a oder bei Zugriff).
options: noauto,x-systemd.automount
x-systemd.automount
Systemd erstellt einen Automount-Point.
- Mount erfolgt erst bei Zugriff
- Reduziert Boot-Zeit
- Perfekt für NFS!
# Wird erst gemountet wenn Prozess darauf zugreift
options: noauto,x-systemd.automount
x-systemd.idle-timeout=SEKUNDEN
Unmountet nach Inaktivität.
# Nach 5 Minuten (300s) Inaktivität unmounten
options: noauto,x-systemd.automount,x-systemd.idle-timeout=300
# Nach 1 Stunde:
options: noauto,x-systemd.automount,x-systemd.idle-timeout=3600
Perfekt für HDDs im Standby!
x-systemd.mount-timeout=SEKUNDEN
Timeout für Mount-Versuche.
# Nach 30s aufgeben wenn NAS nicht antwortet
options: x-systemd.mount-timeout=30,nofail
NFS-spezifische Optionen
vers=X oder nfsvers=X
NFS-Version festlegen.
# NFSv4 erzwingen
options: vers=4
# NFSv3 erzwingen
options: vers=3
# NFSv4.2 nutzen
options: vers=4.2
hard / soft
Verhalten bei Netzwerk-Timeouts.
hard: Wartet ewig (Standard, sicherer)soft: Gibt nach Timeout auf (kann Datenverlust verursachen)
# Empfohlen für wichtige Daten:
options: hard,timeo=600,retrans=2
# Für unkritische Medien:
options: soft,timeo=100
timeo=N
Timeout in Zehntelsekunden (Standard: 600 = 60s).
# Schneller Timeout (10s):
options: timeo=100
# Geduldiger Timeout (2min):
options: timeo=1200
retrans=N
Anzahl der Wiederholungsversuche (Standard: 3).
options: retrans=2
tcp / udp
Transport-Protokoll (Standard für NFSv4: tcp).
# TCP erzwingen (empfohlen)
options: tcp
# UDP (nur für NFSv3, veraltet)
options: udp
ac / noac
Attribute Caching.
ac: Attribute cachen (Standard, schneller)noac: Kein Caching (immer aktuell, langsamer)
# Für mehrere Clients die gleichzeitig schreiben:
options: noac
# Für Single-Client (Jellyfin):
options: ac
actimeo=N
Attribute-Cache-Timeout in Sekunden.
# Lange cachen (weniger NFS-Aufrufe):
options: actimeo=3600
# Kurz cachen (aktueller):
options: actimeo=30
Kombinierte Beispiele
# Basis (funktioniert immer):
options: defaults,nofail,_netdev
# Performance-optimiert:
options: defaults,nofail,_netdev,noatime,nodiratime,rsize=131072,wsize=131072
# Standby-optimiert (für HDDs):
options: noatime,nodiratime,noauto,x-systemd.automount,x-systemd.idle-timeout=300,nofail,_netdev
# Read-Only + Sicherheit:
options: ro,noexec,nodev,nosuid,noatime,nofail,_netdev
# Maximum Performance (lokales Gigabit-Netzwerk):
options: rw,noatime,nodiratime,async,rsize=1048576,wsize=1048576,tcp,vers=4.2,nofail,_netdev
Systemd Automount
Warum Automount?
Vorteile:
- Schnellerer Boot (nicht warten auf NFS-Server)
- Automatisches Unmount bei Inaktivität
- HDDs bleiben im Standby
- Fehlertoleranter (Netzwerk-Probleme beim Boot)
Manuell vs. Systemd-Automount
Traditioneller Mount (veraltet):
# /etc/fstab
server:/share /mnt/data nfs defaults 0 0
# Probleme:
# - Bootet nicht wenn Server offline
# - Immer gemountet (HDDs nie im Standby)
# - Langsamer Boot
Systemd-Automount (modern):
# /etc/fstab
server:/share /mnt/data nfs noauto,x-systemd.automount,x-systemd.idle-timeout=300,nofail 0 0
# Vorteile:
# - Boot geht durch auch wenn Server offline
# - Mount erst bei Zugriff
# - Automatisches Unmount nach 5min
Wie funktioniert Automount?
1. Systemd erstellt "Autofs-ähnlichen" Mountpoint
systemctl status mnt-data.automount
# Zeigt: waiting for access
2. Bei Zugriff wird gemountet
ls /mnt/data
# Trigger! Jetzt wird NFS gemountet
3. Nach idle-timeout wird unmounted
# Nach 300s ohne Zugriff:
systemctl status mnt-data.mount
# Zeigt: inactive (dead)
Automount-Einheiten anzeigen
# Alle Automounts
systemctl list-units --type=automount
# Status eines spezifischen Mounts
systemctl status mnt-data.automount
systemctl status mnt-data.mount
# Logs anzeigen
journalctl -u mnt-data.mount -f
Manuelles Triggern
# Mount erzwingen
systemctl start mnt-data.mount
# Unmount erzwingen
systemctl stop mnt-data.mount
# Automount neu starten
systemctl restart mnt-data.automount
Schritt-für-Schritt: NFS einrichten
1. Vorbereitung
Client-Software installieren
# Debian/Ubuntu/Proxmox LXC
apt update
apt install nfs-common
# Status prüfen
systemctl status nfs-common
# Sollte "loaded" zeigen (muss nicht "active" sein)
Mountpoint erstellen
# Verzeichnis anlegen
sudo mkdir -p /mnt/jellyfin-medien
# Berechtigungen prüfen (optional)
ls -ld /mnt/jellyfin-medien
# Sollte root:root zeigen
NFS-Server testen
# Verfügbare Shares anzeigen
showmount -e 192.168.1.100
# Manuell testweise mounten
sudo mount -t nfs4 192.168.1.100:/export/medien /mnt/test
ls /mnt/test
sudo umount /mnt/test
2. fstab editieren
# Backup erstellen!
sudo cp /etc/fstab /etc/fstab.backup
# Editor öffnen (nano für Anfänger)
sudo nano /etc/fstab
# Oder vim für Fortgeschrittene
sudo vim /etc/fstab
3. Eintrag hinzufügen
Am Ende der Datei neue Zeile hinzufügen:
# Jellyfin Medien-NFS
192.168.1.100:/export/medien /mnt/jellyfin-medien nfs4 defaults,nofail,_netdev 0 0
Wichtig:
- Kommentare mit
#beginnen - Felder mit Tab oder Leerzeichen trennen
- Keine Leerzeichen in Optionen (nur Kommas!)
4. Syntax prüfen
# Testet fstab OHNE zu mounten
sudo mount -a --fake
# Sollte keine Fehler zeigen
5. Mount aktivieren
# Mountpoint mounten (ohne Neustart)
sudo mount -a
# ODER spezifisch:
sudo mount /mnt/jellyfin-medien
# Prüfen ob erfolgreich
mount | grep jellyfin-medien
df -h | grep jellyfin-medien
ls /mnt/jellyfin-medien
6. Systemd-Services prüfen (bei Automount)
# Daemon neu laden
sudo systemctl daemon-reload
# Remote-FS Target neu starten
sudo systemctl restart remote-fs.target
# Automount-Status prüfen
systemctl status mnt-jellyfin\\x2dmedien.automount
Hinweis: Systemd maskiert / als \\x2d in Unit-Namen.
7. Beim Boot testen
# System neu starten
sudo reboot
# Nach Neustart prüfen
mount | grep jellyfin
systemctl status mnt-jellyfin\\x2dmedien.automount
Troubleshooting
Mount schlägt fehl
Problem: "mount.nfs: Connection timed out"
Ursachen:
- NFS-Server nicht erreichbar
- Firewall blockiert Port 2049
- Falsche IP-Adresse
Lösung:
# Netzwerk-Verbindung prüfen
ping 192.168.1.100
# NFS-Port prüfen
telnet 192.168.1.100 2049
# Sollte verbinden (Ctrl+C zum Beenden)
# Oder mit nmap
nmap -p 2049 192.168.1.100
# Firewall auf Client prüfen
sudo ufw status
# Falls blockiert:
sudo ufw allow from 192.168.1.100
Problem: "mount.nfs: access denied"
Ursachen:
- Client-IP nicht in NFS-Export erlaubt
- Falsche Berechtigungen auf Server
Lösung:
# Exports auf Server prüfen (falls Zugriff)
cat /etc/exports
# Sollte Client-IP enthalten:
# /export/medien 192.168.1.0/24(rw,sync,no_subtree_check)
# Oder NFS-Server neu starten (auf Server)
systemctl restart nfs-kernel-server
Problem: "mount.nfs: Protocol not supported"
Ursache: NFSv4 nicht verfügbar auf Server
Lösung:
# NFSv3 versuchen
# In /etc/fstab: nfs4 → nfs ändern
# Oder:
options: vers=3
System bootet nicht
Recovery-Modus
- GRUB-Menü: Advanced Options → Recovery Mode
- Root-Shell aktivieren:
mount -o remount,rw /
- fstab reparieren:
nano /etc/fstab
# Problematische Zeile mit # auskommentieren
# ODER:
cp /etc/fstab.backup /etc/fstab
- Rebooten:
reboot
Noboot-Parameter
Beim GRUB-Boot e drücken und hinzufügen:
systemd.unit=rescue.target
Performance-Probleme
Diagnose
# NFS-Statistiken
nfsstat -m
# Zeigt: Server, Version, Optionen
# Aktuelle Mount-Optionen anzeigen
mount | grep nfs
# I/O-Performance testen
dd if=/dev/zero of=/mnt/jellyfin-medien/test bs=1M count=1000
# Sollte >50 MB/s zeigen für Gigabit
Optimierung
# In /etc/fstab optimieren:
# ALT:
options: defaults
# NEU:
options: rsize=131072,wsize=131072,noatime,nodiratime,async,tcp
Automount funktioniert nicht
# Systemd-Status prüfen
systemctl status mnt-jellyfin\\x2dmedien.automount
systemctl status mnt-jellyfin\\x2dmedien.mount
# Logs anzeigen
journalctl -u mnt-jellyfin\\x2dmedien.mount -n 50
# Daemon neu laden
sudo systemctl daemon-reload
sudo systemctl restart remote-fs.target
# Manuell triggern
ls /mnt/jellyfin-medien
Berechtigungsprobleme
Problem: "Permission denied" beim Zugriff
Für NFSv4:
# Client-UID mit Server-UID matchen
# Auf Client:
id jellyfin
# z.B. uid=1000
# Auf Server sicherstellen dass UID 1000 Rechte hat
# Oder in NFS-Export:
# /export/medien *(rw,all_squash,anonuid=1000,anongid=1000)
Für NFSv3:
# no_root_squash nutzen (unsicherer)
# Auf Server /etc/exports:
/export/medien *(rw,no_root_squash,no_subtree_check)
Standby-Probleme (HDDs wachen ständig auf)
Diagnose
# Welcher Prozess greift zu?
sudo apt install auditd
sudo auditctl -w /mnt/jellyfin-medien -p war -k nfs_watch
# Dann logs prüfen:
sudo ausearch -k nfs_watch -i
# Oder mit inotifywait:
sudo apt install inotify-tools
inotifywait -m -r /mnt/jellyfin-medien
Häufige Übeltäter
1. Jellyfin Real-time Monitoring
- Dashboard → Bibliotheken → ⚙️ → "Enable real-time monitoring" AUS
2. updatedb / mlocate
# /etc/updatedb.conf editieren:
PRUNEPATHS="/mnt/jellyfin-medien"
3. Proxmox Backup Jobs
# In /etc/pve/storage.cfg:
# Backup-Scan für NFS-Storage ausschließen
4. atime Updates
# Sicherstellen dass noatime gesetzt ist:
mount | grep jellyfin
# Sollte "noatime" zeigen
Praktische Beispiele
Beispiel 1: Einfacher NFS-Mount (Basis)
Anwendungsfall: NAS für Backups, immer verfügbar
# /etc/fstab
192.168.1.100:/volume1/backups /mnt/backups nfs4 defaults,nofail,_netdev 0 0
Erklärung:
defaults: Standard-Optionennofail: Boot geht durch auch wenn NAS offline_netdev: Wartet auf Netzwerk0 0: Kein Backup, kein fsck
Aktivieren:
sudo mkdir -p /mnt/backups
sudo mount -a
Beispiel 2: Read-Only Media-Share
Anwendungsfall: Jellyfin Medien, nur Lesen nötig
# /etc/fstab
192.168.1.100:/export/medien /mnt/medien nfs4 ro,noatime,nodiratime,nofail,_netdev 0 0
Erklärung:
ro: Read-Only (Sicherheit)noatime,nodiratime: Keine Access-Time Updates (Performance)- Rest wie Beispiel 1
Jellyfin-Config:
# Jellyfin Bibliothek zeigt auf:
/mnt/medien/filme
/mnt/medien/serien
Beispiel 3: High-Performance Share
Anwendungsfall: Lokales Gigabit-Netzwerk, maximale Geschwindigkeit
# /etc/fstab
192.168.1.100:/fast/storage /mnt/fast nfs4 rw,noatime,nodiratime,async,rsize=1048576,wsize=1048576,tcp,vers=4.2,nofail,_netdev 0 0
Erklärung:
async: Asynchrones Schreiben (schnell)rsize=1048576,wsize=1048576: 1MB Buffer (max für NFSv4)tcp: TCP erzwingenvers=4.2: Neueste NFS-Version
Benchmark:
# Schreib-Test
dd if=/dev/zero of=/mnt/fast/test bs=1M count=1000 oflag=direct
# Sollte >100 MB/s zeigen
# Lese-Test
dd if=/mnt/fast/test of=/dev/null bs=1M
Beispiel 4: Automount mit Timeout
Anwendungsfall: Nur bei Bedarf mounten, spart Ressourcen
# /etc/fstab
192.168.1.100:/share /mnt/auto nfs4 noauto,x-systemd.automount,x-systemd.idle-timeout=600,nofail,_netdev,noatime 0 0
Erklärung:
noauto: Nicht beim Boot mountenx-systemd.automount: Automount aktivierenx-systemd.idle-timeout=600: Unmount nach 10min Inaktivität
Verhalten:
# Direkt nach Boot:
systemctl status mnt-auto.mount
# Status: inactive (dead)
# Bei Zugriff:
ls /mnt/auto
# Jetzt mounted!
# 10 Minuten später automatisch unmounted
Beispiel 5: Multiple NFS-Shares
Anwendungsfall: Verschiedene Shares vom selben Server
# /etc/fstab
# Medien (Read-Only, optimiert)
nas.local:/medien /srv/medien nfs4 ro,noatime,nodiratime,nofail,_netdev 0 0
# Downloads (Read-Write)
nas.local:/downloads /srv/downloads nfs4 rw,noatime,nofail,_netdev 0 0
# Backups (mit Automount)
nas.local:/backups /srv/backups nfs4 noauto,x-systemd.automount,x-systemd.idle-timeout=1800,nofail,_netdev 0 0
Mountpoints erstellen:
sudo mkdir -p /srv/{medien,downloads,backups}
sudo mount -a
Beispiel 6: Optimiert für HDDs im Standby ⭐
Anwendungsfall: NAS mit HDDs die in Standby gehen sollen, nur bei Bedarf aufwecken (Jellyfin Media Server)
# /etc/fstab
192.168.1.100:/export/jellyfin /mnt/jellyfin-medien nfs4 noatime,nodiratime,noauto,x-systemd.automount,x-systemd.idle-timeout=300,nofail,_netdev,ro,rsize=131072 0 0
Erklärung (jede Option ist wichtig!):
noatime: ⚡ KRITISCH - Verhindert Access-Time Updates beim Lesennodiratime: ⚡ KRITISCH - Verhindert Access-Time Updates bei Verzeichnissennoauto: Nicht beim Boot mountenx-systemd.automount: Mount erst bei Zugriff (Jellyfin-Start oder User-Zugriff)x-systemd.idle-timeout=300: Unmount nach 5 Minuten ohne Zugriff (HDDs gehen in Standby)nofail: Boot geht durch auch wenn NAS offline_netdev: Wartet auf Netzwerkro: Read-Only (Jellyfin braucht kein Schreiben)rsize=131072: Read-Buffer optimiert für Streaming
Warum funktioniert das?
Zusätzliche Jellyfin-Optimierungen:
Jellyfin Dashboard → Geplante Aufgaben
1. "Medienbibliotheken scannen" - nur alle 7 Tage nachts
Trigger: 0 3 */7 * *
2. Echtzeit-Überwachung deaktivieren
Dashboard → Bibliotheken → [Bibliothek] → ⚙️ → "Enable real-time monitoring" AUS
3. Thumbnail-Generierung einschränken
Dashboard → Playback → Transcoding → "Enable video image extraction during library scans" AUS (wenn nicht benötigt)
Status überwachen:
# Automount-Status
systemctl status mnt-jellyfin\\x2dmedien.automount
# Ist aktuell gemounted?
systemctl status mnt-jellyfin\\x2dmedien.mount
# "active (mounted)" = gemounted
# "inactive (dead)" = unmounted
# Live-Logs bei Zugriff
journalctl -u mnt-jellyfin\\x2dmedien.mount -f
# HDD-Status auf NAS prüfen (via SSH)
ssh root@192.168.1.100
hdparm -C /dev/sda
# Sollte "standby" zeigen wenn nicht in Benutzung
Erwartetes Verhalten:
# 1. System booten
systemctl status mnt-jellyfin\\x2dmedien.mount
# → inactive (dead) ✓
# 2. Jellyfin öffnen (Web-UI)
# → Kurze Verzögerung (2-5s) beim ersten Laden
# → HDDs fahren hoch
# 3. Film schauen (1h)
# → HDDs bleiben an
# 4. Film stoppen, 5 Minuten warten
systemctl status mnt-jellyfin\\x2dmedien.mount
# → inactive (dead) ✓
# HDDs im Standby ✓
# 5. Nächster Film
# → Wieder kurze Verzögerung, HDDs fahren hoch
Troubleshooting für dieses Setup:
Falls HDDs dennoch häufig aufwachen:
1. Übeltäter finden
sudo apt install auditd
sudo auditctl -w /mnt/jellyfin-medien -p war -k jellyfin_access
# Dann auslesen:
sudo ausearch -k jellyfin_access -i | less
2. Häufige Übeltäter ausschließen
# - updatedb (mlocate):
echo 'PRUNEPATHS="/mnt/jellyfin-medien"' | sudo tee -a /etc/updatedb.conf
# - Proxmox Backup (falls LXC):
# In /etc/pve/storage.cfg den NFS-Storage von Backups ausschließen
3. Jellyfin Plugin-Scans prüfen
Dashboard → Plugins → [Plugin] → Settings
Automatische Updates/Scans deaktivieren
4. Idle-Timeout erhöhen falls nötig
# In /etc/fstab: x-systemd.idle-timeout=300 → x-systemd.idle-timeout=900 (15min)
Performance-Hinweis:
Die 2-5s Verzögerung beim Mount ist normal und akzeptabel:
- Aufweck-Zeit HDDs: 1-3s
- NFS-Mount: 1-2s
- Jellyfin merkt das kaum (cacht Metadaten)
Wenn dir das zu langsam ist, erhöhe idle-timeout auf 30-60 Minuten:
options: ...,x-systemd.idle-timeout=1800,...
# = 30 Minuten
Beispiel 7: SMB/CIFS-Alternative (Windows-Share)
Für Vergleich: So sieht ein Windows-Share aus
# /etc/fstab
//192.168.1.100/medien /mnt/windows cifs credentials=/root/.smbcreds,iocharset=utf8,nofail,_netdev 0 0
# /root/.smbcreds (chmod 600!)
username=user
password=passwort
domain=WORKGROUP
NFS ist besser für Linux-zu-Linux!
Best Practices Zusammenfassung
✅ Immer machen:
nofailbei allen Netzwerk-Mounts_netdevbei allen Netzwerk-Mounts- Backup vor fstab-Änderungen
noatimefür Performancemount -atesten vor Reboot
❌ Vermeiden:
- Leerzeichen in Optionen (nur Kommas!)
autoohnenofailbei NFSsyncohne guten Grund (langsam)- Root-Partition in fstab ändern ohne Live-USB Backup
🎯 Für Standby-HDDs:
noatime,nodiratime,noauto,x-systemd.automount,x-systemd.idle-timeout=300,nofail,_netdev
🚀 Für Performance:
noatime,nodiratime,async,rsize=1048576,wsize=1048576,tcp,vers=4.2,nofail,_netdev
🔒 Für Sicherheit:
ro,noexec,nodev,nosuid,noatime,nofail,_netdev
Weiterführende Ressourcen
Offizielle Dokumentation:
man fstab- Manpage auf deinem Systemman nfs- NFS-spezifische Optionenman systemd.mount- Systemd Mount-Units
Online:
- Arch Wiki - fstab
- Arch Wiki - NFS
- Ubuntu NFS Guide
Debugging:
# Logs
journalctl -xe | grep mount
dmesg | grep -i nfs
# Systemd
systemctl list-units --type=mount
systemctl list-units --type=automount
Viel Erfolg mit deinem NFS-Setup! 🎉
No comments to display
No comments to display