A Cisco bemutatta a PuzzleFS fájlrendszert a Linux kernelhez

A Cisco bemutatta az új PuzzleFS fájlrendszert, amely egy Rust nyelven írt modulként van megvalósítva a Linux kernelhez. A fájlrendszer izolált konténerek elhelyezésére lett tervezve, és folytatja az Atomfs fájlrendszerben javasolt elképzelések fejlődését. A megvalósítás jelenleg prototípus fázisban van, támogatja a linux rust-next branch-re való fordítást, és az Apache 2.0 és MIT licencek alatt érhető el.

A projekt célja az OCI (Open Container Initiative) formátumú konténerképek használatakor felmerülő korlátozások megkerülése. A PuzzleFS olyan feladatokat old meg, mint a duplikált adatok hatékony tárolása, közvetlen csatolás lehetősége, a képek ismételt összeállítása és a memória biztonságos kezelése.

A különböző konténerekben ismétlődő adatok deduplikálásához a FastCDC (Fast Content-Defined Chunking) algoritmust alkalmazzák, amely véletlenszerű méretű adathalmazon keresztül osztja fel az adatokat, és indexet vezet a feldolgozott darabok hash-eivel. Az ismétlődő darabokat egyszer tárolják, és közösen indexelik az összes FS réteg számára, azaz a deduplikálás különböző csatlakozási pontokat is átfoghat (új FS réteg indítható meglévő alapjából, és felhasználhatja a benne elérhető adatdarabokat a deduplikálás során).

Az ismétlődő konténerképek összeállítása a konténerképek formátumának kanonikus képviselőjének meghatározásán keresztül valósul meg. A közvetlen csatolás (direct-mount) lehetővé teszi az OCI formátumú konténerkép globálisan megosztott tárolóból való csatolását, anélkül, hogy azt előzetesen ki kellene csomagolni, és a konténer manifesztből származó tartalom hash-ét használja az azonosítóként. Az adatainak integritásának ellenőrzésére a megosztott tároló használata esetén az fs-verity mechanizmus alkalmazható, amely a fájlokhoz való hozzáférés során ellenőrzi a bináris indexben megadott hash-ek és a tényleges tartalom összhangját.

A Rust nyelvet választották, mert egyesíti a kész kód magas teljesítményét a memóriabiztonság lehetőségeivel, így csökkentve a sebezhetőségek kockázatát, amelyek a memóriaterület felszabadítása utáni hivatkozásból és a puffertúllépésből eredhetnek. A Rust alkalmazása a kernel modul számára lehetővé tette a kód közös használatát a kernelben és a felhasználói térben futó komponensek között, így létrehozva egy egységes védett megvalósítást.

A projekt egyéb céljai között szerepel: rendkívül gyors képépítés és montírozás, lehetőség opcionális köztes lépés alkalmazására a képek átalakítására (canonicalization), az mtree-stílusú fájlrendszer felülvizsgálatának kötelező elkerülése több rétegű struktúra használatakor, valamint az casync-stílusú változtatások alkalmazása és egyszerűen megvalósítható architektúra.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster