Cisco tutvustab Linuxi tuuma jaoks failisüsteemi PuzzleFS

Cisco on välja pakkunud uue failisüsteemi PuzzleFS, mis on rakendatud moodulina Linuxi kerneli jaoks, kirjutatud Rust keeles. Failisüsteem on mõeldud kasutamiseks eraldatud konteinerite majutamiseks ja jätkab Atomfsi failisüsteemis pakutud ideede arendamist. Rakendamine on veel prototüübi staadiumis, toetab ehitamist rooste-next Linuxi kerneli haruga ja on avatud Apache 2.0 ja MIT litsentside all.

Projekti eesmärk on mööda minna piirangutest, mis tekivad konteineripiltide kasutamisel OCI (Open Container Initiative) formaadis. PuzzleFS lahendab sellised probleemid nagu dubleeritud andmete tõhus salvestamine, otseühenduse võimalus, korratav kujutise loomine ja mälu turvalisus.

Erinevates konteinerites korduvate andmete dubleerimiseks kasutatakse FastCDC (Fast Content-Defined Chunking) algoritmi, mis jagab andmed suvalise suurusega fragmentideks ja säilitab töödeldud fragmentide räsidega indeksit. Korduvad fragmendid salvestatakse üks kord ja need indekseeritakse ühiselt kõigi failisüsteemi kihtide jaoks, s.t. deduplikatsioon võib katta erinevaid ühenduspunkte (olemasoleva põhjal saab käivitada uue FS-kihi ja kasutada deduplikatsiooni käigus selles sisalduvaid andmefragmente).

Konteineri kujutiste korduv kokkupanek saavutatakse konteineri kujutise vormingu kanoonilise esituse määratlemise kaudu. Otseühendus võimaldab teil ühendada OCI-konteineri kujutise globaalsest ühismälust ilma seda esmalt lahti pakkimata, kasutades identifikaatorina konteineri manifesti sisu räsi. Andmete terviklikkuse kontrollimiseks jagatud salvestusruumi kasutamisel saab kasutada fs-verity mehhanismi, mis failidele juurde pääsedes kontrollib binaarindeksis määratud räside vastavust tegelikule sisule.

Rust-keel valiti, kuna see ühendab saadud koodi suure jõudlusega mäluga töötamise turvalisuse võimalustega, mis vähendab haavatavust, mis on põhjustatud sellistest probleemidest nagu mälualale juurdepääs pärast selle vabastamist ja puhvri piiride ületamine. Rusti kasutamine kerneli mooduli jaoks võimaldas jagada koodi tuuma ja kasutajaruumi komponentide vahel, et luua ühtne turvaline teostus.

Projekti muude eesmärkide hulka kuuluvad: piltide väga kiire ehitamine ja paigaldamine, võimalus kasutada piltide kanoniseerimiseks valikulist vaheetappi, mitmekihilise struktuuri kasutamisel täieliku mtree-stiilis failipuu läbipääsude valikulisus, kassünkroonstiilis pealesurumine muudatuste ja hõlpsasti rakendatava arhitektuuriga.

Allikas: opennet.ru

Lisa kommentaar