Verteilte Linux-Dateisysteme umfassen: 1. OpenAFS, ein verteiltes Open-Source-Dateisystem; 2. MooseFs, ein netzwerkverteiltes Dateisystem mit Fehlertoleranz; 3. googleFs, ein skalierbares verteiltes Dateisystem usw.
Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.
Was sind die verteilten Linux-Dateisysteme?
NFS (www.tldp.org/HOWTO/NFS-HOWTO/index.html)
Netzwerkdateisystem ist eines der von FreeBSD unterstützten Dateisysteme, auch bekannt als NFS.
NFS ermöglicht einem System, Verzeichnisse und Dateien mit anderen im Netzwerk zu teilen. Durch die Verwendung von NFS können Benutzer und Programme auf Dateien auf Remote-Systemen zugreifen, als wären es lokale Dateien. Seine Vorteile sind:
1. Der lokale Arbeitsplatz verbraucht weniger Speicherplatz, da die üblichen Daten auf einem Rechner gespeichert werden können und über das Netzwerk darauf zugegriffen werden kann.
2. Benutzer müssen nicht auf jedem Computer im Netzwerk ein Home-Verzeichnis haben. Das Home-Verzeichnis kann auf einem NFS-Server abgelegt werden und überall im Netzwerk verfügbar sein.
3. Speichergeräte wie Diskettenlaufwerke, CD-ROM und ZIP können von anderen Computern im Netzwerk verwendet werden. Sie können die Anzahl der Wechselmediengeräte in Ihrem gesamten Netzwerk reduzieren.
Entwicklungssprache c/c++, plattformübergreifend lauffähig.
OpenAFS (www.openafs.org)
OpenAFS ist ein verteiltes Open-Source-Dateisystem, das es Systemen ermöglicht, Dateien und Ressourcen über LAN und WAN gemeinsam zu nutzen. OpenAFS ist um eine Gruppe von Dateiservern herum organisiert, die als Zellen bezeichnet werden. Die Identität jedes Servers ist normalerweise im Dateisystem verborgen. Benutzer, die sich über den AFS-Client anmelden, können aus der Sicht des Benutzers nicht erkennen, auf welchem Server sie ausgeführt werden Sehen Sie, sie wollen auf einem einzigen System mit anerkannter Unix-Dateisystemsemantik laufen.
Inhalte des Dateisystems werden normalerweise über Zellen hinweg kopiert, und der Ausfall einer Festplatte beeinträchtigt den Betrieb des OpenAFS-Clients nicht. OpenAFS erfordert einen großen Client-Cache von bis zu 1 GB, um den Zugriff auf häufig verwendete Dateien zu ermöglichen. Es handelt sich um ein sehr sicheres Kerbero-basiertes System, das Zugriffskontrolllisten (ACLs) verwendet, um einen fein abgestuften Zugriff zu ermöglichen, der nicht auf den üblichen Linux- und Unix-Sicherheitsmodellen basiert. Entwicklungsvereinbarung IBM Public, läuft unter Linux.
MooseFs (derf.homelinux.org)
Moose File System ist ein netzwerkverteiltes Dateisystem mit fehlertoleranter Funktion. Es verteilt Daten auf verschiedene Server im Netzwerk, um es so aussehen zu lassen ist ein Unix-Dateisystem. Es gibt jedoch ein Problem: Das Problem des Single Point of Failure kann immer noch nicht gelöst werden. Die Entwicklungssprache ist Perl, die plattformübergreifend betrieben werden kann.
pNFS (www.pnfs.com)
Network File System (NFS) ist ein wichtiger Bestandteil der meisten lokalen Netzwerke (LAN). Für die anspruchsvollen, eingabeintensiven Programme im Hochleistungsrechnen ist NFS jedoch nicht geeignet, zumindest nicht bisher. Eine kriminelle Modifikation des NFS-Standards beinhaltet Parallel NFS (pNFS), eine parallele Implementierung der Dateifreigabe, die die Übertragungsraten um Größenordnungen erhöht.
Entwicklungssprache c/c++, läuft unter Linux.
googleFs
soll ein relativ gut skalierbares verteiltes Dateisystem sein, das für große, verteilte Anwendungen verwendet wird, die auf große Datenmengen zugreifen. Es läuft auf billiger, gängiger Hardware, bietet jedoch Fehlertoleranz und kann einer großen Anzahl von Benutzern leistungsstarke Dienste bereitstellen. Von Google selbst entwickelt.
Verwandte Erweiterungen:
Zu den häufig verwendeten verteilten Dateisystemen gehören: GFS, TFS, HDFS, MooseFs, FastDfs, MogileFs, GridFs, MinIO, SeaweedFS, GlusterFS, Ceph, GlusterFS usw.
Vergleich gängiger verteilter Dateisysteme
1. GFS (Google File System)
Ein skalierbares verteiltes Dateisystem auf Basis von Linux, das den Anforderungen des Unternehmens gerecht wird. Es kann für große, verteilte und große Datenmengen verwendet werden Es ist kostengünstig zugänglich und anwendbar und kann auf billiger gewöhnlicher Hardware verwendet werden. Es ist jedoch nicht Open Source und wird vorerst nicht in Betracht gezogen.
2. TFS (Taobao File System)
Ein skalierbares, hochverfügbares, leistungsstarkes, internetdienstorientiertes, verteiltes Open-Source-Dateisystem, das von Alibaba entwickelt wurde, um Taobaos Anforderungen an die Speicherung kleiner Dateien zu erfüllen , das auf einem gemeinsamen Linux-Maschinencluster basiert, kann einen äußerst zuverlässigen und hochgradig gleichzeitigen Speicherzugriff auf die Außenwelt ermöglichen. TFS stellt Taobao einen riesigen Speicher für kleine Dateien zur Verfügung. Normalerweise überschreitet die Dateigröße 1 MB nicht, daher wird dies vorerst nicht berücksichtigt.
3. HDFS (Hadoop Distributed File System)
Das verteilte Hadoop-Dateisystem eignet sich für die Ausführung auf Allzweck-Hardware für verteilte Speicherung und Datenverarbeitung, da es eine hohe Fehlertoleranz und Skalierbarkeit aufweist und auf kostengünstigen Maschinen bereitgestellt werden kann für die Big-Data-Verarbeitung und bietet inhärente Vorteile bei der Offline-Batch-Verarbeitung von Big Data.
Hadoop ist eine weit verbreitete Textsuchbibliothek, die von Doug Cutting, dem Gründer von Apache Lucene, entwickelt wurde. Es stammt von Apache Nutch, einer Open-Source-Websuchmaschine, die selbst Teil des Luene-Projekts ist. Die Aapche Hadoop-Architektur ist eine Open-Source-Anwendung des MapReduce-Algorithmus und ein wichtiger Eckpfeiler des Google-Imperiums.
4. MooseFS
MooseFS ist ein Open-Source- und redundantes fehlertolerantes POSIX-Dateisystem aus Polen. Es bezieht sich auch auf die GFS-Architektur und implementiert die meisten POSIX-Semantiken und APIs. Gleichzeitig unterstützt es das Mounten von Dateien. Die bereitgestellte Webverwaltungsschnittstelle ist sehr praktisch, um den aktuellen Dateispeicherstatus zu überprüfen. Sie ist in Perl geschrieben und wird für mittlere und große Dateianwendungen verwendet Es kann also in Echtzeit darauf zugegriffen werden. Denken Sie also noch nicht darüber nach.
Anmerkungen: POSIX steht für Portable Operating System Interface of UNIX (abgekürzt als POSIX). Der POSIX-Standard definiert den Schnittstellenstandard, den das Betriebssystem für Anwendungen bereitstellen soll
5. Erstellt von Herrn Yu Qing aus Taobao verteiltes Dateisystem entwickelt. Es verwaltet Dateien und seine Funktionen umfassen: Dateispeicherung, Dateisynchronisierung, Dateizugriff (Datei-Upload, Datei-Download) usw., wodurch die Probleme des Speichers mit großer Kapazität und des Lastausgleichs gelöst werden. Geeignet für Online-Dienste, die Dateien als Träger verwenden, z. B. Fotoalbum-Websites, Video-Websites usw. FastDFS ist maßgeschneidert für das Internet und berücksichtigt vollständig redundante Sicherung, Lastausgleich, lineare Erweiterung und andere Indikatoren. FastDFS wird zum Aufbau eines leistungsstarken Dateiserverclusters zur Bereitstellung von Dateien verwendet Upload, Download und andere Dienste. Die Bereitstellung von FastDFS ist jedoch etwas mühsam und das SKD ist unvollständig.
MogileFS ist eine Reihe effizienter Open-Source-Komponenten für die automatische Dateisicherung, die von Six Apart entwickelt wurden und in Web2.0-Sites, einschließlich LiveJournal, weit verbreitet sind. Unterstützt Multi-Node-Redundanz und ermöglicht die automatische Dateireplikation. Es besteht keine Notwendigkeit für RAID. Die Anwendungsschicht kann RAID direkt implementieren, ohne etwas zu teilen. Es stellt Dienste über die Cluster-Schnittstelle bereit und funktioniert auf der Anwendungsschicht. Verwenden Sie HTTP zur Kommunikation.
MongoDB ist eine integrierte Funktion von MongoDB. Sie wird zum Speichern und Wiederherstellen von Dateien (wie Bildern, Audios, Videos usw.) verwendet Dateilimit). Es handelt sich um eine Möglichkeit zum Speichern von Dateien, die jedoch in einer MonoDB-Sammlung gespeichert wird. Es kann etablierte Replikations- oder Sharding-Mechanismen direkt nutzen, sodass die Wiederherstellung und Erweiterung nach Fehlern für die Dateispeicherung einfach ist und GridFS keine Festplattenfragmentierung erzeugt.
MinIO ist ein Objektspeicherdienst, der auf dem Open-Source-Protokoll Apache License v2.0 basiert. Es ist mit der Amazon S3-Cloud-Speicherdienstschnittstelle kompatibel und eignet sich sehr gut zum Speichern großer unstrukturierter Daten wie Bilder, Videos, Protokolldateien, Sicherungsdaten und Container-/Virtual-Machine-Images usw. sowie einer Objektdatei in beliebiger Größe, im Bereich von mehreren kb bis maximal 5T. Es handelt sich außerdem um einen sehr leichten Dienst, der problemlos mit anderen Anwendungen kombiniert werden kann. MinIO zeichnet sich durch Einfachheit, geringes Gewicht, Entwicklerfreundlichkeit, geringe Lernkosten, einfache Installation und Bedienung sowie sofortige Einsatzbereitschaft aus.
SeaweedFS ist ein hoch skalierbares verteiltes Open-Source-Speichersystem, das auf der Go-Sprache basiert. Es kann Milliarden von Dateien speichern (letztendlich abhängig von der Größe Ihrer Festplatte), ist schnell und benötigt wenig Speicher. Der Einstieg ist viel einfacher als bei fastDFS und verfügt über eine eigene Rest-API. Es ist sehr effizient für kleine und mittelgroße Dateien, die maximale Kapazität eines einzelnen Volumes ist jedoch durch das Programm auf 30 GB begrenzt. Es wird empfohlen, Dateien innerhalb von 100 MB zu speichern.
Ceph ist ein ausgereiftes verteiltes Dateisystem unter Red Hat und eine ökologische Objektspeicherumgebung mit Funktionen auf Unternehmensebene. Das System zeichnet sich durch hohe Leistung, hohe Verfügbarkeit, hohe Skalierbarkeit und Echtzeitspeicherung aus. Obwohl Ceph sehr leistungsstark ist, sind die Lernkosten hoch und die Installation sowie der Betrieb und die Wartung sind kompliziert. Ceph ist in C++ geschrieben und die Speicherkapazität kann problemlos das PB-Niveau erreichen.
11. GlusterFS
GlusterFS ist ein verteiltes POSIX-Dateisystem (Open Source unter GPL), das hauptsächlich in Clustersystemen verwendet wird und die Eigenschaften hoher Skalierbarkeit, hoher Verfügbarkeit, hoher Leistung und horizontaler Skalierbarkeit aufweist. Und es ist ohne Metadatenserver konzipiert, sodass der gesamte Dienst keinen Single Point of Failure aufweist. Das System ist in erster Linie für mittlere und große Dateien konzipiert und die Speicherkapazität kann problemlos Petabyte erreichen. Es hat den Nachteil, dass Erweiterung und Kontraktion viele Server betreffen, das Durchlaufen von Dateien im Verzeichnis Zeit in Anspruch nimmt und die Leistung kleiner Dateien schlecht ist.
Verwandte Empfehlungen: „Linux-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas sind die verteilten Linux-Dateisysteme?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!