nfs - network file system
Netzwerkfreigaben - Client und Server
NFS - Network File System
Mit nfs ist es sehr einfach laufwerke eines anderen Rechners lokal einzubinden oder eigene Laufwerke (Ordner) freizugeben.
Beispiel eines nfs-servers :
Grundvorrausetzung ist das der NFS-Daemon, Portmapper und nfslock-daemon läuft.
Diese lassen sich aber normalerweise sehr einfach mit dem Konfigtools der jeweiligen Distribution aktivieren.
Die zentrale Konfigurationsdatei ist /etc/exports .
Diese Datei steuert, welcher Rechner auf welche Verezeichnisse wie (read-omly oder read-write) zugreifen darf.
Die Rechner werden wahlweise durch IP-Nummer oder Namen angegeben.
IP-Adressen können maskiert werden (z.B. mit 192.168.0.0/255.255.255.0).
IP-Adressen und Rechnernamen dürfen ausserdem das Jokerzeichen enthalten (z.B. *.tux).
Im folgenden Beispiel wird allen Rechnern im Netz "192.168.0.*" oder mit Namen "*.tux" erlaubt lesend auf das Verzeichnis "/usr/share" zuzugreifen.
Der Rechner "bilbo.tux" hat Lese- und Schreibrechte auf "/usr/bin".
# /etc/exports /usr/share 192.168.0.*(ro) *.tux(ro) /usr/bin bilbo.tux(rw)
Wurden Änderungen in "/etc/exports" vorgenommen muss "exportfs -a" ausgeführt werden.
Bei SuSE ist alternativ "rcnfsserver restart" einzugeben.
Seit Kernel 2.2 wird Kernel-NFS unterstützt. Als Trennzeichen sind Tabulatoren zu verwenden > keine Leerzeichen !!!
Das hat mich schon mal einen ganzen Samstag gekostet.
Beispiel eines nfs-clients :
Der Client hat es denkbar einfach auf freigegebene Ressourcen eines nfs-servers zuzugreifen.
Es reicht ein einfache mountkommando nach folgendem Schema:
bilbo:~ # mount -t nfs host:<path> <mountpoint>
In unserem Beispiel von oben will rechner bilbo das /usr/bin-Verzeichnis lokal einbinden.
bilbo:~ # mount -t nfs server:/usr/bin /server/bin
Mit einem einfachen umount kann die Laufwerksverbindung wieder gelöst werden
bilbo:~ # umount /server/bin
Ist die Netzwerkverbindung durch irgendeinen Grund unterbrochen, dann "umount" mit der Option "-f" ausführen.
Andernfalls dauert es sehr lange bis "umount" durchgeführt werden.
Bei stationären Kisten ist es sehr bequem die nfs-verzeichnisse in die /etc/fstab einzutragen.
Beispiel gefällig :
# Add to /etc/fstab server:/usr/bin /server/bin nfs user, noauto,exec 0 0
Vorraussetzungen bei NFS von Hand :
Die Datei /etc/exports wurde bereits editiert und die zu exportierenden Verzeichnisse freigegeben.
Portmapper starten
server:~ # portmap
Nun den Mount-Daemon starten. Nun werden die exportierten Verzeichnisse ("shares") für die anderen sichtbar.
server:~ # rpc.mountd
Starten des NFS-Daemon für den eigentlichen Filezugriff
server:~ # rpc.nfsd
Mit rpcinfo kann jederzeit die Verfügbarekit der NFS-Dienste überprüft werden :
server:~ # rpcinfo -p server