Ein verteiltes System ist im Prinzip der Zusammenschluss mehrerer Rechner zur Lösung einer gemeinsamen Aufgabe. Eines der größten verteilten Systeme ist das Internet mit seinen Applikationen. Teil 5 behandelt verteilte Dateisysteme und Namensdienste.
Skript-Anfang
VS_1_So2014 – Seite 1
Skript-Ende
VS_6_So2014 – Seite 70
Dienste
Der Begriff Dienst beschreibt in der Informatik allgemein eine technische, autarke Einheit, die zusammenhängende Funktionalitäten zu einem Themenkomplex bündelt und über eine klar definierte Schnittstelle zur Verfügung stellt. Typische Beispiele sind hier z. B. Webservices, die Funktionalitäten für Dritte über das Inter- bzw. Intranet verfügbar machen, Netzwerkdienste, Systemdienste oder auch Telekommunikationsdienste.
Verteilte Dateisysteme
Wozu braucht man verteilte Dateisysteme?
Summe einzelner Systeme ist größer als ein lokales System (Kapazität)
Zugriff von unterschiedlichen Systemen möglich (Gemeinsame Verwendung)
Unterstützung plattenloser Geräte
Welche Transparenzeigenschaften sollten sie erfüllen?
Transparenz
Beschreibung
Zugriff
Gleicher Zugriff wie bei lokalen Dateien
Ort
Man muss nicht wissen, wo eine Datei sich befindet (Adresse identisch für jeden Client)
Nebenläufigkeit
Mehrere Benutzer können gleichzeitig zugreifen (Parallele Schreibzugriffe sind problematisch)
Fehler
Der Ausfall eines Systems beeinträchtigt keine anderen Systeme (Daten müssen immer verfügbar sein)
Last
Last darf die Antwortzeiten nicht beeinflussen
Migration
Dateiverschiebungen zwischen Servern bleiben unbemerkt (Verzeichniswechsel muss bemerkbar sein)
Replikation
Client sieht immer nur eine Version der Datei
Wie integriert sich ein verteiltes Dateisystem?
Welche Zugriffsmodelle gibt es?
Remote-Access
Upload/Download
Was ist Remote-Access?
Alle Zugriffe finden auf dem Server statt
Datei wird nicht kopiert
Vollständige Funktion im Server
Komplexe Schnittstelle
Ständiger Netzwerkzugriff mit kleinen Datenmengen
Was ist Upload/Download?
Datei wird auf den Client verschoben
Nach Ende der Nutzung wird Datei zurück auf den Server kopiert
Teile der Funktionalität auf dem Client
Einfache Schnittstelle
Viel Speicherplatz auf dem Client benötigt
Netzwerkzugriff nur beim Öffnen und Schließen
Was sind zustandslose Server?
Alle Informationen werden mit jedem Aufruf übertragen (Weniger Speicherbedarf im Server)
Keine Operation zum Öffnen oder Schließen von Dateien
Leichter zu implementieren (Fehlertoleranz und Lastverteilung)
Keine Probleme beim Absturz eines Clients (Keine Zustandsinformationen zum Löschen)
Was sind zustandsbehaftete Server?
Weniger Kommunikationsaufwand, weil weniger Informationen benötigt werden
Lese- und Schreibzugriffe sind effizienter (Zeiger sind schon am richtigen Platz)
Alle Clients und verwendete Dateien sind bekannt (ermöglicht Precaching)
Sperren sind einfach zu realisieren
Sind zustandslose oder zustandsbehaftete Server besser?
Zustandslos ist besser, wenn der die Koppelung von Client und Server gering ist und Daten nur bedingt geschrieben werden (HTTP)
Zustandsbehaftet ist besser, wenn viel mit Lese- und Schreiboperationen auf Dateien gearbeitet wird (FTP)
Welche Änderungs-Semantiken gibt es?
Semantik
Beschreibung
UNIX
Änderungen sofort sichtbar
Sitzung
Änderungen erst beim Schließen sichtbar
Unveränderbare Dateien
Keine Änderungen möglich
Transaktion
Atomare Änderungen
Network File System (NFS)
Was ist COMPOUND4args bei NFS v4?
Mehrere Operationen in einem RPC-Aufruf
Dadurch können RPCs eingespart werden
Woher kennen wir diese Art der Verarbeitung schon?
Es wird beim Pipelining von idempotenten und unabhängigen HTTP-Anfragen genutzt
Welche Funktionen hat NFSv4?
LOOKUP – Dateiname suchen und Handle liefern
CREATE – Besondere Dateien erzeugen (Verzeichnisse und Links)
OPEN – Öffnen (und erzeugen) von normalen Dateien
CLOSE – Schließen
READ – Datei lesen
WRITE – Datei schreiben
MKDIR – Verzeichnis erzeugen
READDIR – Verzeichniseintrag lesen
REMOVE – Datei löschen
Wie läuft ein Lesezugriff im NFS ab?
LOOKUP
OPEN
READ (Position-Lesezeiger, Anzahl zu lesender Bytes)
…
CLOSE
Welche Vor- und Nachteile gibt es, wenn der Client die Datenmenge bestimmt?
Es kann zu Speicherzugriffsverletzungen kommen
Bei einem timeout muss ggf. alles neu gesendet werden
Deswegen bestimmt der Server die Datenmenge (Aber nicht mehr als der Client anfragt)
Was passiert, wenn ein Aufruf sehr lange dauert?
Verbindungsabbruch (timeout)
Client wird zu einem RPC-Server für asynchrone Benachrichtigungen (callbacks)
Ist NFS zustandslos?
Nein, da die locking und delegation Funktionen mit Zuständen arbeiten
Implementiert NFS das Modell remote access oder upload/download?
Es implementiert remote access
Wie wird NFS in ein lokales Dateisystem eingebunden?
Mittels mount (Virtuelles Dateisystem)
Als neues Laufwerk
Was passiert, wenn ein Server Dateien von einem anderen Server importiert?
Die Weitergabe von solchen Dateien ist nicht erlaubt
Die Unterverzeichnisse müssen ausdrücklich importiert werden
Wie werden Dateinamen aufgelöst?
Rekursiv über mehrere Server
Client stellt LOOKUP an Server
Server leitet die Anfrage an nächsten Server weiter
Server gibt einen Handle der Datei zurück
LOOKUP liefert alle Server zurück (Wechsel bei Ausfall)
Welche Probleme gibt es beim Zugriff auf Dateien?
Replikation (Konsistenz geht verloren)
Sperren
Synchronisation
Performance
Unterstützt NFS Replikation?
Ja, aber nur für read-only Dateisysteme
LOOKUP liefert alle Server mit Repliken
Welche Änderungs-Semantik implementiert NFS?
Sitzungssemantik
Was sind Dateisperren?
Lese- und Schreibsperren durch Clients beim Aufruf (READ, WRITE, BOTH)
Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional
Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt.Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.