„Blksnap“ mechanizmas buvo pasiūlytas blokinių įrenginių momentinėms nuotraukoms kurti „Linux“.

„Veeam“, įmonė, gaminanti atsargines kopijas ir atkūrimo po nelaimių programinę įrangą, pasiūlė „blksnap“ modulį įtraukti į „Linux“ branduolį, kuris įgyvendina blokų įrenginių momentinių nuotraukų kūrimo ir blokinių įrenginių pokyčių stebėjimo mechanizmą. Norint dirbti su momentinėmis nuotraukomis, buvo paruošta komandų eilutės programa blksnap ir blksnap.so biblioteka, leidžianti sąveikauti su branduolio moduliu naudojant ioctl skambučius iš vartotojo erdvės.

Modulio kūrimo tikslas yra sutvarkyti diskų ir virtualių diskų atsargines kopijas nenutraukiant darbo - modulis leidžia momentinėje nuotraukoje įrašyti esamą viso bloko įrenginio būseną, suteikiant atskirą atsarginę kopiją, kuri nepriklauso nuo vykstančių pakeitimų. . Svarbi blksnap savybė yra galimybė vienu metu kurti kelių blokinių įrenginių momentines nuotraukas vienu metu, kuri leidžia ne tik užtikrinti duomenų vientisumą blokinio įrenginio lygiu, bet ir pasiekti skirtingų blokinių įrenginių būsenos nuoseklumą atsarginėje kopijoje.

Kad būtų galima stebėti pakeitimus, blokinių įrenginių posistemis (bdev) pridėjo galimybę prijungti filtrus, leidžiančius perimti įvesties / išvesties užklausas. blksnap įdiegia filtrą, kuris perima rašymo užklausas, nuskaito senąją reikšmę ir išsaugo ją atskirame pakeitimų sąraše, kuris apibrėžia momentinės nuotraukos būseną. Taikant šį metodą, darbo su blokiniu įrenginiu logika nesikeičia; įrašymas į pradinį blokinį įrenginį atliekamas toks, koks yra, neatsižvelgiant į momentines nuotraukas, o tai pašalina duomenų sugadinimo galimybę ir išvengia problemų, net jei blksnap ir įvyksta nenuspėjamų kritinių klaidų. pokyčiams skirta erdvė pilna.

Modulis taip pat leidžia nustatyti, kurie blokai buvo pakeisti per laikotarpį nuo paskutinės ir bet kurios ankstesnės momentinės nuotraukos, o tai gali būti naudinga kuriant laipsniškas atsargines kopijas. Norint išsaugoti pakeitimus, susijusius su momentinės nuotraukos būsena, bet kuriame blokiniame įrenginyje gali būti priskirtas savavališkas sektorių diapazonas, o tai leidžia išsaugoti pakeitimus atskiruose failų sistemoje blokiniuose įrenginiuose. Pakeitimams saugoti skirtos srities dydis gali būti padidintas bet kuriuo metu, net ir sukūrus momentinę nuotrauką.

„Blksnap“ yra pagrįstas „veeamsnap“ modulio kodu, įtrauktu į „Veeam Agent for Linux“ produktą, tačiau perkurtas, kad būtų atsižvelgta į pristatymo pagrindiniame „Linux“ branduolyje specifiką. Koncepcinis skirtumas tarp „blksnap“ ir „veeamsnap“ yra filtrų sistemos, pritvirtintos prie blokinio įrenginio, naudojimas, o ne atskiras „bdevfilter“ komponentas, perimantis I/O.

Šaltinis: opennet.ru

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