Aus LinuxUser 11/2010

Das deduplizierende Dateisystem LessFS

© sxc.hu, Berkeley Robinson

Schrumpfkur

Auf den meisten Festplatten tummeln sich unbemerkt doppelt und dreifach gespeicherte Daten. Diesen überflüssigen Platzverschwendern geht LessFS mit einem ausgefeilten Verfahren an den Kragen.

Festplatten scheinen im Laufe eines Arbeitslebens irgendwie zu schrumpfen. Wo nach dem Kauf noch gähnende Leere herrschte, liegen plötzlich Abertausende Dateien. Ironischerweise haben viele von ihnen sogar den selben oder zumindest ähnliche Inhalte. So schluckt jede sicherheitshalber aufbewahrte Version einer Rund-Mail wertvollen Plattenplatz.

Noch mehr Bytes belegen die regelmäßig angelegten Backups, ganz zu schweigen von den drei virtuellen Maschinen mit den zu Testzwecken aufgesetzten Distributionen. In diesem Extremfall lungern auf der Festplatte sogar vier mal die gleichen Systemdateien. Gerade in solchen Fällen wäre es schön, wenn Linux identische Daten nur ein einziges Mal speicherte.

Eingedampft

Das dachte sich Mark Ruijter und schuf kurzerhand das Dateisystem LessFS. Im Gegensatz zu herkömmlichen Vertretern wie Ext4 und Co. schreibt es identische Datenblöcke nur einmal auf die Festplatte. Nach außen hin bleibt dabei alles beim Alten: Kopieren Sie beispielsweise ein Dokument, sehen Dateimanager wie Dolphin und Nautilus weiterhin zwei Dateien. Tatsächlich liegt das Original erstmal einfach auf der Festplatte.

Ändern Sie die Kopie, speichert LessFS nur die gegenüber dem Original modifizierten Teile. Da es auf diese Weise Datei-Duplikate vermeidet, heißt das Vorgehen auf Englisch De-Duplicating (Deduplizierung). Um weiteren Speicherplatz zu sparen, komprimiert LessFS schließlich noch alle tatsächlich gespeicherten Daten. Das hat den angenehmen Nebeneffekt, dass Linux insbesondere große Dateien wesentlich schneller lädt.

Es gibt allerdings einen Haken: Tritt ein Festplattendefekt auf, können Sie beim herkömmlichen Speichern der Daten eventuell noch auf eine ältere Kopie des Dokuments zugreifen. LessFS fasst diese Dateien jedoch zusammen, womit sie folglich allesamt verloren wären. Regelmäßige Sicherungen auf einen zweiten Datenträger bleiben daher unerlässlich.

Testfahrt

Um LessFS auszuprobieren, wechseln Sie auf die Homepage des Entwicklers Mark Ruijter [1] oder verwenden die Dateien von der Heft-DVD. Das LessFS-Archiv enthält den Dateisystemtreiber und ein paar Werkzeuge. Um diese zu übersetzen und zu installieren, stellen Sie zunächst per uname -r sicher, dass Ihr Linux-System auf einem Kernel in Version 2.6.26 oder höher basiert. Anschließend nutzen Sie den Paketmanager, um den C-Compiler GCC, das Dienstprogramm Make sowie die Entwicklerpakete zu vier Bibliotheken zu installieren:

  • Zlib (meist im Paket zlib-devel, unter Ubuntu zlib1g-dev),
  • Bzip2 (häufig in libbz2-devel oder libbz2-dev),
  • Mhash (mhash-devel beziehungsweise libmhash-dev) und
  • FUSE (fuse-devel respektive libfuse-dev).

Vom Paketmanager zusätzlich als Abhängigkeiten vorgeschlagene Pakete nicken Sie einfach ab.

Grüße aus Japan

Alle wichtigen Informationen über die vorgenommenen Deduplizierungen merkt sich LessFS in einer Datenbank. Mark Ruijter hat sich dabei für das etwas exotische Tokyo Cabinet entschieden. Einige wenige Distributionen führen es in ihren Repositories, Ubuntu 10.04 beispielsweise in den Paketen libtokyocabinet8 und libtokyocabinet-dev. Mag Ihr Paketmanager sie nicht finden, greifen Sie zum Quellcodearchiv unter [2] oder auf der Heft-DVD. Entpacken Sie es, und installieren Sie die Datenbank dann mit den drei folgenden Befehlen:

./configure --enable-off64
make
sudo make install

Auf 64-Bit-Systemen lassen Sie den Parameter --enable-off64 hinter ./configure weg. Er sorgt auf 32-Bit-Systemen dafür, dass die von Tokyo Cabinet verwalteten Datenbanken über 2 GByte hinaus wachsen können.

Sind alle Voraussetzungen erfüllt, übersetzen und installieren Sie den entpackten LessFS-Quellcode mit dem bekannten Dreisatz:

./configure
make
sudo make install

Kopieren Sie anschließend noch die im Quellcodearchiv mitgelieferte Konfigurationsdatei less.cfg in das Verzeichnis /etc.

Dampfwalze

Bevor Sie die eigentliche Deduplizierung anwerfen können, müssen Sie einmal die Tokyo-Cabinet-Datenbank erzeugen. Dies übernimmt das Werkzeug mklessfs:

LinuxUser 11/2010 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

1 Kommentar auf "Das deduplizierende Dateisystem LessFS"

  E-Mail Benachrichtigung  
Neuste Älteste Beste Bewertung
Benachrichtige mich zu:

„Deduplizierend“ ist gut! Andere hätten von „löschendem Dateisystem“ gesprochen.
Aber das hat wohl negative Konnotationen.