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