Open Source im professionellen Einsatz
Linux-Magazin 01/2009

Ohne Netzverbindung mit Dateien eines Netzwerk-Filesystems arbeiten

Verbindungssuche

, , ,

Lagert ein wichtiges Dokument auf einem Fileserver, den der Client gerade nicht erreicht, dann braucht der User Kopien oder ein automatisches Offline-Filesystem. Die Autoren haben OFS entwickelt, das vorhandene Netzwerk-Dateisysteme entsprechend aufrüstet.

695

Auf der Reise zur Konferenz im Zug noch schnell eine Präsentation vervollständigen oder die nächsten Berichte im Flugzeug vorbereiten - solcherlei Fernarbeit ist heute an der Tagesordnung. Das Problem dabei: Gemeinsam genutzte Dateien liegen meist auf einem Fileserver in der Firma oder der Uni und auch die neuen Dokumente sollen dort wieder landen. Doch ist es weder möglich (Verfügbarkeit) noch sinnvoll (Kosten, Bandbreite), immer alle Dateien online zu bearbeiten.

Kopie nötig

Die Folge: Der Anwender kopiert die Daten auf sein Notebook, unterwegs bearbeitet er sie und nach der Rückkehr in die Firma sichert er alles wieder zurück. Schnell verliert er dabei den Überblick, vergisst einzelne Files oder überschreibt zwischenzeitliche Änderungen eines Kollegen, ohne das Malheur zu bemerken.

Unter Windows schaffen so genannte Offline Files Abhilfe (siehe Kasten "Ähnliche Ansätze"). Es gibt aber ein neues Projekt, das auch unter Linux ähnliche Funktionen anbietet: OFS, das Offline-Filesystem [1]. Die Abkürzung steht auch für Ohm-Filesystem, da OFS als Projekt an der Georg-Simon-Ohm-Hochschule Nürnberg entstand.

Ähnliche
Ansätze

Windows Offline Files: Ausschlaggebend für das OFS-Projekt [10] war der Wunsch, ein Linux-Pendant zu den Windows Offline Files zu schaffen. Microsoft integriert das Feature seit Windows 2000 in seine Betriebssysteme, unter Vista gehört es zum Synchronization Center. Windows Offline Files machen Dateien, die auf einer SMB-Freigabe liegen, auf Wunsch auch offline verfügbar. Der Benutzer kann auch dann auf die Freigabe zugreifen, wenn sein Rechner keine Verbindung zum Server hat. Ist die Freigabe wieder verfügbar, führt Windows automatisch oder vom Benutzer gesteuert eine Synchronisation durch. [5]

Coda: Bereits in den 1980er Jahren, lange vor Microsoft, begann ein Team an der Carnegie Mellon University (CMU) in Pittsburgh, Pennsylvania, damit, ein Netzwerk-Dateisystem zu programmieren, das den Netzverlust vor dem Benutzer verbergen sollte. Es war als Nachfolger des Andrew File System (AFS) gedacht. Coda überbrückt kurzzeitige Netzausfälle und erlaubt es, komplett ohne Netzwerkverbindung zu arbeiten. Dazu existiert ein lokaler Cache, den ein Cache-Manager verwaltet und nach einem bestimmten System füllt. Sehr komplex ist die erweiterbare Konfliktlösung. Die Entwickler haben hervorragende Ideen entwickelt, ganz ausgereift ist das Dateisystem dennoch nach deren eigenen Angaben noch nicht [6].

Intermezzo: Stammt ebenfalls aus der CMU. Es verfolgt ähnliche Ziele wie Coda bei einem deutlich einfacheren Design. Intermezzo verwendet den lokalen Cache anders. Während Coda nur dann darauf zurückgreift, wenn keine Verbindung existiert, nutzt Intermezzo immer den Cache. Wahlweise durch periodisches Polling oder auf Anfrage des Servers gleicht das Filesystem den Clientcache mit dem Inhalt des Servers ab. Weiterentwickelt wird das Dateisystem nicht mehr, seit Linux 2.6 befindet es sich auch nicht mehr im Kernel, es ist für die meisten Anwendungsfälle unbrauchbar [7].

Versionsverwaltung: Offline-Dateisysteme ersetzen keine Versionsverwaltung wie Subversion [8]. Zwar gibt es durchaus Ähnlichkeiten im Bereich der Konfliktlösung, jedoch haben Offline-Filesysteme kein Revisionsmanagement. Sie sollen die Arbeit des Anwenders vereinfachen, vor allem durch intuitive Bedienung und sinnvolle Automatismen, und ihn nicht mit Funktionen belasten, die er nicht braucht.

Synchronisation: Unison [9] und andere Produkte synchronisieren den Inhalt von lokalen und fernen Verzeichnissen. Der Benutzer muss sich jedoch darum kümmern, dass er seine Kopie mit dem Serverinhalt abgleicht, selbst wenn gerade eine Verbindung besteht. Offline-Filesysteme verbergen diesen Unterschied vor der Applikation.

Online, offline - egal

Der Ansatz ist einfach: Der Benutzer bestimmt zunächst die Verzeichnisse, die er unterwegs mitnehmen möchte. Deren Inhalt kopiert das Offline-Dateisystem in einen Cache auf der lokalen Festplatte. Selbst wenn keine Verbindung mehr zum Server besteht, scheint es für den Benutzer, als würde er weiterhin auf dem Netzwerk-Dateisystem arbeiten. In Wirklichkeit greift er jedoch auf die Kopien im Cache zu. Das bedeutet: Alle Pfade bleiben gleich, egal ob mit oder ohne Verbindung zum Netzwerk. Ist die Verbindung wiederhergestellt, stößt OFS automatisch eine Reintegration an, die alle Änderungen auf den Server schreibt.

OFS ist kein Netzwerk-Dateisystem im eigentlichen Sinne, vielmehr stellt es eine Schicht zwischen dem Netzwerk-Dateisystem (etwa NFS oder Samba) und der Sicht des Benutzers dar. Sie dient als Weiche zwischen Netzwerk-Share oder Cache und erledigt die Synchronisation. Damit lässt sich OFS mit jedem Filesystem kombinieren. Die Trennung von Netzwerk-Dateisystem und Offline-Fähigkeit unterscheidet OFS von früheren Ansätzen.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Verhandlungskünstler

    Userspace-Dateisysteme führen das Unix-Paradigma "Alles ist eine Datei" konsequent fort. Sie verwandeln Datenbanken, SSH-Verbindungen oder E-Mail-Accounts in Dateien. Für die Verschlüsselung lokaler Dateien ist ebenfalls gesorgt. So ersparen sich Anwender das Aufsetzen komplizierter Clients.

  • In eigener Sache: Bundle "Dateisysteme" für trittsichere Systemkenner

    Das Themenpaket enthält eine handverlesene Sammlung einschlägiger Magazin-Artikel der letzten drei Jahre: NFS, Flash und Lustre sowie Kosmos FS, Fuse und Au FS sind nach dem Lesen keine Unbekannten mehr.

  • Geheime Geschäfte

    Der Zoo an Crypto-Dateisystemen unter Linux hat Nachwuchs bekommen: E-Crypt-FS will in den Enterprise-Bereich vordringen. Ob der Sprössling schon reif ist fürs große Geschäft, zeigt dieser Kurztest.

  • Gestapelte Files

    Mit Au-FS etabliert sich unter den transluzenten Dateisystemen Konkurrenz zu Union-FS, mit FS-Cache erhält NFS zudem einen persistenten Cache. Beides sind ideale Zutaten für einen Terminalclient. Dieser Artikel stellt beide Projekte näher vor.

  • Mein eigenes Album

    Dateisysteme sind vielen Anwendern und Entwicklern fern - sie sind Angebote, die der Kernel bereitstellt. Dabei lassen sich ohne viel Aufwand mit Fuse und Python anwendungsspezifische Sichten auf den eigenen Datenbestand definieren - etwa ein Fotoalbum.

comments powered by Disqus

Ausgabe 08/2016

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.