Clustered Dateisystem
A Clustered Dateisystem ist ein Dateisystem das wird geteilt, indem er gleichzeitig ist montiert auf mehreren Server. Es gibt mehrere Ansätze zu ClusteringDie meisten von ihnen verwenden kein Clustered -Dateisystem (nur Direkt angeschlossener Speicher für jeden Knoten). Clustered Dateisysteme können Funktionen wie ortsunabhängige Adressierung und Redundanz bereitstellen, die die Zuverlässigkeit verbessern oder die Komplexität der anderen Teile des Clusters verringern. Parallele Dateisysteme sind eine Art Cluster -Dateisystem, das Daten über mehrere Speicherknoten hinweg verbreitet, normalerweise für Redundanz oder Leistung.[1]
A Shared-Disk-Dateisystem verwendet a Speicherbereichsnetz (San), damit mehrere Computer einen direkten Datenträgerzugriff auf dem erhalten können Blockebene. Zugriffskontrolle und Übersetzung von Operationen auf Dateiebene, die Anwendungen verwenden, um den von der SAN verwendeten Vorgänge auf dem Client-Knoten zu blockieren. Der häufigste Typ des Cluster-Dateisystems, das Shared-Disk-Dateisystem-durch Hinzufügen von Mechanismen für Parallelitätskontrolle- stellt ein konsistentes und vor Serialisierbar Ansicht des Dateisystems, Verderbnis und unbeabsichtigter Datenverlust Auch wenn mehrere Clients gleichzeitig versuchen, auf dieselben Dateien zuzugreifen. Shared-Disk-Dateisysteme verwenden üblicherweise eine Art von einer Art Fechten Mechanismus zur Verhinderung von Datenbeschädigungen bei Knotenfehlern, da ein nicht ausgelassenes Gerät Datenbeschäftigung verursachen kann, wenn es die Kommunikation mit seinen Schwesterknoten verliert und versucht, auf dieselben Informationen zuzugreifen, auf die auf andere Knoten zugegriffen wird.
Das zugrunde liegende Speichergebietsnetz kann eine Reihe von Protokollen auf Blockebene verwenden, einschließlich Scsi, iscsi, Hyperscsi, ATA über Ethernet (AOE), Faserkanal, Netzwerkblockgerät, und Infiniband.
Es gibt verschiedene architektonische Ansätze für ein Shared-Disk-Dateisystem. Einige verteilen Dateiinformationen auf alle Server in einem Cluster (vollständig verteilt).[2]
Beispiele
- Blauwal -Cluster -Dateisystem (BWFS)
- Siliziumgrafik (SGI) Clustered Dateisystem (CXFS)
- Veritas Cluster -Dateisystem
- Microsoft Cluster Shared Volumes (CSV)
- Dataplow Nasan Dateisystem
- IBM Allgemeines Parallel Dateisystem (GPFS)
- Oracle Cluster -Dateisystem (OCFS)
- OpenVMS Dateien-11 Dateisystem
- Polyerve -Speicherlösungen
- Quanten Storntext Dateisystem (SNFS), Ex ADIC, Ex Centravision Dateisystem (CVFS)
- roter Hut Globales Dateisystem (GFS2)
- Sonne QFS
- Terrascale Technologies Terrafs
- Veritas CFS (Cluster FS: Clustered VXFS)
- Verssity VSM (SAM-QFS auf Linux portiert), Scoutfs
- VMware VMFS
- Wekafs
- Apfel XSAN
- Libelle BSD Hammer2
Verteilte Dateisysteme
Verteilte Dateisysteme nicht teilen Zugriff auf Blockebene zum gleichen Speicher, aber ein Netzwerk verwenden Protokoll.[3][4] Diese sind allgemein bekannt als NetzwerkdateisystemeObwohl sie nicht die einzigen Dateisysteme sind, die das Netzwerk zum Senden von Daten verwenden.[5] Verteilte Dateisysteme können den Zugriff auf das Dateisystem je nach Dateisystem einschränken Zugriffslisten oder Fähigkeiten Sowohl auf den Servern als auch auf den Clients, je nachdem, wie das Protokoll entworfen wurde.
Der Unterschied zwischen einem verteilten Dateisystem und a Verteilte Datenspeicher ist, dass auf ein verteiltes Dateisystem auf Dateien mit denselben Schnittstellen und Semantik wie lokalen Dateien zugegriffen werden kann - beispielsweise die Montage/Ununternehmer, Auflistungsverzeichnisse, Lesen/Schreiben an Byte -Grenzen, das native Berechtigungsmodell des Systems. Verteilte Datenspeicher erfordern dagegen die Verwendung einer anderen API oder Bibliothek und haben unterschiedliche Semantik (meistens die einer Datenbank).[6]
Designziele
Verteilte Dateisysteme können in einer Reihe von Aspekten auf "Transparenz" abzielen. Das heißt, sie zielen darauf ab, für Client -Programme "unsichtbar" zu sein, die ein System "sehen", das einem lokalen Dateisystem ähnlich ist. Hinter den Kulissen vervollständigt das verteilte Dateisystem die Suchdateien, das Transport von Daten und potenziell andere Funktionen, die unten aufgeführt sind.
- Zugang zu Transparenz: Clients sind sich nicht bewusst, dass Dateien verteilt sind und auf die gleiche Weise zugreifen können, auf die auf lokale Dateien zugegriffen werden.
- Standorttransparenz: Ein konsistenter Namespace enthält sowohl lokale als auch Remotedateien. Der Name einer Datei gibt ihren Standort nicht an.
- Parallelitätstransparenz: Alle Clients haben die gleiche Ansicht des Status des Dateisystems. Dies bedeutet, dass wenn ein Prozess eine Datei geändert wird, alle anderen Prozesse auf demselben System oder Remote -Systemen, die auf die Dateien zugreifen, die Änderungen in einer kohärenten Weise angezeigt werden.
- Fehlertransparenz: Die Client- und Client -Programme sollten nach einem Serverausfall korrekt funktionieren.
- Heterogenität: Dateiservice sollte auf verschiedenen Hardware- und Betriebssystemplattformen bereitgestellt werden.
- Skalierbarkeit: Das Dateisystem sollte in kleinen Umgebungen (1 Maschine, ein Dutzend Maschinen) gut funktionieren und auch anmutig auf größere (Hunderte bis Zehntausende von Systemen) skalieren.
- Replikationstransparenz: Clients sollten sich der Dateireplikation nicht bewusst sein, die auf mehreren Servern durchgeführt wurde, um die Skalierbarkeit zu unterstützen.
- Migrationstransparenz: Dateien sollten in der Lage sein, sich zwischen verschiedenen Servern ohne Wissen des Kunden zu bewegen.
Geschichte
Das Inkompatibler Timesharing -System Verwendete virtuelle Geräte für transparente Zugriff auf das System des Systems des Systems in den 1960er Jahren. In den 1970er Jahren wurden weitere Dateiserver entwickelt. 1976 Digital Equipment Corporation erstellt die Dateizugriffshörer (Fal), eine Implementierung des Datenzugriffsprotokolls als Teil von Decnet Phase II, das das erste weit verbreitete Netzwerkdateisystem wurde. 1985 Sun Microsystems Erstellt das Dateisystem namens "Netzwerkdateisystem"(NFS), das die erste weit verbreitete wurde Internetprotokoll basierendes Netzwerkdateisystem.[4] Andere bemerkenswerte Netzwerkdateisysteme sind Andrew -Dateisystem (AFS), Apple -Einreichungsprotokoll (AFP), Netware -Kernprotokoll (NCP) und Server -Nachrichtenblock (SMB), das auch als gemeinsames Internet -Dateisystem (CIFS) bezeichnet wird.
1986,, IBM Angekündigte Client- und Serverunterstützung für die verteilte Datenverwaltungsarchitektur (DDM) für die System/36, System/38, und IBM Mainframe -Computer, die ausgeführt werden CICs. Es folgte die Unterstützung für IBM PC, AS/400, IBM Mainframe Computer unter dem MVS und VSE Betriebssysteme und Flexos. DDM wurde auch zur Grundlage für Verteilte relationale Datenbankarchitekturauch bekannt als DRDA.
Es gibt viele Peer-To-Peer Netzwerkprotokolle Für Open-Source Verteilte Dateisysteme für Cloud oder Clustered-Dateisysteme geschlossene Quellen, z. g.: 9p, AFS, Koda, CIFS/SMB, DCE/DFS, Wekafs, Lüster, Panfs, Google -Dateisystem, Mnet, Akkordprojekt.
Beispiele
- Aluxio
- Beegfs (Fraunhofer)
- Cephfs (InkTank, Red Hat, Suse)
- Windows Distributed Dateisystem (DFS) (Microsoft)
- Infinit (erworben von Docker)
- Gfarmfs
- Glusterfs (Roter Hut)
- GFS (Google Inc.)
- HDFS (Apache Software Foundation)
- IPFS (Inter planetary Dateisystem)
- Irods
- Juicefs (Juicedata)
- Eidechse (Skytechnologie)
- Lüster
- Mapr fs
- Moosefs (Kerntechnologie / Gemius)
- Objektivefs
- Einfs (EMC ISILON)
- Orangefs (Clemson University, Omnibond Systems), früher Paralleles virtuelles Dateisystem
- Panfs (Panasas)
- Paralleles virtuelles Dateisystem (Clemson University, Argonne National Laboratory, Ohio Supercomputer Center)
- Rozofs (Rozo Systems)
- SMB/CIFS
- Torus (Coreos)
- Wekafs (wekaio)
- XTreemfs
Netzwerkspeicher
NETWORK-ATTAGED STORY (NAS) bietet sowohl Speicher- als auch ein Dateisystem wie ein Shared-Dateidateisystem über einem Speicher-Netzwerk (SAN). NAS verwendet typischerweise dateibasierte Protokolle (im Gegensatz zu blockbasierten Protokollen, die ein SAN verwenden würde), wie z. NFS (beliebt auf Unix Systeme), SMB/CIFs (Server -Nachrichtenblock/gemeinsames Internet -Dateisystem) (verwendet mit MS Windows -Systemen), AFP (benutzt mit Apple Macintosh Computer) oder NCP (verwendet mit Oes und Novell Netware).
Entwurfsüberlegungen
Vermeiden Sie einen einzigen Fehlerpunkt
Der Ausfall der Festplattenhardware oder eines bestimmten Speicherknotens in einem Cluster kann a erstellen der Punkt des Versagens das kann dazu führen Datenverlust oder Nichtverfügbarkeit. Fehlertoleranz und hohe Verfügbarkeit kann durch die Bereitstellung Datenreplikation von der einen oder anderen Art, so dass die Daten trotz des Ausfalls eines einzelnen Gerätes intakt und verfügbar bleiben. Beispiele finden Sie in den Listen von verteilte fehlertolerante Dateisysteme und verteilte parallel fehlertolerante Dateisysteme verteilt.
Leistung
Eine gemeinsame Leistung Messung Von einem Cluster -Dateisystem ist die Zeit, die zur Befriedigung von Serviceanfragen erforderlich ist. In herkömmlichen Systemen besteht diese Zeit aus einer Zeitscheibe-Zugriffszeit und einer kleinen Menge an Zentralprozessor-Verarbeitungszeit. In einem Cluster -Dateisystem hat ein Remote -Zugriff aufgrund der verteilten Struktur jedoch zusätzlichen Overhead. Dies beinhaltet die Zeit, die Anfrage an einen Server zu liefern, die Zeit, die Antwort an den Client zu liefern Kommunikationsprotokoll Software.
Parallelität
Die Genauigkeitskontrolle wird zu einem Problem, wenn mehr als eine Person oder ein Client auf dieselbe Datei oder denselben Block zugreifen und sie aktualisieren möchten. Daher sollten Aktualisierungen der Datei von einem Client den Zugriff und die Aktualisierungen anderer Clients nicht beeinträchtigen. Dieses Problem ist mit Dateisystemen aufgrund gleichzeitiger Überlappungsschreibungen komplexer, bei denen verschiedene Autoren gleichzeitig über überlappende Regionen der Datei schreiben.[7] Dieses Problem wird normalerweise von behandelt Parallelitätskontrolle oder Sperren Dies kann entweder in das Dateisystem integriert oder durch ein Add-On-Protokoll bereitgestellt werden.
Geschichte
IBM Mainframes in den 1970er Jahren könnten physische Datenträger und Dateisysteme teilen, wenn jede Maschine eine eigene Kanalverbindung zu den Steuereinheiten der Laufwerke hatte. In den 1980er Jahren, Digital Equipment Corporation's Tops-20 und OpenVMS Die Cluster (VAX/Alpha/IA64) enthielten freigegebene Datenträgersysteme.[8]
Siehe auch
Verweise
- ^ Saify, Amina; Kochhar, Garima; Hsieh, Jenwei; Celebioglu, Onur (Mai 2005). "Verbesserung von Hochleistungs-Computing-Clustern mit parallelen Dateisystemen" (PDF). Dell Power Solutions. Dell Inc. Abgerufen 6. März 2019.
- ^ Mokadem, Riad; Litwin, Witold; Schwarz, Thomas (2006). "Festplattensicherung durch algebraische Signaturen in skalierbaren verteilten Datenstrukturen" (PDF). Dexa 2006 Springer. Abgerufen 8. Juni 2006.
- ^ Silberschatz, Abraham; Galvin, Peter; Gagne, Greg (2009). "Betriebssystemkonzepte, 8. Ausgabe" (PDF). Universität von Babylon. John Wiley & Sons, Inc. S. 705–725. Abgerufen 4. März 2019.
- ^ a b Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014), Sun's Network Dateisystem (PDF), Arpaci-Dusseau-Bücher
- ^ Sandberg, Russel (1986). "Das Sun Network -Dateisystem: Design, Implementierung und Erfahrung" (PDF). Proceedings of the Summer 1986 Usenix Technical Conference and Exhibition. Sun Microsystems, Inc.. Abgerufen 6. März 2019.
NFS wurde entwickelt, um die Freigabe von Dateisystemressourcen in einem Netzwerk nicht-homogener Machine zu vereinfachen.
- ^ Sobh, Tarek (2008). Fortschritte in Computer- und Informationswissenschaften und -technik. Springer Science & Business Media. S. 423–440. Bibcode:2008ACis.book ..... s.
- ^ Pessach, Yaniv (2013). Verteilte Speicherung: Konzepte, Algorithmen und Implementierungen. ISBN978-1482561043.
- ^ Murphy, Dan (1996). "Ursprünge und Entwicklung von TOPS-20". Dan Murphy. Ehrgeizige Pläne für Jupiter. Abgerufen 6. März 2019.
Letztendlich versendeten sowohl VMs als auch TOPS-20 diese Art von Fähigkeiten.