Cisco Linux nüvəsi üçün PuzzleFS fayl sistemini təqdim edir

Cisco şirkəti Rust dilində yazılmış Linux nüvəsi üçün modul kimi həyata keçirilən yeni fayl sistemi PuzzleFS təklif etdi. FS, təcrid olunmuş konteynerləri yerləşdirmək üçün istifadə edilmək üçün nəzərdə tutulmuşdur və Atomfs FS-də təklif olunan ideyaların inkişafını davam etdirir. Tətbiq hələ də prototip mərhələsindədir, rust-növbəti Linux nüvəsi filialı ilə qurulmasını dəstəkləyir və Apache 2.0 və MIT lisenziyaları altında açıqdır.

Layihə OCI (Açıq Konteyner Təşəbbüsü) formatında konteyner təsvirlərindən istifadə zamanı yaranan məhdudiyyətlərin qarşısını almağa yönəlib. PuzzleFS dublikat məlumatların səmərəli saxlanması, birbaşa montaj qabiliyyəti, təkrarlanan təsvirin qurulması və yaddaş təhlükəsizliyi kimi məsələləri həll edir.

Fərqli konteynerlərdə təkrarlanan məlumatların təkmilləşdirilməsi üçün məlumatları ixtiyari ölçülü fraqmentlərə bölmək və işlənmiş fraqmentlərin heşləri ilə indeks saxlamaqla işləyən FastCDC (Fast Content-Defined Chunking) alqoritmi istifadə olunur. Təkrarlanan fraqmentlər bir dəfə saxlanılır və bütün FS təbəqələri üçün birgə indeksləşdirilir, yəni. deduplikasiya müxtəlif montaj nöqtələrini əhatə edə bilər (mövcud birinə əsaslanaraq yeni FS təbəqəsi işə salına və təkmilləşdirmə zamanı içindəki məlumat fraqmentlərindən istifadə edilə bilər).

Konteyner şəkillərinin təkrarlanan yığılması konteyner şəkli formatının kanonik təsvirinin müəyyən edilməsi ilə əldə edilir. Birbaşa quraşdırma (birbaşa montaj) identifikator kimi konteyner manifestindəki məzmun heşindən istifadə edərək, əvvəlcə onu qablaşdırmadan çıxarmadan qlobal paylaşılan yaddaşdan OCI konteyner şəklini quraşdırmağa imkan verir. Fs-verity mexanizmi, paylaşılan yaddaşdan istifadə şəraitində məlumatların bütövlüyünü yoxlamaq üçün istifadə edilə bilər ki, bu da fayllara daxil olduqda ikili indeksdə göstərilən hashlərin faktiki məzmuna uyğun olub olmadığını yoxlayır.

Rust dili, əldə edilən kodun yüksək performansını yaddaş üçün təhlükəsiz imkanlarla birləşdirən kimi seçilmişdir ki, bu da onu azad etdikdən sonra yaddaşa giriş və buferin aşması kimi problemlərin yaratdığı zəiflik riskini azaldır. Kernel modulu üçün Rust-dan istifadə eyni zamanda tək təhlükəsiz tətbiqetmə yaratmaq üçün kernel və istifadəçi məkanı komponentlərində kodu paylaşmağa imkan verdi.

Layihənin digər məqsədləri arasında çox sürətli təsvirin qurulması və montajı, şəkillərin kanonikləşdirilməsi üçün isteğe bağlı ara mərhələdən istifadə etmək imkanı, laylı strukturdan istifadə zamanı isteğe bağlı mtree-stil FS ağac keçidləri, kasink tipli dəyişikliklər və asan həyata - arxitekturanın həyata keçirilməsi.

Mənbə: opennet.ru

Добавить комментарий