• Teilen
  • Bookmark "NFS" auf del.icio.us
  • Bookmark "NFS" auf Digg
  • Bookmark "NFS" auf Reddit
  • Bookmark "NFS" auf StumbleUpon
  • Bookmark "NFS" auf Facebook
  • Bookmark "NFS" auf Twitter
  • Bookmark "NFS" auf Slashdot

NFS

NFS ist eine Alternative zu Samba. Samba nutzt das smb Protokoll der Windowswelt, ist also in gemischten Netzwerken am sinnvollsten. Dafür allerdings langsamer mit Linux-Clients als NFS, das praktisch das Gegenteil der UNIX-Welt darstellt. Wer also gerne für beide Betriebssysteme (Windows und Linux) die höchste Geschwindigkeit nutzen will ist am Besten mit einem zusätzlichen NFS-Server beraten. Dieses Tutorial stellt lediglich die einfachste Basiskonfiguration dar!

Softwarevoraussetzungen: Paketverwaltung | Texteditor
Schwierigkeitsgrad: Mittel
Ausgetestet mit folgenden Betriebssystemen: Ubuntu (Karmic, Lucid, Lucid++) | Debian (Lenny, Squeeze) | teilweise auch andere Distributionen

Achtung! sudo: In dieser Anleitung verdeutlicht der Befehl sudo, dass die folgende Codezeile mit Root-Rechten ausgeführt werden muss. In normalen Ubuntu Installationen (Root-/VServer siehe Debian) kann dies durch den Befehl sudo erreicht werden.
Bei Debian wird bei der Installation ein Passwort für den Root-Benutzer festgelegt, so kann man sich entweder direkt als Root oder als „normaler“ Benutzer mit Eingabe von su als Root einloggen (Root-Passwort benötigt) → sudo bleibt dann überflüssig!

Installation

Auf dem Server benötigen wir das Paket nfs-kernel-server:

user@server:~$ sudo apt-get install nfs-kernel-server nfs-common portmap

und auf dem Client nfs-common benötigt:

user@server:~$ sudo apt-get install nfs-common

Konfiguration des Servers

Hierzu bearbeiten wir die /etc/exports:

user@server:~$ sudo nano /etc/exports

Die Freigabe baut sich so auf:

/Pfad/zur/Freigabe/im/Dateisystem  Rechner(Option,Option)

Als Rechner kann man einen über die /etc/hosts auflösbaren Hostnamen verwenden oder natürlich die IP des Rechners.

Die wichtigsten Optionen können so gewählt werden:

rw - beschreibbar und lesbar
ro - nicht beschreibbar (nur lesen)

weitere Optionen sind beispielsweise:

no_root_squash - Dateien, die root gehören, beschreibbar machen

FIXME - weitere Optionen hinzufügen

Beispiele

/home/christoph/musik           192.168.2.100(rw) 192.168.2.101/255.255.255.0(ro)

Diese Freigabe ist für 192.168.2.100 und alle Rechner von 192.168.2.101 bis 192.168.2.255. Wobei 192.168.2.100 lesen und schreiben darf, der Rest (192.168.2.101 bis 192.168.2.255) darf nur lesen. Die Freigabe liegt in /home/christoph/musik

/home/christoph/eigene-dateien  192.168.2.100(rw) 192.168.2.105(ro)

Hier darf 192.168.2.100 wieder lesen und schreiben, 192.168.2.105 allerdings nur lesen. Diese Freigabe ist nur für 192.168.2.100 und 192.168.2.105 verfügbar und liegt in /home/christoph/eigene-dateien.

/home/christoph/shared-docs     192.168.2.100/255.255.255.0(rw)

Hier dürfen alle Rechner von 192.168.2.101 bis 192.168.2.255 lesen sowie schreiben. Diese Freigabe ist logischerweise von allen Rechnern von 192.168.2.101 bis 192.168.2.255 verfügbar und liegt in /home/christoph/shared-docs.

Nun starten wir noch dem NFS-Server neu:

user@server:~$ sudo /etc/init.d/nfs-kernel-server restart

Anschließend können die Freigaben gemountet werden.

Das Mounten

Da die Clients die Freigabe nicht einfach so über Nautilus oder ähnlichem finden können muss man diese manuell mounten.
Dazu wechseln wir mit

user@client:~$ cd /media

in das Verzeichnis /media und legen mit

user@client:~$ sudo mkdir wie_die_Freigabe_heißen_soll

dein Mountpoint an. wie_die_Freigabe_heißen_soll kann natürlich beliebig verändert werden (bitte keine Leerzeichen!). Dieser Name erscheint nachher auf dem Desktop und in der Nautilus-Seitenleiste. Nun mounten wir die Freigabe mit

user@client:~$ sudo mount rechner:/pfad/zur/Freigabe /media/wie_die_Freigabe_heißen_soll

Bei Rechner kommt der Rechnername oder der Hostname hinein. /pfad/zur/Freigabe haben wir in der /etc/exports festgelegt und übernehmen in von dort. wie_die_Freigabe_heißen_soll ersetzen wir durch den vorher in /media angelegten Ordner. Daurauf hin erscheint auf unserem Desktop diese Freigabe. Entmounten können wir das ganze mit:

user@client:~$ sudo umount /media/wie_die_Freigabe_heißen_soll

wie_die_Freigabe_heißen_soll wird natürlich wieder durch den Namen der Freigabe ersetzt werden.

Beispiel

Unser Server ist unter 192.168.2.104 erreichbar und unsere Freigabe liegt in /home/christoph/shared-docs. Vorher haben wir in der /etc/exports folgendes freigegeben:

/home/christoph/shared-docs     192.168.2.100/255.255.255.0(rw)

Unsere Freigabe soll shared-docs heißen, also erstellen wir diesen Ordner in /media:

user@client:~$ cd /media
user@client:~$ sudo mkdir shared-docs

Nun mounten wir noch diese Freigabe:

user@client:~$ sudo mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs 

„Entmounten“ können wir die Fragabe mit:

user@client:~$ sudo umount /media/shared-docs 

Kleines Skript

Da wir nicht jedes mal diese Freigabe neu mounten wollen erstellen wir ein sehr einfaches Skript, welches beim Ausführen diese Freigaben mountet und ein anderes zum „Entmounten“

Mounten

#!/bin/bash
mount rechner:/Pfad/zur/fregabe/im/Dateisystem /media/wie_die_Freigabe_heißen_soll

Beispiel:

#!/bin/bash
mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs 

"Entmounten"

#!/bin/bash
sudo umount /media/wie_die_Freigabe_heißen_soll

Beispiel:

#!/bin/bash
umount /media/shared-docs 

Sonstiges zu den Skripten:

Mehrere Freigaben werden so untereinander „geschrieben“:

Mount

#!/bin/bash
mount 192.168.2.104:/home/christoph/eigene-dateien /media/eigene-dateien 
mount 192.168.2.104:/home/christoph/videos /media/filme 
mount 192.168.2.104:/home/christoph/musik /media/musik
mount 192.168.2.104:/home/christoph/shared-docs /media/shared-docs 
mount 192.168.2.104:/home/christoph/prog /media/software

Umount

#!/bin/bash
umount /media/eigene-dateien
umount /media/filme 
umount /media/musik
umount /media/shared-docs 
umount /media/software

Das Skript verwenden

Das Skript muss als

Skript.sh

abgespeichert werden (Skript kann beliebig ersetzt werden), mittels

user@client:~$ sudo chmod +x+u /Pfad/zum/Skript/Skript.sh

ausführbar gemacht werden

und kann dann mittels

user@client:~$  sudo /Pfad/zum/Skript/Skript.sh 

ausgeführt werden.

Mounten über die fstab

FIXME - hinzufügen



chrisge 2011/08/05 22:56

Diskussion

Geben Sie Ihren Kommentar ein. Wiki-Syntax ist zugelassen:
LVDRD
 
  • Teilen
  • Bookmark "NFS" auf del.icio.us
  • Bookmark "NFS" auf Digg
  • Bookmark "NFS" auf Reddit
  • Bookmark "NFS" auf StumbleUpon
  • Bookmark "NFS" auf Facebook
  • Bookmark "NFS" auf Twitter
  • Bookmark "NFS" auf Slashdot
Sonstiges
Drucken/exportieren
Archiv

Archivierter Inhalt der alten Seite