Ubuntu: NFS-Server einrichten
NFS steht für Network File System und ist ein Netzwerk-Protokoll, welches 1984 von Sun erstellt wurde. Die aktuelle Version ist 4. NFS ermöglicht es, dass auf Dateien so zugegriffen werden kann, als ob sie auf einer lokalen Festplatte gespeichert wären.
NFS wird bspw. bei Kubernetes verwendet, um Persistent Volumes in Container einzubinden.
Installation NFS-Server
Als erstes muss das „nfs-kernel-server“ Paket installiert werden.
sudo apt install nfs-kernel-server
Als Nächstes wird das Verzeichnis erstellt, das freigegeben werden soll.
sudo mkdir /var/nfs/general -p
Der Schalter „-p“ ist dafür da, dass auch übergeordnete Verzeichnisse erstellt werden, falls diese nicht vorhanden sind.
Anschließend wird der Benutzer und Gruppe des Verzeichnisses angepasst, da NFS die Operationen auf nobody:nogroup übersetzt sowie die vollen Rechte gegeben
sudo chown nobody:nogroup /var/nfs/general
sudo chmod 777 /var/nfs/general
Als nächsten Schritt muss der Export definiert werden. Diese Daten stehen in /etc/exports.
sudo nano /etc/exports
Hier den Share sowie den Benutzer hinterlegen.
/var/nfs/general 192.168.1.121(rw,sync,no_subtree_check)
Anstatt der IP kann alternativ auch * verwendet werden, wodurch alle Benutzer, die sich mit dem Server verbinden können, den Share einbinden können.
„rw“ gibt dem Client Lese- und Schreibrechte. Soll der Client nur Leserechte bekommen, muss stattdessen „ro“ angegeben werden.
„sync“ steht für synchronen Datentransfer und „no_subtree_check“ schaltet die Überprüfung auf Unterverzeichnisbäume aus.
Wenn alle Einstellungen angepasst wurden, muss der NFS-Server neu gestartet werden.
sudo systemctl restart nfs-kernel-server
Installation NFS-Client
Auf dem Client wird das Paket „nfs-common“ benötigt.
sudo apt install nfs-common
Dann erstellen wir auch auf dem Client ein Verzeichnis, wo der NFS-Share eingebunden werden soll.
sudo mkdir /nfs/general -p
Als letzter Schritt wird das Verzeichnis gemountet.
sudo mount 192.168.1.122:/var/nfs/general /nfs/general
Damit sollte der Share jetzt am Client verfügbar sein.