Artikel als PDF

Transcrição

Artikel als PDF
LPIC-202: Network File System (NFS) « LinuxNet...
http://linuxnetz.wordpress.com/2011/01/06/lpic-202...
LinuxNetzer Blog
Weblog für Medienkultur und freie Software
LPIC-202: Network File System (NFS)
Hinterlasse einen Kommentar »
Dieser Artikel richtet sich an Kandidaten zur ergänzenden Vorbereitung des
zweiten Teils der Prüfung LPIC-2 des Linux Professional Institutes LPI. Dieser
Artikel setzt Grundkenntnisse über NFS voraus und beschränkt sich auf eine
knappe Betrachtung der Liste von Dateien, Begriffen und Werkzeugen, die für das
Verständnis von NFS erforderlich sind.
Auszug aus den „Detailed Objectives“ 209.2 (NFS Server Configuration):
The following is a partial list of the used files, terms and utilities:
*
*
*
*
*
*
*
*
*
/etc/exports
exportfs
showmount
nfsstat
/proc/mounts
/etc/fstab
rpcinfo
mountd
portmapper
* /etc/exports
Die Hauptkonfigurationsdatei des NFS-Servers. Hier wird durch den Server
festgelegt:
— welche Verzeichnisse freigegeben werden
— wer darauf zugreifen darf
— wie darauf zugegriffen werden darf (lesen, schreiben usw.):
Einige Beispiele und Erläuterungen (schamlos entnommen aus der Manpage von
exports):
# Beispielhafte /etc/exports Datei
/ master(rw) trusty(rw,no_root_squash)
/projects proj*.local.domain(rw)
/usr *.local.domain(ro) @trusted(rw)
/home/joey pc007(rw,all_squash,anonuid=501,anongid=100)
/pub (ro,insecure,all_squash)
Die erste Zeile besagt, dass das komplette /-Dateisystem an die beiden Maschinen
master und trusty exportiert werden. Zusätzlich zum erlaubten Schreibzugriff ist
1 von 4 die Umwandlung der Superuser-ID 0 für den Rechner trusty ausgeschaltet.
06.01.2011 14:02
Die nächsten beiden Zeilen geben ein Beispiel für Wildcard-Rechnernamen und
Netzwerkgruppen (der Eintrag @trusted ist ein solcher). Die vierte Zeile beschreibt
/usr *.local.domain(ro) @trusted(rw)
/home/joey
LPIC-202:
Network Filepc007(rw,all_squash,anonuid=501,anongid=100)
System (NFS) « LinuxNet...
http://linuxnetz.wordpress.com/2011/01/06/lpic-202...
/pub (ro,insecure,all_squash)
Die erste Zeile besagt, dass das komplette /-Dateisystem an die beiden Maschinen
master und trusty exportiert werden. Zusätzlich zum erlaubten Schreibzugriff ist
die Umwandlung der Superuser-ID 0 für den Rechner trusty ausgeschaltet.
Die nächsten beiden Zeilen geben ein Beispiel für Wildcard-Rechnernamen und
Netzwerkgruppen (der Eintrag @trusted ist ein solcher). Die vierte Zeile beschreibt
einen Eintrag für einen PC-NFS-Client wie oben angesprochen.
Die letzte Zeile exportiert das FTP /pub-Verzeichnis an jeden Rechner in der Welt
(der am Internet teilnimmt). Alle Zugriffe werden unter der anonymen UID
durchgeführt. Die insecure-Option erlaubt auch Clients den Zugriff, die keine
reservierten Ports verwenden.
* exportfs
Nach jeder Änderung an der Datei /etc/exports muss auf dem Server
exportfs -ra
aufgerufen werden, um die Änderung wirksam werden zu lassen (auch wenn ein
"exportfs -a" i.d.R. genügt). Der Befehl synchronisiert /etc/exports mit der Datei
/var/lib/nfs/xtab, wo die Konfiguration von mountd (siehe weiter unten) eingelesen
werden kann. Auf der Fehlersuche nach einem Verzeichnis, das trotz Freigabe in
/etc/exports nicht eingebunden werden kann, ist die Ausführung von „exportfs -a“
nicht selten die Antwort auf das Problem.
* showmount
Das Kommando showmount befragt mountd und zeigt Informationen über die
gemounteten Verzeichnisse des NFS-Servers an.
showmount -a
… zeigt an, welche Clients zur Zeit welche Dateisysteme gemountet haben (im
Format host:/Verzeichnis). Dies funktioniert aber nicht immer zuverlässig. Wenn es
zu Fehlern kommt, ist dies meist die Anzeige eines veralteten, nicht mehr aktiven
Verzichnisses.
showmount -e
… zeigt an, welche Verzeichnisse aktuell durch den Server zur Verfügung gestellt
werden (ähnlich zu „cat /etc/exports„)
* nfsstat
nfsstat zeigt Statistiken zu NFS an (ohne weitere Option für Server UND Clients).
Zwei wichtige Optionen sind:
# zeigt nur Statistiken für den Server an:
nfsstat -s
# zeigt nur Statistiken für Clients an:
nfsstat -c
* /proc/mounts
Wie alle Dateien im Verzeichnis /proc wird auch /proc/mounts zur Laufzeit
2 von 4 generiert. In /proc/mounts sind alle gemounteten Dateisysteme aufgelistet. Mit:
06.01.2011 14:02
cat /proc/mounts
nfsstat -s
# zeigt
nur File
Statistiken
Clients
an:
LPIC-202:
Network
System für
(NFS)
« LinuxNet...
nfsstat -c
http://linuxnetz.wordpress.com/2011/01/06/lpic-202...
* /proc/mounts
Wie alle Dateien im Verzeichnis /proc wird auch /proc/mounts zur Laufzeit
generiert. In /proc/mounts sind alle gemounteten Dateisysteme aufgelistet. Mit:
cat /proc/mounts
kann überprüft werden, ob ein Verzeichnis überhaupt eingebunden ist, und wenn ja,
mit welchen Rechten.
* /etc/fstab
Wer als Client es leid ist ein Verzeichnis ständig manuell mounten zu müssen mit
…
mount -t nfs 192.168.3.200:/videos /mnt/videos
… der kann ein Verzeichnis schon mit dem Systemstart einbinden und schreibt dies
in die /etc/fstab. Hier ein Beispiel:
192.168.3.200:/videos /mnt/videos nfs rw 0 0
Dies bindet das Verzeichnis /video des Servers mit der Adresse 192.168.3.200 unter
/mnt/videos (Rechner des Clients) ein; nfs beschreibt den Dateisystemtyp, rw steht
für Lese- und Schreibrechte (vorausgesetzt, der Server hat diese Rechte in seiner
/etc/exports auch freigegeben).
* rpcinfo
Mit rpcinfo kann man prüfen, welche RPC-Dienste auf einer Maschine laufen. Vom
Client aus könnte man z.B. prüfen, ob auf dem Server „nfsserver“ NFS überhaupt
läuft mit:
rpcinfo -p nfsserver
Dies zeigt eine Liste aller RPC-Dienste auf „nfsserver“. Auf dem Server selbst
könnte man den Rechnernamen als Argument weglassen:
rpcinfo -p
* mountd
Manchmal auch rpc.mountd oder mounted genannt. Dies ist als Dämon die zentrale
Instanz, die für das Einbinden von Verzeichnissen zuständig ist. Vereinfacht gesagt:
Die Anfrage eines Clients, ein Verzeichnis mit NFS einzubinden, landet (über den
Umweg des portmappers, siehe unten) bei mountd. mountd prüft in der Datei
/etc/exports des Servers, ob der Client die entsprechende Berechtigung hat. Im
Erfolgsfall gibt mountd das Verzeichnis (via file handle) an den anfragenden Client
frei.
* portmapper
Manchmal portmap oder rpc.bind genannt, unterstützt der portmapper
RPC-Funktionen. NFS nutzt RPC (Remote Procedure Calls) um Anfragen zwischen
Clients und Servern zu routen. Ein beim Portmapper regsitrierter RPC-Prozess
kann vom Client nicht direkt kontaktiert werden. Die Anfrage des Clients wird vom
Portmapper (i.d.R. Port 111) weitergeleitet. Ohne Portmapper kein NFS. Ein nicht
aktiver
Portmapper kann ein Grund dafür sein, weshalb NFS-Freigaben nicht06.01.2011 14:02
3 von 4
eingebunden werden können (siehe auch rpcinfo).
Links:
* portmapper
Manchmal portmap oder rpc.bind genannt, unterstützt der portmapper
LPIC-202:
Network File System
(NFS)
« LinuxNet...
http://linuxnetz.wordpress.com/2011/01/06/lpic-202...
RPC-Funktionen.
NFS
nutzt
RPC (Remote Procedure
Calls) um Anfragen zwischen
Clients und Servern zu routen. Ein beim Portmapper regsitrierter RPC-Prozess
kann vom Client nicht direkt kontaktiert werden. Die Anfrage des Clients wird vom
Portmapper (i.d.R. Port 111) weitergeleitet. Ohne Portmapper kein NFS. Ein nicht
aktiver Portmapper kann ein Grund dafür sein, weshalb NFS-Freigaben nicht
eingebunden werden können (siehe auch rpcinfo).
Links:
LinuxNetzer Blog: Alle LPIC-202 Artikel
Troubleshooting NFS (Englisch)
LPIC-202: Lernziele im Überblick (Englisch)
IBM: LPI-Vorbereitung NFS
Twitter
Facebook
Print
StumbleUpon
Press This
Digg
Reddit
Geschrieben von linuxnetzer Bearbeiten
6. Januar 2011 um 13:40
Veröffentlicht in linux
Getaggt mit /etc/exports, admin, exportfs, fstab, linux, lpic, lpic-2, lpic-202,
mountd, nfs, nfsstat, portmapper, prüfung, rpcinfo, server, showmount
4 von 4
06.01.2011 14:02