GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Gibt es ein Speicherdateisystem auf Blockebene?

Angenommen, Ihre Frage betrifft die Datendeduplizierung, es gibt einige Dateisysteme, die dies unter Linux unterstützen:

  • ZFS, mit Online-Deduplizierung (Daten werden also dedupliziert, während sie gespeichert werden), aber mit extremen Speicheranforderungen, die die Verwendung der Funktion in der Praxis erschweren;
  • Btrfs, mit „nur“ Out-of-Band-Deduplizierung, wenn auch mit eng integrierten Prozessen, die eine relativ schnelle Deduplizierung nach dem Speichern der Daten ermöglichen;
  • SquashFS, aber das entspricht wahrscheinlich nicht Ihren Anforderungen, da es schreibgeschützt ist.

XFS soll irgendwann eine Deduplizierung erhalten, und Btrfs soll auch eine Online-Deduplizierung erhalten.

Behalten Sie den Dateisystemvergleich von Wikipedia im Auge, um zu sehen, wann sich dies ändert.


Das S3QL-Dateisystem verfügt über Deduplizierung auf Blockebene. Es wird als S3-Cloud-Speicherlösung beworben, funktioniert aber auch sehr gut auf lokalem Speicher.

Hier ist ein Beispiel von einem Teil unseres Sicherungs-/Archivservers

s3qlstat /path/to/some/archives
Directory entries:    12430247
Inodes:               6343756
Data blocks:          1357349
Total data size:      12.4 TB
After de-duplication: 3.84 TB (30.92% of total)
After compression:    3.71 TB (29.84% of total, 96.52% of de-duplicated)
Database size:        1.29 GiB (uncompressed)
Cache size:           0 bytes, 0 entries
Cache size (dirty):   0 bytes, 0 entries
Queued object removals: 0

Der zugrunde liegende Speicher, den dieses Dateisystem verwendet

df -h /var/s3ql/part-of-archive
Filesystem      Size  Used Avail Use% Mounted on
/dev/sde        6.0T  3.8T  2.0T  66% /var/s3ql/part-of-archive

Dies sagt mir, dass der zugrunde liegende Speicher etwas weniger als 4 TB verwendet, aber etwa 12 TB deduplizierter Daten speichert. (Meine Archive enthalten ziemlich viele duplizierte Blöcke. Ich hoffe, es überrascht nicht.) Die Komprimierungsebene ist hier deaktiviert; Wenn ich echten S3-Speicher verwendet hätte, hätte ich ihn aktiviert gelassen.

Die SQLite-Datenbank, die das Dateisystem selbst verwaltet, ist etwas mehr als 1 GB groß, was ziemlich groß ist, aber da ich sie eher für die Archivierung als für die Produktion bei hoher Nachfrage verwende, ist dies in Ordnung.


Linux
  1. Ein Superblock, Inode, Dentry und eine Datei?

  2. Linux – Wie oft wird das Proc-Dateisystem unter Linux aktualisiert?

  3. Wie kann ich eine Datei von Awk kategorisieren?

  4. Linux – Dateisynchronisierung in Echtzeit?

  5. Daten in Dateisystemen verstecken?

Was ist HDFS? Handbuch zum verteilten Hadoop-Dateisystem

Einführung in das Linux-Dateisystem

Fsck-Befehl unter Linux (Dateisystem reparieren)

Verwaltung des Netzwerkdateisystems (NFS) unter Linux

Ext4-Datenwiederherstellung?

Gibt es ein Git-ähnliches Dateisystem?