Промовисање Бцацхеф-ова у Линук кернел

Кент Оверстреет, аутор БЦацхе ССД блок система за кеширање уређаја, који је део Линук кернела, сумирао је резултате рада на промоцији система датотека Бцацхефс у свом говору на ЛСФММ 2023 конференцији (Линук Стораге, Филесистем, Мемори Манагемент & БПФ Суммит). у главни састав Линук кернела и говорио о плановима за даљи развој овог ФС-а. У мају је предложен ажурирани сет закрпа са имплементацијом Бцацхефс ФС за преглед и укључивање у главни састав Линук кернела. ФС Бцацхефс се развија око 10 година. Спремност за ревизију имплементације Бцацхефс-а пре укључивања у језгро објављена је крајем 2020. године, а тренутна верзија закрпа узима у обзир коментаре и недостатке идентификоване током претходног прегледа.

Циљ развоја Бцацхефс-а је достизање КСФС нивоа у перформансама, поузданости и скалабилности, уз обезбеђивање додатних функција својствених Бтрфс-у и ЗФС-у, као што је укључивање више уређаја у партицију, вишеслојни распореди складиштења, репликација (РАИД 1/10), кеширање, транспарентна компресија података (ЛЗ4, гзип и ЗСТД режими), исечци стања (снимци), верификација интегритета контролним сумама, могућност складиштења кодова за исправљање грешака Реед-Соломон (РАИД 5/6), шифровано складиштење информација (ЦхаЦха20 и Поли1305 се користе). У погледу перформанси, Бцацхефс је испред Бтрф-а и других система датотека заснованих на механизму Цопи-он-Врите, и показује перформансе блиске Ект4 и КСФС.

Од најновијих достигнућа у развоју Бцацхефс-а, примећује се стабилизација имплементације снимака доступних за писање. У поређењу са Бтрфс-ом, снимци у Бцацхеф-у су сада много боље скалабилни и ослобођени проблема својствених Бтрфс-у. У пракси, рад снимака је тестиран приликом организовања МиСКЛ резервних копија. Бцацхефс је такође урадио доста посла на побољшању скалабилности – систем датотека се показао добро у тестирању у складишту од 100 ТБ, а очекује се да ће Бцацхефс бити имплементиран у складиште од 1 ПБ у блиској будућности. Додан је нови ноцов режим како би се онемогућио механизам „копирај-на-пиши“ (ноцов). Током лета планирају да имплементацију кодова за исправљање грешака и РАИДЗ-а доведу у стабилно стање, као и да реше проблеме са великом потрошњом меморије приликом враћања и провере система датотека помоћу фсцк услужног програма.

Од планова за будућност помиње се жеља да се језик Руст користи у развоју Бцацхефс-а. Према речима аутора Бцацхефс-а, он воли да кодира, а не да дебагује код, а сада је сулудо писати код у Ц-у када постоји боља опција. Руст је већ укључен у Бцацхефс у имплементацији неких услужних програма за кориснички простор. Штавише, кује се идеја да се постепено потпуно препише Бцацхефс у Руст, пошто коришћење овог језика значајно штеди време за отклањање грешака.

Што се тиче премештања Бцацхеф-а у главни ток Линук кернела, процес усвајања може бити одложен због велике величине измена (2500 закрпа и око 90 хиљада линија кода), што је тешко прегледати. Да би убрзали преглед, неки програмери су предложили да се серија закрпа подели на мање и логички одвојене делове. Током дискусије, поједини учесници су скренули пажњу и на развој пројекта од стране једног програмера и опасност да би код могао да остане неодржаван ако се нешто деси његовом програмеру (два радника Ред Хата су заинтересована за пројекат, али њихов рад је и даље ограничене исправке грешака).

Бцацхефс је развијен коришћењем технологија које су већ тестиране у развоју Бцацхе блок уређаја, дизајнираних за кеширање приступа спорим чврстим дисковима на брзим ССД дисковима (укључено у кернел од издања 3.10). Бцацхефс користи механизам Цопи-он-Врите (ЦОВ), у коме промене не доводе до преписивања података – ново стање се уписује на нову локацију, након чега се мења индикатор тренутног стања.

Карактеристика Бцацхефс-а је подршка за вишеслојно повезивање драјвова, у којем се складиште састоји од неколико слојева – најбржи дискови (ССД) су повезани на доњи слој који се користе за кеширање често коришћених података, а горњи слој се формира већи и јефтинији дискови који чувају мање тражене податке. Кеширање повратног уписивања може се користити између слојева. Дискови се могу динамички додавати и одвајати од партиције без прекидања коришћења система датотека (подаци се аутоматски мигрирају).

Извор: опеннет.ру

Додај коментар