Wie richte ich meinen eigenen Linux-Fileserver ein
 

Von Michael Flaig

Inhalt
    1. Vorwort
    2. Testumgebung
    3. Vorgeschichte und erste Hürden
    4. Was ist NFS?
    5. Wichtige Programme für den Betrieb
    6. Testaufruf
    7. Die Verzeichnisse zum Export festlegen
    8. Noch ein kleiner Test

1. Vorwort

Die erste Version dieses Workshops wurde bereits 1999 von Michael Flaig geschrieben und veröffentlicht. Seit dieser Zeit hat sich doch einiges geändert und die Installationen sind noch einfacher geworden (wenn man weiß wie!).

Ich selbst habe den Workshop ausprobiert und bin auf einige Probleme gestoßen, die ich hier nun gleich mit Lösungen einbringen möchte. Da Michael und ich die Installation und Konfiguration auf verschiedenen Distributionen durchgeführt haben, läßt sich auch sagen, daß es (fast) überall laufen muß!

2. Testumgebung

Meine Testumgebung besteht aus fünf Rechnern, von denen hier zwei benutzt wurden. Auf einem (Pentium, 233 MHz, 64 MB, 20 GB HDD, Red Hat 7.0) wird der NFS-Server installiert und auf dem anderen (486 DX4/100, 16 MB, 800 MB HDD, Red Hat 6.2) soll der Client entstehen. Beide sind über ein 10 MBit-Netz miteinander verbunden.

3. Vorgeschichte und erste Hürden

Auf dem Server hatte ich bereits eine Red Hat-Version am Laufen und wollte hier nur noch das Server-RPM installieren. Ich wußte, daß es damals (vor einigen Jahren) ein RPM gab namens nfs-server-xxx.i386.rpm und eines namens nfs-server-client-xxx.i386.rpm und begab mich auf die Suche danach. Da ich auf den CDs nicht fündig wurde, suchte ich bei Red Hat selbst, doch auch hier war bei meinen Versionsnummern nichts zu finden. Endlich wurde ich bei http://www.rpmfind.net/ fündig. Allerdings machte mich stutzig, daß ich lediglich eine Beta für Red Hat 5.2 fand als neueste Version. Bei näherer Betrachtung fand ich ein weiteres Paket (nfs-utils), das, wie sich später herausstellte, alle nötigen Pakete in sich beherbergte (nfs-util, nfs-server und nfs-client).

4. Was ist NFS?

Was heißt eigentlich NFS?

NFS bedeutet Network File System und wurde als Verbindung von Unix-Rechnern in den Achtziger Jahren von SUN Microsystems entwickelt (dies bedeutet auch, daß ihr mit euren Windows-Kisten keine Chance habt - dafür ist Samba zuständig) und zur Verfügung gestellt. Mittlerweile befindet sich das Protokoll in seiner 3. Version und hat an seinen Schwachpunkten, wie Geschwindigkeit, sehr gearbeitet. Das Schöne an diesem Protokoll ist, das es statuslos ist, d.h. das Verzeichnis hängt sich erst bei einem Zugriff wieder ein und danach wieder aus - sehr bedarfsorientiert - und verursacht dadurch sehr wenig Traffic auf den Leitungen. Im Internet gibt es sehr viele NFS-Server (z.B. Red Hat und SuSE), die ihr mounten könnt und sogar ganze Distributionen von dort installieren könnt. Aber aufgepaßt. NFS gilt als sehr unsicher und ihr solltet euch dessen immer bewußt sein, um nicht euch und/oder euer System zu gefährden. So, genug geschrieben. Lasset die Taten sprechen...

5. Wichtige Programme für den Betrieb

Ich gehe der Einfachheit halber davon aus, das nur grundlegende Dienste und Programme installiert wurden und der NFS-Dienst noch komplett aufgespielt werden muß (alle anderen steigen einfach irgendwo ein). Das heißt auch, daß eure Netzwerkkarte funktioniert, ihr einen Rechnernamen vergeben und sämtliche Rechner in die Datei /etc/hostseingetragen habt. Bei SuSE könnt ihr das Ganze über YaST bei der Installation sehr schnell abarbeiten, jedoch möchte ich das ganze Old-Style zeigen, damit ihr auch wißt, wo ihr einmal nachzusehen habt, wenn etwas nicht läuft.

Zuerst sollte man schnell mal nachsehen, ob der RPC Portmapper installiert und gestartet wurde. In meinem Fall war er gestartet und belegte die Ports 111 von TCP und UDP. Um zu sehen, ob er läuft, könnt ihr den Befehl rpcinfo -p benutzen. Nun müßten diese oder ähnliche Zeilen auftauchen:


program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper

Eine andere Möglichkeit wäre der Befehl ps aux | grep portmap.

Dieser RPC Portmapper ist dafür zuständig, die verschiedenen Anfragen von Clients den NFS-Daemonen zuzuordnen und weiterzuleiten, eine kleine Poststelle. Sollten die beiden Befehle kein positives Ergebnis bringen, so besteht die Möglichkeit, daß er noch nicht installiert ist. Dies findet ihr am besten mit rpm -q -a | grep port heraus.Solltet ihr jetzt "Hilfe" schreien, da kein Portmapper zu finden ist, dann kann ich nur sagen: "don't panic!!!". Mit Hilfe des neuesten Paketes portmap-X.i386.rpm könnt ihr ihn nachträglich installieren und mit /etc/init.d/portmap start aktivieren.

Der Portmapper (oder rpc.portmap) wird durch den init-Daemon beim Booten gestartet und sollte deshalb auch unter /etc/rc2.d und unter /etc/init.d stehen. Nach Installation des nfs-util-Paketes sollten beim obigen Aufruf nun auch der nfs-Daemon und der mount-Daemon sichtbar sein.

Bei manchen wird beim Aufruf von rpcinfo -p eventuell noch etwas mehr ausgegeben, wie oben dargestellt, wie etwa ein mount-Daemon und nfs-Daemon, dann habt ihr die nfs-utils bereits bei der Installation mit aufgespielt und könnt gleich ins nächste Kapitel. Alle anderen müssen nun noch das nfs-utils-Paket per rpm -Uvh nfs-util-XXX.i386.rpm in das System einbinden.

Wenn nun keine Fehler mehr auf dem Display erschienen sind, könnt ihr nochmals den Infobefehl starten und alles müßte erscheinen.

6. Testaufruf

Natürlich wollen wir jetzt auch mal testen, ob der nfs-Daemon überhaupt läuft. Durch den Aufruf /etc/rc.d/init.d/nfs status kann der aktuelle Status des Daemons eingesehen werden. Normalerweise ist er nach der Installation gestoppt und inaktiv, was sich jedoch mit /etc/rc.d/init.d/nfs start schnell beheben läßt. Nun sollte bei allen Aufrufen ein "OK" erschienen sein und beim Status-Aufruf ein ...is running stehen.

7. Die Verzeichnisse zum Export festlegen

Nachdem diese Hürde mit Bravour genommen wurde, kommen wir nun zur eigentlichen Konfiguration des NFS-Servers. Im Prinzip ist es ganz einfach, Verzeichnisse auf dem Server für andere Unix- oder Linux-Rechner zur Verfügung zu stellen. Es gibt eine Konfigurationsdatei, die /etc/exports heißt. In dieser Datei müssen alle Ordner eingetragen sein, um darauf zugreifen zu können. Schauen wir doch mal hinein.


# Begin of /etc/exports ( Beispiel 1 )
#
# Meine Dateien auf dem Server:
#
/Server                voyager(rw)                yorktown(ro)
#
# Ich exportiere das Verzeichnis /Server mit Leserechten (ro) auf
# voyager und yorktown. Voyager bekommt zusätzlich
# Schreibrechte (rw).
#
# end of file

Ihr könnt auch Rechner-Gruppen angeben:


# Begin of /etc/exports ( Beispiel 2 )
#
# Meine Dateien auf dem Server:
#
/Server                *.starfleet(rw)
#
# Ich exportiere hier das Verzeichnis /Server auf alle Rechner
# mit der Domain starfleet mit Schreib- und Lese-Rechten.
#
# Nun exportiere ich mein downloads-Verzeichnis noch:
/downloads        *(rw)
#
# end of file

Denkt daran, daß jeder Rechner mit der Domain starfleet auf das Verzeichnis zugreifen kann. Es ist also nicht so sicher wie die Angabe jedes Rechners, der zugreifen darf.

Das Ganze geht auch mit IP-Nummern, z.B.:


#
# Begin of /etc/exports ( Beispiel 3 )
# Die Verzeichnisse werden exportiert:
/Server           192.168.1.*(ro)
/downloads        192.168.6.3(rw)
#
# Wie gesagt, es geht auch mit IP-Nummern. Aber immer an die
# Sicherheit denken!
#
# end of file

Achtung: nicht vergessen, die Datei /etc/hosts zu pflegen, sonst könnte es hierbei Schwierigkeiten bezüglich der Namensauflösung geben. In größeren Netzen - oder auch zuhause, wenn man will - umgeht man dieses Problem mit einem Nameserver.

So, nun habt ihr erst mal eurem Server die Verzeichnisse beigebracht, die er exportieren soll.

8. Noch ein kleiner Test

Nachdem die Konfiguration erledigt ist, wollen wir uns dem Client zuwenden. Mit dem Befehl exportfs kann man nun sehen, welche Verzeichnisse aktuell freigegeben werden. Hier sollte nun /Server und /downloads<world> stehen. Weitere Optionen für den Befehl sind

  • -a Hinzufügen neuer Verzeichnisse in die Datenbank
  • -r zum kompletten Neueinlesen der /etc/exports

(...man exportfs...)

Weiter geht's mit den Clients...

Überarbeitet von Bernd Reimann


Copyright (C) Michael Flaig
Erschienen auf Pro-Linux, letzte Änderung 2001-08-13

 
 
Druckerfreundliche Version   Druckerfreundliche Version Seiten-Quellcode   Seiten-Quellcode
 
Index
Magazin
Artikel
Workshops
Kurztipps
Spiele
Editorials
Service
Forum
Programmnews
Links
Programme
Sicherheit
Kalender
LUGs
IRC
Nachrichten
Newsletter
News mitteilen
News-Archiv
Pagenews
Über Pro-Linux
Webmaster
Impressum

 werbung
Linux-Bücher
Sparen Sie bis zu 90%. IT-Bücher zu Sonderpreisen bei terrashop.de

 suche