Benutzer-Werkzeuge

Webseiten-Werkzeuge


project:backup

Dies ist eine alte Version des Dokuments!


Projekt: Raspberry PI als Backupserver

Konzept

Konzept

Der Server stellt zwei Verzeichnisse bereit:

/srv/nfs/public → ausschließlich lesender Zugriff (ro)

/srv/nfs/data → lesender und schreibender Zugriff (rw)

Für das Datenverzeichnis wird ein technischer Service-User mit der UID/GID 2000 eingerichtet. Alle Schreibzugriffe werden mittels all_squash auf diesen Benutzer umgeleitet. Dadurch gehören sämtliche erzeugten Dateien immer demselben Systemkonto – unabhängig davon, welcher Client sie erstellt hat.

Dieses Modell verhindert UID-Konflikte zwischen unterschiedlichen Systemen im Netzwerk.

Der Server stellt zwei Verzeichnisse bereit:

  • /srv/nfs/public → nur lesend (ro)
  • /srv/nfs/data → lesend + schreibend (rw, Service-User 2000)

Alle schreibenden Zugriffe auf /srv/nfs/data werden serverseitig auf UID/GID 2000 abgebildet (all_squash).

NFS SERVER

sudo apt update
sudo apt install -y nfs-kernel-server
 
# Service-User für schreibendes Share
sudo groupadd -g 2000 nfsdata
sudo useradd -u 2000 -g 2000 -M -r nfsdata
 
# Verzeichnisse anlegen
sudo mkdir -p /srv/nfs/public
sudo mkdir -p /srv/nfs/data
 
# Rechte setzen
sudo chown -R root:root /srv/nfs/public
sudo chmod -R 755 /srv/nfs/public
 
sudo chown -R 2000:2000 /srv/nfs/data
sudo chmod -R 2775 /srv/nfs/data
 
 
# ================================
# /etc/exports
# ================================
 
/srv/nfs/public  IP/24(ro,sync,no_subtree_check,root_squash)
/srv/nfs/data    IP/24(rw,sync,no_subtree_check,all_squash,root_squash,anonuid=2000,anongid=2000)
 
 
# anwenden
sudo exportfs -ra
sudo systemctl restart nfs-kernel-server
sudo systemctl enable nfs-kernel-server
 
# prüfen
sudo exportfs -v

NFS CLIENT

Verfügbare Exports anzeigen

sudo apt install -y nfs-common
showmount -e IP

Manuell Mounten

sudo mkdir -p /mnt/public
sudo mkdir -p /mnt/data
 
sudo mount -t nfs -o ro IP:/srv/nfs/public /mnt/public
sudo mount -t nfs -o rw,soft,timeo=50,retrans=3 IP:/srv/nfs/data /mnt/data

Automatisch Mounten (/etc/fstab)

IP:/srv/nfs/public  /mnt/public  nfs  ro,_netdev,noatime,x-systemd.automount,nofail  0  0
IP:/srv/nfs/data    /mnt/data    nfs  rw,_netdev,noatime,x-systemd.automount,x-systemd.device-timeout=10s,x-systemd.idle-timeout=600,soft,timeo=50,retrans=3,nofail  0  0
 
sudo systemctl daemon-reload
sudo mount -a

Ergebnis

  • /srv/nfs/public → nur lesbar für alle Clients
  • /srv/nfs/data → schreibbar, serverseitig UID/GID 2000
  • Client bootet auch wenn Server offline ist
  • Mount erfolgt erst bei Zugriff (automount)
  • Keine UID-Anpassung auf Clients erforderlich
project/backup.1772530607.txt.gz · Zuletzt geändert: von torsten.roehl