Cisco Linux yadrosi uchun PuzzleFS fayl tizimini taqdim etadi

Cisco Rust tilida yozilgan Linux yadrosi uchun modul sifatida amalga oshirilgan PuzzleFS yangi fayl tizimini taklif qildi. Fayl tizimi izolyatsiyalangan konteynerlarni joylashtirish uchun mo'ljallangan va Atomfs fayl tizimida taklif qilingan g'oyalarni ishlab chiqishda davom etmoqda. Amalga oshirish hali prototip bosqichida, zangdan keyingi Linux yadro filiali bilan qurishni qo'llab-quvvatlaydi va Apache 2.0 va MIT litsenziyalari ostida ochiq.

Loyiha OCI (Open Container Initiative) formatida konteyner tasvirlaridan foydalanishda yuzaga keladigan cheklovlarni chetlab o'tishga qaratilgan. PuzzleFS ikki nusxadagi ma'lumotlarni samarali saqlash, to'g'ridan-to'g'ri o'rnatish qobiliyati, takrorlanadigan tasvirni yaratish va xotira xavfsizligi kabi muammolarni hal qiladi.

Turli konteynerlarda takrorlanadigan ma'lumotlarni nusxalash uchun FastCDC (Fast Content-Defined Chunking) algoritmi qo'llaniladi, u ma'lumotlarni ixtiyoriy o'lchamdagi bo'laklarga bo'lish va qayta ishlangan fragmentlar xeshlari bilan indeksni saqlash orqali ishlaydi. Takrorlanuvchi fragmentlar bir marta saqlanadi va fayl tizimining barcha qatlamlari uchun birgalikda indekslanadi, ya'ni. deduplikatsiya turli xil o'rnatish nuqtalarini qamrab olishi mumkin (mavjud qatlam asosida yangi FS qatlami ishga tushirilishi va deduplikatsiya paytida undagi ma'lumotlar bo'laklaridan foydalanish mumkin).

Konteyner tasvirlarining takroriy yig'ilishiga konteyner tasvir formatining kanonik tasvirini aniqlash orqali erishiladi. To'g'ridan-to'g'ri o'rnatish sizga identifikator sifatida konteyner manifestidagi tarkibning xeshini ishlatib, OCI konteyner tasvirini avval uni o'ramini ochmasdan global umumiy xotiradan o'rnatish imkonini beradi. Birgalikda saqlashdan foydalanganda ma'lumotlarning yaxlitligini tekshirish uchun fayllarga kirishda ikkilik indeksda ko'rsatilgan xeshlarning haqiqiy tarkibga muvofiqligini tekshiradigan fs-verity mexanizmidan foydalanish mumkin.

Rust tili tanlandi, chunki u hosil boʻlgan kodning yuqori unumdorligini xotira bilan xavfsiz ishlash imkoniyatlari bilan birlashtiradi, bu esa xotira maydoni boʻshatilgandan soʻng unga kirish va bufer chegaralarini toʻldirish kabi muammolar tufayli yuzaga keladigan zaifliklar xavfini kamaytiradi. Yadro moduli uchun Rust-dan foydalanish, shuningdek, yagona, xavfsiz dasturni yaratish uchun yadro va foydalanuvchi-makon komponentlari o'rtasida kod almashish imkonini berdi.

Loyihaning boshqa maqsadlariga quyidagilar kiradi: tasvirlarni juda tez qurish va o'rnatish, tasvirlarni kanoniklashtirish uchun ixtiyoriy oraliq bosqichdan foydalanish imkoniyati, ko'p qatlamli tuzilmadan foydalanganda to'liq mtree uslubidagi fayl daraxti o'tishlarining ixtiyoriyligi, kasynk uslubidagi o'rnatish o'zgarishlar va amalga oshirish oson arxitektura.

Manba: opennet.ru

a Izoh qo'shish