Dateisystem im userspace

Dateisystem im userspace
Stabile Version
3.11.0[1] Edit this on Wikidata / 2. Mai 2022; Vor 2 Monaten
Repository
Geschrieben in C
Betriebssystem Unix, Unix-artig
Typ Dateisystem Treiber
Lizenz Gpl Für Linux -Kernel -Teil, LGPL für libfuse, Vereinfachtes BSD auf FreeBSD, ISC -Lizenz auf openbsd; Eigentum für macOS
Webseite Github.com/libfuse/libfuse

Dateisystem im userspace (SICHERUNG) ist ein Software -Schnittstelle zum Unix und Unix-artig Computer Betriebssysteme Dadurch können nicht privilegierte Benutzer ihre eigenen erstellen Dateisysteme ohne zu bearbeiten Kernel Code. Dies wird erreicht, indem Dateisystemcode in ausgeführt wird in Benutzerraum Während das Sicherungsmodul nur eine Brücke zu den tatsächlichen Kernelschnittstellen liefert.

Sicherung ist für verfügbar Linux, Freebsd, OpenBSD, Netbsd (wie Puffs), OpenSolaris, Minix 3, Mac OS,[2] und Fenster.[3]

Sicherung ist gratis Software ursprünglich unter den Bedingungen der GNU Allgemeine öffentliche Lizenz und die Gnu weniger allgemeine öffentliche Lizenz.

Geschichte

Das Sicherungssystem war ursprünglich Teil von AVFs (Ein virtuelles Dateisystem) Eine Dateisystem -Implementierung, die stark vom Übersetzerkonzept der Übersetzer beeinflusst wird Gnu Hurd.[4] Es ersetzte Linux Userland Dateisystemund lieferte eine translationale Schnittstelle mit Verwendung lufis in libfuse1.

Die Sicherung wurde ursprünglich unter den Bedingungen der GNU Allgemeine öffentliche Lizenz und die Gnu weniger allgemeine öffentliche Lizenz, später auch als Teil der neu implementiert Freebsd Grundsystem[5] und unter den Bedingungen von freigelassen Vereinfachtes BSD Lizenz. Ein Isc-Lizenzierte Neuinterplementierung von Sylvestre Gallon wurde im März 2013 veröffentlicht.[6] und in eingebaut in OpenBSD Im Juni 2013.[7]

Die Sicherung wurde in den Mainstream verschmolzen Linux Kernel Baum in Kernel Version 2.6.14.[8]

Die Benutzerspace -Seite der Sicherung, die libfuse Die Bibliothek folgte im Allgemeinen dem Tempo der Linux -Kernelentwicklung und bei der Aufrechterhaltung der Kompatibilität der besten Anstrengungen mit BSD -Nachkommen. Dies ist möglich, weil die Kernel -Sicherung über seine eigenen "Funktionsniveaus" oder seine Versionen berichtet. Die Ausnahme ist die Sicherungsgabel für MacOS, OSXFuse, die zu viele Unterschiede für das Teilen einer Bibliothek aufweist.[9] Eine Unterbrechung der Libfuse -Geschichte ist libfuse3, die einige inkompatible Verbesserungen in der Schnittstelle und Leistung enthält, verglichen mit dem älteren libfuse2 im Wartungsmodus.[10]

Da das Kernel-Benutzer-Space-Protokoll der Sicherung versioniert und öffentlich ist, kann ein Programmierer wählen, ob sie anstelle eines anderen Code-Stücks verwenden können libfuse und kommunizieren immer noch mit den Sicherungseinrichtungen des Kernels. Auf der anderen Seite, libfuse und seine vielen Ports bieten eine tragbare hochrangige Schnittstelle, die auf einem System ohne "Sicherungs" -Anleiter implementiert werden kann.

Betrieb und Nutzung

Ein Flow -Chart -Diagramm, das zeigt, wie Fuse funktioniert: Anfrage von UserSpace nach Dateien (LS -L /TMP /Sicherung) wird vom Kernel über VFS zur Sicherung umgeleitet. Fuse führt dann das registrierte Handlerprogramm (./hello) aus und übergibt es die Anfrage (ls -l/tmp/fuse). Das Handler -Programm gibt eine Antwort zurück auf die Sicherung zurück, die dann in das UserSpace -Programm weitergeleitet wird, das ursprünglich die Anfrage gestellt hat.

So implementieren libfuse Die Bibliothek muss geschrieben werden. Der Hauptzweck dieses Programms besteht darin, anzugeben, wie das Dateisystem auf Lese-/Schreib-/STAT -Anforderungen antworten soll. Das Programm ist auch gewohnt montieren das neue Dateisystem. Zum Zeitpunkt des Montierens des Dateisystems ist der Handler beim Kernel registriert. Wenn ein Benutzer jetzt Lese-/Schreib-/STAT-Anfragen für dieses neu montierte Dateisystem ausgibt, leitet der Kernel diese IO-Requests an den Handler weiter und sendet dann die Antwort des Handlers an den Benutzer zurück.

Abzühne eines fusesbasierten Dateisystems mit dem Fusmount Befehl

Sicherung ist besonders zum Schreiben nützlich Virtuelle Dateisysteme. Im Gegensatz zu herkömmlichen Dateisystemen, die im Wesentlichen mit Daten zum Massenspeicher arbeiten, speichern virtuelle Dateisysteme selbst keine Daten selbst. Sie fungieren als Ansicht oder Übersetzung eines vorhandenen Dateisystems oder eines Speichergeräts.

Grundsätzlich kann jede Ressource, die einer Sicherungsimplementierung zur Verfügung steht, als Dateisystem exportiert werden.

Anwendungen

On-Disk-Dateisysteme

Konventionelle On-Disk-Dateisysteme können im Benutzerbereich mit Sicherung implementiert werden, z. aus Kompatibilität oder Lizenzgründen.

  • Linear Tape -Dateisystem: Ermöglicht die auf Magnetband gespeicherten Dateien auf ähnliche Weise wie auf Festplatten oder abnehmbare Flash -Laufwerke.
  • NTFS-3G und Gefangene NTFsund den Zugriff auf NTFS Dateisysteme.
  • Retro-Fuse: Retro-Fuse ist ein User-Space-Dateisystem, das eine Möglichkeit bietet, Dateisysteme zu montieren, die von alten Unix-Systemen auf modernen OSS erstellt wurden. Die aktuelle Version von Retro-Fuse unterstützt die Montage-Dateisysteme, die von Fifth, Sechst und siebter Ausgabe von Research Unix von BTL sowie 2,9BSD- und 2.11BSD-basierten Systemen erstellt wurden.

Layering -Dateisysteme

Sicherungsdateisysteme können eine Ansicht eines zugrunde liegenden Dateisystems erstellen und die Dateien auf irgendeine Weise transformieren.

Archiv- und Sicherungsdateisysteme

Sicherungsdateisysteme können den Inhalt von Archiven oder Sicherungssätzen aufdecken, ohne sie zuerst extrahieren zu müssen.

  • Archivemount
  • Atlas (Rubrik Backup -Software): Unveränderlich, verteiltes Dateisystem, das von Rubrik Cloud -Datenverwaltungsdatenschutzanwendungen verwendet wird
  • Borg (Backup -Software): Deduplicating Backup -Programm, mit dem Backup -Archive als Sicherungsdateisystem montiert werden können.
  • Restlich: Kostenlose, schnelle, effiziente und sicher
  • SPFs Ein Dateisystem für Spectrum Protect, das zum Montieren des Backup-Servers-Filespace überall auf Ihrem Server entwickelt wurde und die vom Sicherungsserver enthaltenen Funktionen (Verschlüsselung, Entkanik, Komprimierung, Filtrierung usw.) verwendet. Dies ist ein Wurmdateisystem.

Remote-/verteilte Dateisystem -Clients

  • CERNVM-FS: Ein verteiltes schreibgeschütztes Softwareverteilungssystem, das als POSIX-Dateisystem im User Space (FUSE) implementiert wird, mithilfe von HTTP-Transport, um Software schnell und zuverlässig auf globaler Ebene zu liefern.
  • CloudStore (Früher Kosmos -Dateisystem): Durch die Montage über Sicherung, vorhanden Linux Dienstprogramme können mit CloudStore interagieren
  • Expandieren: Ein kommerzielles Dateisystem, das SFTP/FTP/S3/Swift mit Fuse implementiert
  • Ftpfs
  • Glusterfs: Clustered verteiltes Dateisystem mit der Fähigkeit, bis zu mehreren Petabyte zu skalieren.
  • Goofys: Ein Sicherungsdateisystem, mit dem der Zugriff auf Amazon S3/Microsoft Azure -Speicher mit Schwerpunkt auf der Leistung liegt.
  • IPFS: Ein Peer-to-Peer-verteilter Dateisystem, mit dem alle Computergeräte mit demselben Dateiensystem verbunden werden sollen.
  • Juicefs: Ein verteiltes POSIX -Dateisystem, das oben auf Redis und S3 basiert.
  • KBFS: Ein verteiltes Dateisystem mit End-to-End-Verschlüsselung und ein globaler Namespace basierend auf Keybase.io Service, der Sicherung verwendet, um kryptografisch sichere Dateihalterungen zu erstellen.
  • Lüster Das Cluster -Dateisystem verwendet Fuse, um es in UserSpace auszuführen, sodass ein FreeBSD -Port möglich ist.[11] Allerdings die ZFS-Linux Port of Lustre wird die DMU von ZFS (Data Management Unit) in UserSpace ausführen.[12]
  • Minfs: Minfs ist ein Sicherungsfahrer für den kompatiblen Objektspeicherserver Amazon S3. Minfs[13] Mit einem Remote -Eimer (aus einem S3 -kompatiblen Objektspeicher), als wäre es ein lokales Verzeichnis.
  • Moosefs: Ein Open-Source-verteiltes fehlertolerantes Dateisystem, das bei jedem Betriebssystem mit Sicherungsinimpublik (Linux, FreeBSD, NetBSD, OpenSolaris, OS X) verfügbar ist, in der Lage, Petabyte von Daten zu speichern, die über mehrere als eine Ressource sichtbare Server verteilt sind.
  • Nexfs: Ein kommerzielles Linux -Dateisystem, das Block-, Datei- und S3 -kompatible Cloud- und Objektspeicher in einem einzigen Pool von POSIX -kompatiblen Speicher kombiniert.
  • Objektivefs: Distributed Dateisystem mit Object Store Backend (Amazon S3, Google Cloud Storage oder S3-kompatibler Objektspeicher) mit Fuse
  • RCLone Kann eine Vielzahl von Fern- / Cloud -Speicher mit Sicherung montieren.
  • s3fs: Gibt die Möglichkeit, einen S3 -Eimer zu montieren, als wäre es ein lokales Dateisystem.
  • Sektordateisystem: Sektor ist ein verteiltes Dateisystem, das für eine große Menge von Rohstoffcomputern entwickelt wurde. Sektor verwendet die Sicherung, um eine montierbare lokale Dateisystemschnittstelle bereitzustellen.
  • Sshfs: Bietet Zugriff auf ein Remote -Dateisystem durch Ssh.
  • Übertragen: Ein kommerzieller FTP -Client, der auch die Möglichkeit ergibt, WebDAV-, SFTP-, FTP- und Amazon S3 -Server als Festplatten in Finder über MacFuse zu montieren.
  • WebDrive: Ein kommerzielles Dateisystem implementiert Webdav, SFTP, FTP, FTPS und Amazon S3
  • Wikipediafs: Wikipedia -Artikel anzeigen und bearbeiten, als wären sie echte Dateien
  • Wuala: War ein mehrpatformes, java-basiertes, vollständig integriertes verteiltes Dateisystem. Verwenden von Sicherung, Macfuse und CBFs verbinden sich jeweils für die Dateisystemintegration, zusätzlich zu einer von Java-fähigen Webbrowser zugänglichen JAVA-basierten App (Service wurde 2015 eingestellt).
  • Indexfs: Ein Remotedatei -Aggregat -Dateisystem mit transparentem Curl -Zugriff auf verteilte Dateien.

Sonstiges

  • GVFS: Das virtuelle Dateisystem für die Gnome Desktop
  • rvault: Ein sicherer und authentifizierter Speicher für Geheimnisse und kleine Dokumente mithilfe der Hüllkurve mit einmaliges Passwort (OTP) Authentifizierung. Es verwendet die Sicherung, um das Tresor als Dateisystem freizulegen.

Siehe auch

Verweise

  1. ^ "Veröffentlichung libfuse 3.11.0".
  2. ^ "Zuhause - Sicherung für OS X".
  3. ^ Zissimopoulos, Bill (2021-02-14), Billziss-GH/Winfsp, abgerufen 2021-02-16
  4. ^ "Einige technische Vorteile des Hurds". 15. Mai 2011. Abgerufen 28. März, 2016.
  5. ^ "WhatsNew/FreeBSD10 - FreeBSD Wiki".
  6. ^ "OpenBSD Dev - Tech - Fuse (und SSHFS) Support für OpenBSD". Archiviert von das Original am 2020-10-26. Abgerufen 2013-07-14.
  7. ^ "'CVS: CVS.OpenBSD.org: src' - Marc ".
  8. ^ "Datei -systems.fuse.devel - Fuse hat sich mit 2.6.14! - MSG#00021 - Neuere Diskussion OSDIR.com" verschuldet ". Archiviert von das Original am 2016-04-20.
  9. ^ "libfuse/libfuse, Die Referenzimplementierung der Linux -Sicherung (Dateisystem in UserSpace) Schnittstelle". libfuse. 9. Januar 2020. Abgerufen 9. Januar 2020.
  10. ^ "libfuse3 Changelog". GitHub. Abgerufen 9. Januar 2020.
  11. ^ "Glanzfreebsd". Archiviert von das Original am 2008-03-12. Abgerufen 2008-03-02.
  12. ^ "Architektur ZFS für Glanz". Sun Microsystems. Archiviert von das Original am 2009-01-22. Abgerufen 2008-03-02.
  13. ^ "Minio/Minfs". GitHub. Abgerufen 12. April 2018.

Externe Links