LizardFS 3.13.0-rc2 կլաստերի ֆայլային համակարգի թարմացում

Զարգացման մեկ տարվա դադարից հետո վերսկսվել է աշխատում է սխալ հանդուրժող բաշխված ֆայլային համակարգի նոր մասնաճյուղի վրա LizardF 3.13 и հրատարակված երկրորդ ազատ արձակման թեկնածու. Վերջերս տեղի ունեցավ LizardFS մշակող ընկերության սեփականատերերի փոփոխություն, նոր ղեկավարություն ընդունվեց և ծրագրավորողները փոխարինվեցին։ Վերջին երկու տարիների ընթացքում նախագիծը դուրս է բերվել համայնքից և բավարար ուշադրություն չի դարձրել դրան, սակայն նոր թիմը մտադիր է վերակենդանացնել համայնքի հետ նախկին հարաբերությունները և սերտ փոխգործակցություն հաստատել նրա հետ: Ծրագրի կոդը գրված է C և C++ լեզուներով և տարածվում է GPLv3 լիցենզիայի ներքո:

Մողես է բաշխված կլաստերային ֆայլային համակարգ, որը թույլ է տալիս տվյալների բաշխում տարբեր սերվերների վրա, բայց ապահովում է դրանց մուտքը մեկ մեծ բաժանման տեսքով, որի հետ աշխատում է ավանդական սկավառակի բաժանմունքների նման: LizardFS-ով տեղադրված միջնորմն աջակցում է POSIX ֆայլի ատրիբուտներին, ACL-ներին, կողպեքներին, վարդակներին, խողովակներին, սարքի ֆայլերին, խորհրդանշական և կոշտ հղումներին: Համակարգը չունի խափանման մեկ կետ, բոլոր բաղադրիչները ավելորդ են: Աջակցվում է տվյալների գործառնությունների զուգահեռացումը (մի քանի հաճախորդներ կարող են միաժամանակ մուտք գործել ֆայլեր):

Սխալների հանդուրժողականությունն ապահովելու համար տվյալները բաժանվում են կրկնօրինակների, որոնք բաշխվում են տարբեր հանգույցների վրա՝ ավելորդությամբ (մի քանի օրինակներ տեղադրվում են տարբեր հանգույցների վրա), եթե հանգույցները կամ սկավառակները ձախողվում են, համակարգը շարունակում է գործել առանց տեղեկատվության կորստի և ավտոմատ կերպով վերաբաշխում է տվյալները։ հաշվի առնելով մնացած հանգույցները. Պահեստը ընդլայնելու համար բավական է միացնել նոր հանգույցներ՝ առանց սպասարկման աշխատանքները դադարեցնելու (համակարգն ինքն է տվյալների մի մասը կրկնօրինակում նոր սերվերների վրա և հավասարակշռում է պահեստը՝ հաշվի առնելով նոր սերվերները): Դուք կարող եք անել նույնը, որպեսզի կրճատեք կլաստերի չափը. կարող եք պարզապես անջատել համակարգից հեռացվող հնացած սարքավորումները:

Տվյալները և մետատվյալները պահվում են առանձին: Գործարկման համար խորհուրդ է տրվում տեղադրել երկու մետատվյալների սերվեր, որոնք գործում են master-slave ռեժիմում, ինչպես նաև առնվազն երկու տվյալների պահպանման սերվեր (chunkserver): Բացի այդ, մետատվյալների կրկնօրինակման համար գրանցամատյանների սերվերները կարող են օգտագործվել մետատվյալների փոփոխությունների մասին տեղեկությունները պահելու համար և թույլ են տալիս վերականգնել աշխատանքը բոլոր առկա մետատվյալների սերվերների վնասման դեպքում: Յուրաքանչյուր ֆայլ բաժանված է բլոկների (կտորների), մինչև 64 ՄԲ չափի: Բլոկները բաշխվում են պահեստավորման սերվերների միջև՝ վերարտադրման ընտրված ռեժիմին համապատասխան՝ ստանդարտ (տարբեր հանգույցների վրա տեղադրվող պատճենների քանակի հստակ որոշում, ներառյալ առանձին գրացուցակների հետ կապված. կարևոր տվյալների համար պատճենների քանակը կարող է ավելացվել, և անկարևոր տվյալները կրճատվել են), XOR (RAID5) և EC (RAID6):

Պահպանումը կարող է չափվել մինչև petabyte: Կիրառման ոլորտները ներառում են արխիվացում, վիրտուալ մեքենայի պատկերների պահպանում, մուլտիմեդիա տվյալներ, կրկնօրինակում, օգտագործում որպես DRC (Աղետների վերականգնման կենտրոն) և որպես պահեստավորում բարձր արդյունավետությամբ հաշվողական կլաստերներում: LizardFS-ն ապահովում է ընթերցման շատ բարձր արագություն ցանկացած չափի ֆայլերի համար, և երբ գրում է, լավ կատարում է մեծ և միջին չափի ֆայլեր գրելիս, երբ մշտական ​​փոփոխություններ չկան, բաց ֆայլերի հետ ինտենսիվ աշխատանք և միանգամյա գործողություններ փոքր ֆայլերի փունջ:

LizardFS 3.13.0-rc2 կլաստերի ֆայլային համակարգի թարմացում

FS-ի առանձնահատկություններից կարելի է նշել նաև լուսանկարների աջակցության առկայությունը, որն արտացոլում է ֆայլերի վիճակը որոշակի ժամանակ և ներկառուցված «վերամշակման աղբարկղի» իրականացում (ֆայլերը անմիջապես չեն ջնջվում և հասանելի են վերականգնում որոշ ժամանակով): Բաժանման մուտքը կարող է սահմանափակվել IP հասցեով կամ գաղտնաբառով (նման է NFS-ին): Կան քվոտաների և ծառայությունների որակի կառավարման մեխանիզմներ, որոնք թույլ են տալիս սահմանափակել չափը և թողունակությունը օգտվողների որոշակի կատեգորիաների համար: Հնարավոր է ստեղծել աշխարհագրորեն բաշխված պահեստարաններ, որոնց հատվածները տեղակայված են տվյալների տարբեր կենտրոններում։

LizardFS նախագիծը հիմնադրվել է 2013 թվականին որպես պատառաքաղ MooseFSև տարբերվում է հիմնականում կրկնօրինակման ռեժիմի առկայությամբ, որը հիմնված է Reed-Solomon սխալի ուղղման կոդերի վրա (որը նման է raidzN-ին), ընդլայնված ACL աջակցությամբ, Windows պլատֆորմի համար հաճախորդի առկայությամբ, լրացուցիչ օպտիմալացումներով (օրինակ՝ հաճախորդը համատեղելիս և պահեստավորման սերվեր, բլոկները, հնարավորության դեպքում, ուղարկվում են ընթացիկ հանգույցով, և մետատվյալները պահվում են հիշողության մեջ), ավելի ճկուն կազմաձևման համակարգ, տվյալների առաջ ընթերցման աջակցություն, գրացուցակի քվոտաներ և ներքին վերամշակում:

LizardFS 3.13.0-ի թողարկումը նախատեսվում է դեկտեմբերի վերջին: LizardFS 3.13-ի հիմնական նորարարությունը կոնսենսուսի ալգորիթմի օգտագործումն է՝ սխալների հանդուրժողականություն ապահովելու համար (խափանման դեպքում գլխավոր սերվերների միացում) Ռաֆտ (օգտագործում է uRaft-ի մեր սեփական ներդրումը, որը նախկինում օգտագործվել է կոմերցիոն արտադրանքներում): URaft-ի օգտագործումը հեշտացնում է կոնֆիգուրացիան և նվազեցնում ձախողման վերականգնման ձգձգումները, սակայն պահանջում է առնվազն երեք աշխատանքային հանգույց, որոնցից մեկն օգտագործվում է քվորումի համար:

Այլ փոփոխություններ. FUSE3 ենթահամակարգի վրա հիմնված նոր հաճախորդ, սխալների ուղղման հետ կապված խնդիրներ լուծելու համար, nfs-ganesha plugin-ը վերաշարադրվել է C լեզվով: 3.13.0-rc2 թարմացումն ուղղում է մի քանի կարևոր վրիպակներ, որոնք անօգտագործելի էին դարձնում 3.13 մասնաճյուղի նախորդ թեստային թողարկումները (3.12 մասնաճյուղի ուղղումները դեռ չեն հրապարակվել, իսկ 3.12-ից մինչև 3.13 թարմացումը դեռ հանգեցնում է տվյալների ամբողջական կորստի):

2020 թվականին աշխատանքները կկենտրոնանան զարգացման վրա
Ագամա, նոր ամբողջությամբ վերագրված LizardFS միջուկը, որը, ըստ մշակողների, կապահովի կատարողականի եռակի աճ՝ համեմատած 3.12 ճյուղի հետ։ Agama-ն կանցնի իրադարձությունների վրա հիմնված ճարտարապետության՝ ասինխրոն մուտքագրման/ելքի վրա հիմնված ասիո, աշխատել հիմնականում օգտագործողի տարածքում (միջուկի քեշավորման մեխանիզմներից կախվածությունը նվազեցնելու համար): Բացի այդ, կառաջարկվեն վրիպազերծման նոր ենթահամակարգ և ցանցային գործունեության անալիզատոր՝ կատարողականի ավտոմատ կարգավորման աջակցությամբ:

LizardFS-ի հաճախորդը կավելացնի ամբողջական աջակցություն գրելու գործառնությունների տարբերակների համար, ինչը կբարելավի աղետի վերականգնման հուսալիությունը, կլուծի խնդիրները, որոնք առաջանում են, երբ տարբեր հաճախորդներ կիսում են նույն տվյալների հասանելիությունը և թույլ կտա էական բարելավումներ կատարել: Հաճախորդը կտեղափոխվի իր սեփական ցանցային ենթահամակարգ, որը գործում է օգտագործողի տարածքում: Agama-ի հիման վրա LizardFS-ի առաջին աշխատանքային նախատիպը նախատեսվում է պատրաստ լինել 2020 թվականի երկրորդ եռամսյակում։ Միևնույն ժամանակ նրանք խոստանում են LizardFS-ը Kubernetes հարթակի հետ ինտեգրելու գործիքներ ներդնել։

Source: opennet.ru

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