Mit casync häufig Dateisystemabbilder synchronisieren
Wer häufig Dateisystemabbilder übertragen möchte, verbraucht dabei viel Traffic. Auf Filesystem-Ebene belasten kleine Dateien das Netzwerk. casync möchte hier einen Mittelweg gehen.
(Bild: Heise)
- Jan Bundesmann
Mit casync hat Lennart Poettering ein Synchronisationstool veröffentlicht, das besonders auf die Bedürfnisse von Virtualisierung, Containerisierung und Continuous Integration / Continuous Deployment ausgelegt ist. Dafür soll es sicherstellen, dass die zu übertragenden Daten weder zu groß noch zu klein sind. Der Name steht für Content Addressable und Synchronisation.
casync kann Dateipfade oder Block-Devices als Quelle verwenden und sie auf ein Zielsystem kopieren. Zuerst serialisiert es den Inhalt, damit zwei Programmabläufe das gleiche Resultat ergeben, zerlegt sie anschließend in sogenannte Chunks ähnlicher, aber variabler Größe und legt sie (komprimiert) in seinem Chunkstore ab. Gleichzeitig berechnet es Hash-Werte der einzelnen Chunks und legt diese in einem Index ab. Das Chunking, ein Rolling-Hash-Algorithmus, soll sicherstellen, dass zwei ähnliche Datenströme größtenteils gleiche Chunks produzieren. Nur solche mit unterschiedlichen Prüfsummen werden tatsächlich synchronisiert.
Immer Dateien mittlerer Größe übertragen
Dadurch stellt casync sicher, dass immer Dateien einer mittleren Größe übertragen werden, was zum Beispiel Content Delivery Networks entlastet: Viele kleinen Dateien fallen in einem Chunk zusammen, während casync größere Dateien aufteilt. Poettering vergleicht es mit rsync, SquashFS und den Layers von Docker-Images. Bei letzteren müssen die Bereitsteller der Images den Datentransfer minimieren. Laut dem Entwickler könnte casync ihnen diese Aufgabe abnehmen. Auch Betriebssystem-Abbilder für virtuelle Maschinen müssten nicht mehr komplett übertragen werden. Zusammenfassend nennt Poettering in seinem Blog das häufige und regelmäßige Übertragen großer Dateisystemabbilder als Anwendungsfall, für den er das Programm geschrieben hat.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externer Inhalt geladen.
Ich bin damit einverstanden, dass mir externe Inhalte angezeigt werden. Damit können personenbezogene Daten an Drittplattformen übermittelt werden. Mehr dazu in unserer Datenschutzerklärung.
Interessierte finden das Open-Source-Programm im Github-Rpository von Systemd, es ist unter LGPL v2.1 erschienen. Die derzeitige Version bezeichnet der Entwickler als v1, etliche Funktionen – etwa diff oder verify -- fehlen noch. Künftig soll das Tool zum Beispiel für private Backups Verschlüsselung beherrschen. In den FAQ weisen die Entwickler explizit darauf hin, dass casync auch auf Systemen ohne systemd läuft. (jab)