File-Server

Festplatten, CDs und DVDs für alle Netzwerk-PC

Ein Fileserver stellt sogenannte Shares für die Verwendung durch entfernte Clients zur Verfügung. In der Praxis bedeutet das die Benutzung gemeinsamer Festplatten, CDs und DVDs in einem Netzwerk.
Server Dienste im Hintergrund
FileServer Begriffe - Hardware und Software
Kompress Linux, Windows, Apple, Freigabe, Samba, ...
SoftLinks Verknüpfungen (Alias, Links) auf einem FileServer

Fileserver:   Hardware und Software

Software

Ein Fileserver ist ein Programm, welches entfernten Clients den Zugriff auf das Dateisystem des eigenen PC ermöglicht.
Jeder Fileserver ist ein Hintergrund- oder Server-Programm ↓

Server-Programm

Jedes Server-Programm arbeitet im Hintergrund. Das bedeutet:
Es gibt kein Programm-Fenster, man kann das Programm nicht wie ein AnwenderInnen-Programm (Text, Grafik, Spiel, ...) bedienen
Ein Server kann lediglich gestartet und beendet werden. Der Start erfolgt normalerweise automatisch nach System-Start.
Jedes Server-Programm ist auf irgendeine Weise konfigurierbar, d.h. seine Arbeitsweise ist einstellbar. Auf Linux-Servern erfolgt die Konfiguration durch leicht lesbare Text-Dateien. Auf Windows ist die Konfiguration meist komplex, selten ganz durchschaubar und erfordert fast immer ein eigenes Konfigurations-Programm.
Server-Programme werden normalerweise nicht von sich aus aktiv, sondern "lauschen" auf Aufträge.

Hardware

Von IT-Laien wird oft kein Unterschied zwischen Server-Software und -Hardware gemacht.
Wie jede Software benötigt auch ein Server-Programm einen Computer (Hardware) zur Ausführung. Allerdings sind die beiden Komponenten voneinander unabhängig, das bedeutet:
Auf jedem PC können auch andere Programme laufen, z.B. mehrere Server-Programme (Fileserver, Webserver, Zeitserver, Mailserver, ...) oder sogar AnwenderInnen-Programme (Textverarbeitung, Kalkulation, Grafik, ...).
Die Server-Software ist transportabel, d.h. die gleiche Software kann auch auf (fast) jedem anderen PC des gleichen Betriebssystems laufen.

Netzwerk-Festplatten

sind meist eine fertig konfektionierte Kombination aus einem Linux-PC mit großer Festplatte, einem Samba-Fileserver zur gemeinsamen Nutzung der Festplatte und einem Apache-Webserver zur Konfiguration und Fern-Wartung des Fileservers.

Die Installation und Konfiguration dieser Komponenten ist für IT-Laien nicht sinnvoll, zumindest jedoch recht langwierig.

Umgekehrt bietet ein PC mit den gleichen Komponenten für erfahrene AnwerderInnen weit mehr Möglichkeiten: Der (Samba)-Fileserver kann viele verschiedene Shares mit optimierten Aufgaben verwalten, der Apache Webserver kann als Standard Webserver allgemein eingesetzt werden, zusätzlich lassen sich beliebige andere Programme betreiben.

Transportable Sticks und Festplatten

USB-Sticks und viele fertig konfektionierte portable (USB)-Festplatten lassen sich an jeden gängigen PC anschließen.
In dieser Form werden die Geräte als lokaler Speicherplatz verwendet. Das hat nichts mit einer gemeinsamen Nutzung - mit einem Fileserver - zu tun.

Ein Fileserver kann zwar in den meisten Fällen auch portable (removeable) Volumes zur gemeinsamen Nutzung verwenden, davon wird jedoch abgeraten:
Die Stärke eines Fileservers liegt in einem Angebot, welches zuverlässig, zu jedem Zeitpunkt und immer an der gleichen Adresse verfügbar ist. - Genau das ist jedoch bei einem leicht entfernbaren Stick nicht sinnvoll.

Fileserver - Kompress

Linux

Linux Datei-Systeme sind nicht an Volumes (Festplatten) gebunden. Das ist für Windows-AnwenderInnen zunächst ungewohnt. Auf Linux kann ein entferntes Dateisystem (z.B. das Angebot eines Fileservers) an jedem beliebigen Punkt des Dateisystems eingehängt werden. Man kann sich als AnwenderIn beispielsweise in einem großen Dateisystem bewegen ohne genau zu wissen, auf welchem PC oder auf welcher seiner Festplatten sich eine bestimmte Datei befindet.
Bei Bedarf (Administration, Daten-Sicherung) kann man natürlich auch auf Linux gezielt auf bestimmte Hardware (Festplatten) zugreifen.

Apple

Apple Systeme verwenden seit jeher nicht Buchstaben sondern Namen zur Bezeichnung von Fileservern. Daher war es nie ein Problem, beliebig viele angebotenen Shares zu nutzen.

Windows

Windows Datei-Systeme schleppen das längst veraltete Konzept einzelner Volumes mit je einem eigenen Laufwerks-Buchstaben mit. Wer nur Windows kennt, hält das allerdings für normal. Auf Windows muss man jedes einzelne Angebot eines Fileservers als "Netz-Laufwerk" einbinden und dafür einen eigenen Buchstaben vergeben.

Laufwerks-Buchstaben sind rar: Von den 26 Zeichen sind 2 an nicht mehr verwendete Floppy-Laufwerke vergeben, bis zu 4 weitere an Festplatte, CD- und DVD-Laufwerke, danach noch 2-8 für USB-Geräte (Sticks, Camera, ...). Das Angebot eines oder mehrerer Fileserver kann zahlreiche Shares umfassen, die sich wie Festplatten, CDs oder DVDs verhalten. Notfalls muss man auf einem Win-PC einige Netzlaufwerke trennen, um freie Buchstaben für andere Shares zu bekommen.

Mehrere Fileserver-PC im LAN

In jedem Netzwerk können im Rahmen seiner Konfiguration beliebig viele Fileserver-PC (Hardware) betrieben werden. In größeren LANs wird diese Möglichkeit für spezialisierte Server genutzt, z.B. eigene Server-PC für frei nutzbaren Speicherplatz, für read-only Angebote oder für bestimmte Arbeitsgruppen. Auf einem einzelnen PC wird meistens nur ein einziger Fileserver betrieben, der allerdings beliebig viele verschiedene Shares anbieten kann.
Auch die Installation mehrerer fertig konfektionierter Netzwerk-Festplatten ist nichts anderes als der Betrieb mehrerer Fileserver-PC.

Mehrere Server auf einem PC

Auf einem einzelnen Server-PC (Hardware) werden meist mehrere Server betrieben, die alle zur Nutzung gemeinsamer Resourcen im lokalen Netzwerk (LAN) verwendet werden. Besonders häufig wird die LAMP-Kombination eingesetzt:
Linux Betriebssystem, → Apache Webserver, → MySQL Datenbank Server, → Perl und → PHP als Programmiersprachen, sowie → Samba als Fileserver.
Alle genannten Komponenten sind in jeder gängigen Linux Distribution enthalten (im Zweifel die Server-Variante einer Distribution) und kostenfrei aus dem Internet zu laden.

Windows Freigabe

Auf jedem neueren Windows-PC kann man Verzeichnisse zur gemeinsamen Benutzung im Netzwerk freigeben. Das ist eine einfache Variante eines Fileservers. Von der regelmäßigen Verwendung wird eher abgeraten:
Die Maßnahmen zur Sicherheit sind gering und vom jeweiligen User abhängig.
Meist wird keine regelmäßige Daten-Sicherung durchgeführt.
Das Angebot kann nur verwendet werden, wenn der PC eingeschaltet ist.
Wenn mehrere PC Freigaben anbieten, dann enthalten die Shares fast immer unerwünschte Duplikate. Deren Verwaltung ist aufwändig, wenn verschiedene Versionen (oft ohne Bezeichnung) auf mehreren PC vorliegen.
Weit besser ist es, alle derartigen Freigaben aufzulösen und auf einem Server-PC zu konzentrieren.

Server-PC

Ein eigener Server-PC ist in jedem lokalen Netzwerk (LAN) sinnvoll. Der Server arbeitet auch auf älterer Hardware viel schneller als ein Arbeits-PC, da die größte Belastung - grafische Oberfläche, Fenster- und Maus-Bedienung - fast oder ganz wegfällt. An einem Server lassen sich alle gewünschten Einstellungen und Arbeiten automatisieren, z.B.
Genaue und strenge Beachtung der Zugriffs-Rechte, automatische Datensicherung, zentrale Verwaltung.
Eine der wichtigsten Aufgaben eines LAN-Servers ist der Betrieb eines Fileservers - das Thema dieser Seite.

Samba

Samba ist die bekannteste und am weitesten verbreitete Fileserver Software. Samba läuft nur auf einem Linux Betriebssystem, ist in jeder gängigen Linux-Distribution enthalten und kann kostenlos aus dem Internet geladen werden.
Samba wird routinemäßig dazu eingesetzt, die Windows-PC eines gemischten Netzwerks mit gemeinsam genutzten Netzlaufwerken zu versorgen.
Samba kann unabhängig davon weitere Aufgaben übernehmen: Drucker-Server (Printserver), für einen oder mehrere gemeinsam genutzte Drucker, Anmelde-Server (Domain Controller) für Windows-User, Viren-Scanner für Netzlaufwerke, usw.
Details zum Samba Fileserver

NFS

Das Network File System (NFS) ist die Grundlage für Linux Fileserver. Jeder Linux-PC kann sowohl als NFS-Server als auch als NFS-Client auftreten.
Ein NFS-Server exportiert beliebige Teile seines Datei-Systems. Diese Verzeichnisse sind bei entsprechender Berechtigung von entfernten Linux-PC nutzbar.
Ein NFS-Client importiert Teile von entfernten Datei-Systemen. Diese Shares können an beliebiger Stelle im eigenen Datei-System eingehängt werden.
Jede gängige Linux-Distribution enthält NFS.

SMB-Client

Linux-Server können nicht nur mit Samba Shares für Windows-PC anbieten, sondern auch mit dem Programm smbclient Windows-Netzlaufwerke in das eigene Dateisystem einbinden. SmbClient ist in jeder gängigen Linux-Distribution enthalten und kann kostenfrei aus dem Internet geladen werden.

SoftLinks (Alias, Verknüpfungen)

SoftLink

Jedes moderne Betriebssystem bietet die Möglichkeit, SoftLink-Objekte anzulegen. Diese Objekte (je nach System auch Alias oder Verknüpfungen genannt) arbeiten als 'Wegweiser' zu anderen (realen) Objekten. Damit ist es möglich, Objekte mehrfach im Dateisystem anzuzeigen, jedoch nur einmal real zu führen.
Zur besseren Unterscheidung werden in diesem Kapitel Windows-Links mit dem Begriff 'Verknüpfung', Linux-Links mit 'SoftLink' bezeichnet.

Dieses Konzept ist aus dem Internet bekannt: Es ist möglich, mit Klick auf einen Link von beliebigen Webseiten zu einer bestimmten Seite zu gelangen. Die Webseite selbst gibt es nur einmal, es können jedoch beliebig viele Links zu dieser Seite existieren, und zwar überall dort, wo das zum Thema passt.

Links anlegen !

Es ist sinnvoll und sehr empfehlenswert, Links überall dort anzulegen, wo sie Sinn ergeben - Eine Datei oder ein Verzeichnis (Ordner) sollte auch im Dateisystem überall dort zu finden sein, wo das zum Thema passt.
Tipp: Legen sie sinnvolle Links nur zu solchen Objekten an, deren Namen und Pfade voraussichtlich nicht geändert werden. Verzeichnisse (Ordner) sind dazu besser geeignet als Dateien.
Tipp: Benennen sie häufig verwendete Objekte möglichst unabhängig von Datum und Version. Bringen sie derartige Daten evtl. in einer kleinen Text-Datei im gleichen Verzeichnis unter.

Windows-Links

Auch Windows-Systeme können unter dem Namen 'Verknüpfung' Links zu Laufwerken, Ordnern oder Dateien anlegen und verwenden. Sie werden im System als Dateien *.lnk geführt, deren Erweiterung normalerweise unsichtbar ist.

Windows-Verknüpfungen enthalten normalerweise die absoluten Pfade zu den Ziel-Objekten, d.h. sie sind von den jeweiligen Laufwerks-Buchstaben abhängig. Das ist in der Praxis moderner Netzwerke ein großer Nachteil.

Windows Laufwerks-Buchstaben

Die meisten Probleme mit Windows-Verknüpfungen entstehen durch das längst überholte System der Laufwerks-Buchstaben:

Netzlaufwerke (Volumes auf einem FileServer) lassen sich an beliebige freie Laufwerks-Buchstaben zuweisen. Dieser Buchstabe kann daher auf jedem einzelnen PC eines lokalen Netzwerks frei gewählt werden, und zwar bei jeder einzelnen Anmeldung.
Man kann sich zwar darauf einigen, ein Netzlaufwerk mit einem bestimmten Buchstaben zu verbinden, das ist jedoch höchst unsicher.

Mobile Laufwerke (USB-Sticks, USB-Festplatten) erhalten automatisch einen freien Laufwerks-Buchstaben zugewiesen. Dieser Buchstabe hängt daher auf jedem einzelnen PC von der Vorgeschichte ab, d.h. von den vorher verbundenen Laufwerken.
Auch das ergibt zahlreiche Probleme, die jedoch auf dieser Webseite (FileServer) nicht weiter vorgestellt werden.

Absolute Pfade geben den kompletten Pfad zu einem Dateisystem-Objekt an, z.B. X:\Ordner\Datei.txt
Variable Laufwerks-Buchstaben führen dazu, dass die absoluten Pfade (z.B. in Windows-Verknüpfungen) zu Netzlaufwerken und mobilen Laufwerken nicht sicher vorhersagbar sind. Die absoluten Pfade zu Objekten auf einem Netzlaufwerk können auf jedem einzelnen PC des lokalen Netzwerks verschieden sein !

Windows-Verknüpfungen zu Objekten auf Netzlaufwerken oder mobilen Laufwerken sind daher höchst unzuverlässig.
Unmittelbar nach dem Anlegen (am gleichen PC) funktioniert die Verknüpfung. Bei Klick auf den Link gelangt man zum gewünschten Ziel.
Wenn man die Verknüpfung jedoch auf einem anderen PC verwendet (welcher das gleiche Netzlaufwerk mit einem anderen Buchstaben verbunden hatt), dann tritt ein Fehler auf. Der Link versagt auch am gleichen PC, wenn man das Netzlaufwerk später einmal mit einem anderen Buchstaben verbindet.

Linux-SoftLinks

Legen sie an Stelle der unzuverlässigen Windows-Verknüpfungen Linux-SoftLinks an:
Derartige Links funktionieren unter allen Bedingungen, d.h. für alle verbundenen PC, unabhängig von den verwendeten Laufwerks-Buchstaben.

Linux-Links am (Samba) FileServer
Linux SoftLinks lassen sich nicht auf einem Windows-PC anlegen. Man benötigt einen Zugang zum Linux-Server, z.B.
Direkter Zugang (Server-Arbeitsplatz)
SSH (ferngesteuerte Linux-Konsole)
VNC oder ein anderer ferngesteuerter Linux-DeskTop

SoftLink mit der Shell-Konsole
An der Linux Konsole (oder mit SSH von einem beliebigen PC des Netzwerks) gibt man diese Anweisung:
# ln -s target linkname
Ersetzen sie target durch den absoluten Pfad zum Ziel.
Ersetzen sie linkname durch den absoluten Pfad zum SoftLink.

Hilfe zu dieser Anweisung erhalten sie mit
# man ln

Windows kann derartige SoftLinks nicht erkennen. An einem Windows-Netzlaufwerk verhält sich jeder mit Linux erstellte SoftLink exakt genauso wie das Original (Verweis-Ziel des Links).

Beispiel:

Es wird angenommen, dass der Samba Fileserver dieses Verzeichnis als Netzlaufwerk 'Jumbo' freigibt:
/srv/filesrv/jumbo

Es wird angenommen, dass sich im Netzlaufwerk 'Jumbo' u.a. diese beiden Verzeichnisse befinden:
/srv/filesrv/jumbo/Entwicklung
/srv/filesrv/jumbo/Internet

So erscheinen d ie beiden Verzeichnisse in einem Windows Netzlaufwerk:
X:\Entwicklung
X:\Internet
Der Laufwerks-Buchstabe (X) ist allerdings unsicher, denn er kann auf jedem PC und bei jeder einzelnen Verbindung frei gewählt werden.
Unsichere Windows-Verknüpfung:
Sie können am Windows-PC eine unsichere Verknüpfung anlegen:
Wechseln sie in den Ordner X:\Entwicklung und legen sie eine Verknüpfung mit dem Namen 'WinTest' und dem Ziel X:\Internet an.
Die Verknüpfung erscheint danach an jedem Windows-PC:
X:\Entwicklung\WinTest
Mit Klick auf 'WinTest' gelangen sie wie erwartet in das Verzeichnis 'Internet'.

Wenn sie das Netzlaufwerk trennen und mit einem anderen Buchstaben verbinden, dann versagt die unsichere Windows-Verknüpfung. Sie wurde nicht geändert, findet sich jedoch nun z.B. als
Y:\Entwicklung\WinTest
und ergibt in diesem Fall (und mit jedem anderen Buchstaben ausser X) einen Fehler.
Sicherer Linux-SoftLink:
Legen sie diesen SoftLink direkt am Linux-Server an.
Öffnen sie eine Shell-Konsole und geben sie diese Anweisung ein:
# ln -s /srv/filesrv/jumbo/Internet /srv/filesrv/Entwicklung/LinuxTest
Beachten sie die korrekte Angabe von Groß- und Kleinbuchstaben, die von Linux streng unterschieden werden.

Der erzeugte SoftLink erscheint danach auf jedem Windows-PC:
X:\Entwicklung\LinuxTest
Mit Klick auf 'LinuxTest' gelangen sie wie erwartet in das Verzeichnis 'Internet'.

Dieser SoftLink funktioniert unter allen Bedingungen, unabhängig davon, welcher Laufwerks-Buchstabe benutzt wird, z.B. auch mit
Y:\Entwicklung\LinuxTest

Link-Kopie

Jeder Link lässt sich kopieren oder an einen anderen Pfad verschieben.

Das gilt fü Linux-SoftLinks ebenso wie für Windows-Verknüpfungen. Da jeder derartige Link über den absoluten Pfad auf das Ziel verweist, funktioniert er auch an jeder beliebigen Stelle gleich gut, d.h. er verweist entweder immer auf das richtige Ziel oder ergibt immer einen Fehler.
Änderung des Link-Ziels
Wenn man den Namen des Ziel-Objekts ändert oder das Objekt an einen anderen Pfad verschiebt, dann werden alle darauf verweisenden Links unwirksam. Vermeiden sie diesen Fall unter allen Umständen.

Falls es doch passiert, dann helfen Programme zur Link-Kontrolle: Sie prüfen bei jedem gefundenen Link, ob das angegebene Ziel existiert.
Für Windows-Verknüpfungen ist diese Arbeit weitgehend sinnlos, wenn es sich um Links auf Netzlaufwerke handelt.
Wenn sie Linux-SoftLinks angelegt haben, dann können sie zur Kontrolle nur Linux-Programme verwenden, da nur diese die Links überhaupt als solche erkennen.

XHTML CSS