A legtöbben az S3-kompatibilis tárhelyet – vagyis az Amazon S3 API-modelljét követő objektumtárat – biztonsági mentések, archívumok, képek, naplók vagy alkalmazásadatok tárolására használják. Ide tartozik az AWS S3, a kereskedelmi S3-kompatibilis felhőszolgáltatások, valamint az olyan saját üzemeltetésű platformok, mint a Garage, a SeaweedFS és a RustFS.
Olcsó, széles körben elérhető, és nagy léptékben is jól működik, viszont alapból nem úgy viselkedik, mint az a tárhely, amivel a Linux-felhasználók nap mint nap dolgoznak. A ZeroFS ezen próbál változtatni.
A ZeroFS egy új, nyílt forráskódú tárhelyprojekt, amely az S3-kompatibilis objektumtárat Linuxból elérhető fájlrendszerként és blokk eszközként jeleníti meg. Így az objektumtár nem csak biztonsági mentésre, archiválásra vagy alkalmazásspecifikus munkafolyamatokra használható.
Röviden: a ZeroFS a tárhely backend és az operációs rendszer között helyezkedik el. Az adatokat POSIX-szerű fájlrendszerként szolgálja ki NFS-en vagy 9P-n keresztül, illetve nyers blokk tárként NBD-n (a Linux Network Block Device protokollon) át. Így ugyanaz az S3-kompatibilis backend elérhető fájlok és könyvtárak formájában, vagy blokk eszközként, amelyet például ext4 fájlrendszerrel lehet formázni, vagy olyan tárolórétegek használhatnak, mint a ZFS.
A projekt fő célja egyszerű: az objektumtárat ott is használhatóvá tenni, ahol a Linux fájlrendszer- vagy blokk-eszköz hozzáférést vár. Ahelyett, hogy FUSE csatolásokra vagy egyedi S3 API-t használó alkalmazásokra támaszkodna, a ZeroFS olyan protokollokat használ, amelyeket az operációs rendszerek már most is támogatnak. A dokumentáció szerint ez fájlszintű hozzáférést jelent NFS-en és 9P-n, illetve blokkszintű hozzáférést NBD-n keresztül.
Nézzük röviden ezeket. Az NFS széles körű kompatibilitást ad a ZeroFS-nek, mivel gyakorlatilag minden Unix-szerű rendszeren elérhető NFS kliens. A 9P kifejezetten Linux-környezeteket céloz, erősebb POSIX-megfelelést és fejlettebb gyorsítótárazást kínálva. Az NBD (Network Block Device protokoll) különlegessége, hogy az S3-kompatibilis tárhelyet nyers blokk eszközként tudja megjeleníteni.

A projekt dokumentációja szerint a ZeroFS által létrehozott NBD eszközök használhatók ext4 fájlrendszerekhez, ZFS poolokhoz, adatbázisokhoz és virtuális gépek rendszerindító lemezeihez is. Vagyis a ZeroFS nem csak fájlokat tud megjeleníteni az objektumtárból, hanem Linux tárolórétegeket is képes kiszolgálni egy S3-kompatibilis backend fölött.
A biztonság terén a ZeroFS kötelező titkosítást alkalmaz. Az adatokat feltöltés előtt titkosítja XChaCha20-Poly1305-tel, a kulcsokat pedig jelszóból származtatja Argon2id segítségével. Nincs titkosítatlan mód, így az objektumtár-szolgáltatók kizárólag titkosított adatot kapnak.
Ezen felül a fájladatokat titkosítás előtt tömöríti: alapértelmezés szerint zstd-vel, gyorsabb alternatívaként pedig LZ4-gyel. A tömörítési mód később is megváltoztatható az adatok migrálása nélkül, a korábban írt blokkok továbbra is elérhetők maradnak.
Teljesítmény szempontból, különösen a gyorsítótárazást nézve, a ZeroFS memória- és helyi lemezes cache-t is támogat, hogy mérsékelje az objektumtárakra jellemző késleltetést, ami jól ismert korlát, ha S3-kompatibilis tárhelyet hagyományos fájlrendszerként használunk. További funkciók a checkpointok, olvasási replikák, TRIM támogatás, opcionális WAL tárolás, önálló compactor, valamint egy webes felület fájlkezelővel, vezérlőpulttal és böngészőből elérhető terminállal.
A ZeroFS-t ugyanakkor érdemes körültekintően értékelni. Az objektumtár késleltetésben és konzisztenciában jelentősen eltér a helyi lemeztől vagy a hagyományos hálózati tárolótól, és ha fájlrendszerként vagy blokk eszközként használjuk, az üzemeltetési kompromisszumokkal jár.
Mindezek ellenére a ZeroFS vonzó lehetőség felhőalapú fájlrendszerek tesztelésére, saját üzemeltetésű tárhely kialakítására, titkosított távoli tárhelyre, illetve kísérleti blokk-eszközös munkafolyamatokra objektumtáron. A projektet Rust-ban írták, és szabad, nyílt forráskódú szoftverként adták ki AGPL-3.0 licenc alatt.
További részletek, telepítési útmutatók és konfigurációs példák a projekt hivatalos weboldalán és a GitHub tárolóban érhetők el.

