opendedup - user space deduplication file system (sdfs)

Címkék

Az opendedup projekt egy SDFS névre hallgató user space, deduplikációt kínáló fájlrendszert fejleszt Linux-ra. Tervezésénél figyelembe vették a virtuális környezetek - pl. VMware, Xen és KVM - által támasztott speciális igényeket. A projekt honlapja szerint skálázható, gyors, támogatja az inline és a batch deduplikációt (amelyek közt "on the fly" lehet váltani), fájl és folder szintű snapshot támogatást kínál. Részletek a projektről itt. Opendedup @ Google Code itt. A licence GPLv2.

Hozzászólások

Nem hangzik rosszul csak ne lenne userspace... :\

-------------------------------
"A gorog katolikus noknek 8 dioptria alatt nem kotelezo a bajusz!" avagy "Nozni csak muholdal lehet..." | http://lazly.hu

Nem feltétlenül, vagy nem úgy. :)
Én az ftp.fsn.hu-hoz elkezdtem egy olyan userspace deduplikációs cuccot, ami nem fuse (mert az bonyolult, meg lassú, és ide felesleges is), hanem egy egyszerű lib.
Úgy működik, hogy van egy alkalmazás, amelyik végignyalja a fájlrendszert, és a meglévő fájlokat feldolgozza, egyező részeket keresve. Mivel a célom az, hogy egy önállóan tárolt jpeg-et felismerjek egy tar-ban, amit egy ISO9960-as image-ben tárolnak, itt nem működik a fix blokkméretes rendszer.
Az elképzelés az, hogy a formátumokra jellemző szekvenciákat keresek, azokat feldolgozom (a fenti példában a jpeg headerből tudható, hogy hol a fájl vége), az adatról hasht készítek, és azt ellenőrzöm. Ha már van ilyen hash, csak egy referenciát helyezek el (pld. a fájl 4856. bájtjától a 33502f201fb635c6f05664bc2912b6b924756237 hash következik), ha még nincs, akkor letárolom a fájlrendszerben egy (több) könyvtárban.

A vége az, hogy a tárolt, és feldolgozott fájlok nulla hosszúak, csak egy lista van bennük (nem is bennük, inkább pld. XA-ban), valahogy így:
0: 241f540ff0da945da3219e6788b50ae84fda883d
4856: 33502f201fb635c6f05664bc2912b6b924756237
...

A munkát pedig egy alkalmazásokhoz hozzálinkelhető (vagy induláskor LD_PRELOAD-dal mellé csapható) lib végezné, amely amikor rajta keresztül valami fájlokat kezel, és megtalálja az XA-kban a fenti adatokat, "átirányítja" a műveleteket a hash-sel hivatkozott fájlokba.

Nálam ez azért tudna nagyon jól működni, mert fájlokat sosem módosítok (azok mindig rename-mel kerülnek a helyükre), így az írással egyáltalán nem kell törődni.

fuse-os, javaban irt fs, tok jo :)

--
NetBSD - Simplicity is prerequisite for reliability