Cisco системаи файлии PuzzleFS-ро барои ядрои Linux пешниҳод мекунад

Cisco системаи нави файлии PuzzleFS-ро пешниҳод кард, ки ҳамчун модул барои ядрои Linux амалӣ карда мешавад, ки бо забони Rust навишта шудааст. Системаи файлӣ барои ҷойгир кардани контейнерҳои ҷудошуда тарҳрезӣ шудааст ва таҳияи ғояҳои дар системаи файлии Atomfs пешниҳодшударо идома медиҳад. Татбиқ ҳоло ҳам дар марҳилаи прототип аст, сохтмонро бо шохаи навбатии ядрои Linux дастгирӣ мекунад ва дар доираи иҷозатномаҳои Apache 2.0 ва MIT кушода аст.

Ҳадафи лоиҳа рафъи маҳдудиятҳое мебошад, ки ҳангоми истифодаи тасвирҳои контейнерӣ дар формати OCI (Open Container Initiative) ба вуҷуд меоянд. PuzzleFS мушкилотро ба монанди нигоҳдории самараноки маълумоти такрорӣ, қобилияти пайвасткунии мустақим, сохтани тасвири такроршаванда ва амнияти хотираро ҳал мекунад.

Барои нусхабардории маълумоте, ки дар контейнерҳои гуногун такрор мешаванд, алгоритми FastCDC (Fast Content-Defined Chunking) истифода мешавад, ки тавассути тақсим кардани маълумот ба порчаҳои андозаи худсарона ва нигоҳ доштани индекс бо хэшҳои порчаҳои коркардшуда кор мекунад. Фрагментҳои такрорӣ як маротиба нигоҳ дошта мешаванд ва якҷоя барои ҳамаи қабатҳои системаи файлӣ индексатсия карда мешаванд, яъне. нусхабардорӣ метавонад нуқтаҳои гуногуни пайвасткуниро фаро гирад (қабати нави FS метавонад дар асоси қабати мавҷуда оғоз шавад ва порчаҳои маълумоти дар он мавҷудбударо ҳангоми нусхабардорӣ истифода баред).

Ҷамъоварии такрории тасвирҳои контейнер тавассути муайян кардани тасвири каноникии формати тасвири контейнер ба даст оварда мешавад. Direct-mount ба шумо имкон медиҳад, ки тасвири контейнерии OCI-ро аз нигаҳдории муштараки ҷаҳонӣ бидуни кушодани он аввал бо истифода аз хэши мундариҷа аз манифести контейнер ҳамчун идентификатор насб кунед. Барои санҷидани якпорчагии маълумот ҳангоми истифодаи нигаҳдории муштарак метавон механизми fs-verity-ро истифода бурд, ки ҳангоми дастрасӣ ба файлҳо мувофиқати хэшҳои дар индекси дуӣ зикршударо бо мундариҷаи воқеӣ тафтиш мекунад.

Забони Rust интихоб шудааст, зеро он иҷрои баланди коди ҳосилшударо бо қобилиятҳои кори бехатар бо хотира муттаҳид мекунад, ки хатари осебпазириро дар натиҷаи мушкилот ба монанди дастрасӣ ба минтақаи хотира пас аз озод шудан ва фаромадани сарҳадҳои буферӣ коҳиш медиҳад. Истифодаи Rust барои модули ядро ​​​​инчунин имкон дод, ки код байни ядро ​​​​ва ҷузъҳои фазои корбар барои эҷоди як амалисозии бехатар мубодила карда шавад.

Ҳадафҳои дигари лоиҳа аз инҳо иборатанд: хеле зуд сохтан ва насб кардани тасвирҳо, қобилияти истифодаи марҳилаи мобайнии ихтиёрӣ барои каноникизатсияи тасвирҳо, ихтиёрдории дарахти файли пурраи услуби mtree ҳангоми истифодаи сохтори бисёрқабата, насби услуби касинкӣ тағирот ва меъмории ба осонӣ татбиқшаванда.

Манбаъ: opennet.ru

Илова Эзоҳ