Sasisho la mfumo wa faili wa nguzo ya LizardFS 3.13.0-rc2

Baada ya utulivu wa mwaka mzima katika maendeleo ilianza tena kufanya kazi kwenye tawi jipya la mfumo wa faili uliosambazwa unaostahimili hitilafu MjusiF 3.13 ΠΈ iliyochapishwa mgombea wa pili. Hivi majuzi imetokea mabadiliko ya wamiliki wa kampuni inayoendeleza LizardFS, usimamizi mpya ulipitishwa na watengenezaji walibadilishwa. Kwa miaka miwili iliyopita, mradi huo umeondolewa kutoka kwa jamii na haujazingatia vya kutosha, lakini timu mpya inakusudia kufufua uhusiano wa hapo awali na jamii na kuanzisha mwingiliano wa karibu nayo. Nambari ya mradi imeandikwa katika lugha C na C++ na kusambazwa na chini ya leseni ya GPLv3.

MjusiFS ni mfumo wa faili wa nguzo iliyosambazwa, ambayo hukuruhusu kusambaza data kwenye seva tofauti, lakini kutoa ufikiaji wao kwa njia ya kizigeu kimoja kikubwa, ambacho kinafanya kazi kwa njia sawa na sehemu za diski za jadi. Sehemu iliyowekwa na LizardFS inasaidia sifa za faili za POSIX, ACL, kufuli, soketi, mabomba, faili za kifaa, viungo vya ishara na ngumu. Mfumo hauna nukta moja ya kushindwa; vipengele vyote ni vya ziada. Usawazishaji wa shughuli za data unatumika (wateja kadhaa wanaweza kufikia faili kwa wakati mmoja).

Ili kuhakikisha uvumilivu wa makosa, data imegawanywa katika nakala, ambazo husambazwa katika nodi tofauti na upungufu (nakala kadhaa zimewekwa kwenye nodi tofauti); ikiwa nodi au viendeshi vinashindwa, mfumo unaendelea kufanya kazi bila kupoteza habari na kusambaza data kiotomatiki. kwa kuzingatia nodes zilizobaki. Ili kupanua hifadhi, inatosha kuunganisha nodes mpya kwake bila kuacha kazi kwa ajili ya matengenezo (mfumo yenyewe huiga sehemu ya data kwa seva mpya na kusawazisha uhifadhi kwa kuzingatia seva mpya). Unaweza kufanya vivyo hivyo ili kupunguza ukubwa wa nguzo - unaweza tu kuzima vifaa vya kizamani ambavyo vinaondolewa kwenye mfumo.

Data na metadata huhifadhiwa tofauti. Kwa uendeshaji, inashauriwa kufunga seva mbili za metadata zinazofanya kazi katika hali ya bwana-mtumwa, pamoja na angalau seva mbili za kuhifadhi data (chunkserver). Zaidi ya hayo, kuhifadhi metadata, seva za kumbukumbu zinaweza kutumika kuhifadhi habari kuhusu mabadiliko katika metadata na kuruhusu kurejesha uendeshaji katika tukio la uharibifu wa seva zote zilizopo za metadata. Kila faili imegawanywa katika vitalu (chunks), hadi 64 MB kwa ukubwa. Vitalu vinasambazwa kati ya seva za uhifadhi kulingana na hali iliyochaguliwa ya kurudia: kiwango (uamuzi wazi wa idadi ya nakala zitakazowekwa kwenye nodi tofauti, pamoja na kuhusiana na saraka za kibinafsi - kwa data muhimu idadi ya nakala inaweza kuongezeka, na kwa data zisizo muhimu zimepunguzwa), XOR (RAID5) na EC (RAID6).

Hifadhi inaweza kuongezeka hadi saizi za petabyte. Maeneo ya utumaji ni pamoja na kuhifadhi kwenye kumbukumbu, uhifadhi wa picha za mashine pepe, data ya media titika, hifadhi rudufu, matumizi kama DRC (Kituo cha Urejeshaji Maafa) na kama hifadhi katika vikundi vya utendaji wa juu vya kompyuta. LizardFS hutoa kasi ya juu sana ya kusoma kwa faili za ukubwa wowote, na wakati wa kuandika, inaonyesha utendaji mzuri wakati wa kuandika faili zote kubwa na za kati, wakati hakuna marekebisho ya mara kwa mara, kazi kubwa na faili wazi, na uendeshaji wa wakati mmoja na a. kundi la faili ndogo.

Sasisho la mfumo wa faili wa nguzo ya LizardFS 3.13.0-rc2

Miongoni mwa vipengele vya FS, mtu anaweza pia kutambua kuwepo kwa usaidizi wa snapshots, kuonyesha hali ya faili kwa wakati fulani, na utekelezaji uliojengwa wa "bomba la kuchakata" (faili hazijafutwa mara moja na zinapatikana kwa kupona kwa muda). Ufikiaji wa kizigeu unaweza kupunguzwa na anwani ya IP au nywila (sawa na NFS). Kuna kiasi na ubora wa taratibu za usimamizi wa huduma zinazokuwezesha kupunguza ukubwa na kipimo data kwa aina fulani za watumiaji. Inawezekana kuunda vituo vya kuhifadhi vilivyosambazwa kijiografia, sehemu ambazo ziko katika vituo tofauti vya data.

Mradi wa LizardFS ulianzishwa mnamo 2013 kama uma MooseFS, na hutofautiana hasa mbele ya hali ya urudufishaji kulingana na misimbo ya kurekebisha makosa ya Reed-Solomon (inayofanana na raidzN), usaidizi uliopanuliwa wa ACL, uwepo wa mteja wa jukwaa la Windows, uboreshaji wa ziada (kwa mfano, wakati wa kuchanganya mteja na seva ya uhifadhi, vizuizi, ikiwezekana, vinatumwa na nodi ya sasa, na metadata imehifadhiwa kwenye kumbukumbu), mfumo wa usanidi rahisi zaidi, usaidizi wa kusoma mbele ya data, upendeleo wa saraka na urekebishaji wa ndani.

LizardFS 3.13.0 imepangwa kutolewa mwishoni mwa Desemba. Ubunifu kuu wa LizardFS 3.13 ni matumizi ya algoriti ya makubaliano ili kuhakikisha uvumilivu wa makosa (kubadilisha seva kuu ikiwa itashindwa) Raft (hutumia utekelezaji wetu wenyewe wa uRaft, ambao hapo awali ulitumiwa katika bidhaa za kibiashara). Kutumia uRaft hurahisisha usanidi na kupunguza ucheleweshaji wa urejeshaji wa kushindwa, lakini kunahitaji angalau nodi tatu za kufanya kazi, moja ikitumika kwa akidi.

Mabadiliko mengine: mteja mpya kulingana na mfumo mdogo wa FUSE3, kutatua matatizo na urekebishaji wa makosa, programu-jalizi ya nfs-ganesha imeandikwa upya katika lugha ya C. Sasisha 3.13.0-rc2 hurekebisha hitilafu kadhaa muhimu ambazo zilifanya matoleo ya awali ya jaribio la tawi la 3.13 kutoweza kutumika (marekebisho ya tawi la 3.12 bado hayajachapishwa, na sasisho kutoka 3.12 hadi 3.13 bado husababisha upotezaji kamili wa data).

Mnamo 2020, kazi itazingatia maendeleo
Agama, kernel mpya iliyoandikwa upya kabisa ya LizardFS, ambayo, kulingana na watengenezaji, itatoa ongezeko la mara tatu la utendaji ikilinganishwa na tawi la 3.12. Agama itabadilika kwenda kwa usanifu unaoendeshwa na hafla, pembejeo / pato la msingi. asio, fanya kazi katika nafasi ya mtumiaji (kupunguza utegemezi wa mifumo ya uhifadhi wa kernel). Zaidi ya hayo, mfumo mpya wa utatuzi na kichanganuzi cha shughuli za mtandao chenye usaidizi wa urekebishaji kiotomatiki wa utendaji utatolewa.

Mteja wa LizardFS ataongeza usaidizi kamili wa shughuli za uandishi wa matoleo, ambayo itaboresha uaminifu wa uokoaji wa maafa, kutatua matatizo yanayotokea wakati wateja tofauti wanashiriki upatikanaji wa data sawa, na kuruhusu uboreshaji mkubwa wa utendaji. Mteja atahamishiwa kwenye mfumo wake mdogo wa mtandao unaofanya kazi katika nafasi ya mtumiaji. Mfano wa kwanza wa kufanya kazi wa LizardFS kulingana na Agama imepangwa kuwa tayari katika robo ya pili ya 2020. Wakati huo huo, wanaahidi kutekeleza zana za kuunganisha LizardFS na jukwaa la Kubernetes.

Chanzo: opennet.ru

Kuongeza maoni