Ifọrọwanilẹnuwo Keji pẹlu Eduard Shishkin, Olùgbéejáde ti Reiser4 FS

Ifọrọwanilẹnuwo keji pẹlu Eduard Shishkin, olupilẹṣẹ ti eto faili Reiser4, ti ṣe atẹjade.

Lati bẹrẹ, jọwọ leti awọn oluka nibo ati tani o ṣiṣẹ fun.

Mo ṣiṣẹ bi Onitumọ Ibi ipamọ akọkọ ni Huawei Technologies, Ile-iṣẹ Iwadi German. Ninu ẹka iṣẹ agbara Mo ṣe pẹlu ọpọlọpọ awọn aaye ti ibi ipamọ data. Awọn iṣẹ mi ko ni ibatan si ẹrọ ṣiṣe kan pato.

Njẹ o n ṣe adehun lọwọlọwọ si ẹka kernel akọkọ bi?

O ṣọwọn pupọ, ati pe ti agbanisiṣẹ mi ba nilo rẹ. Akoko ti o kẹhin jẹ nipa ọdun mẹta sẹhin, Mo fi awọn abulẹ ranṣẹ lati mu iṣelọpọ pọ si fun ibi ipamọ ti a pin lori awọn ọmọ-ogun nipa lilo ilana 9p (orukọ miiran fun iṣowo yii ni VirtFS). Akọsilẹ pataki kan gbọdọ ṣe nibi: botilẹjẹpe Mo ti n ṣiṣẹ pẹlu Linux fun igba pipẹ, Emi ko jẹ olufẹ rẹ rara, iyẹn ni, Mo “simi ni deede,” bi pẹlu ohun gbogbo miiran. Ni pato, ti Mo ba ṣe akiyesi abawọn kan, Mo le tọka si ni ẹẹkan. Ati pe ki o le lẹhinna tẹle ẹnikan ki o yi wọn pada - eyi kii yoo ṣẹlẹ.

Mo ranti akoko to kọja, ọdun mẹwa sẹhin, o ṣe pataki pupọ ti ara idagbasoke ekuro. Lati oju-ọna rẹ (tabi boya ile-iṣẹ), ṣe ohunkohun ti yipada, ṣe agbegbe ti ṣe idahun diẹ sii tabi rara? Bí bẹ́ẹ̀ kọ́, ta ni ẹ rò pé ó jẹ̀bi?

Emi ko rii eyikeyi awọn ayipada fun dara julọ. Iṣoro akọkọ ti agbegbe ni iyipada ti imọ-jinlẹ pẹlu awọn imọ-ẹrọ iṣelu, awọn ibatan ti ara ẹni, imọran pupọ, populism, imọran lati “awọn ohun inu,” awọn adehun rotten, ohunkohun miiran ju imọ-jinlẹ. Imọ-ẹrọ Kọmputa, ohunkohun ti ẹnikan le sọ, jẹ akọkọ ati ṣaaju imọ-jinlẹ gangan. Ati pe ti ẹnikan ba bẹrẹ lati kede iye tiwọn fun 2x2, yatọ si 4, labẹ asia "Linux ọna", tabi labẹ asia miiran, lẹhinna eyi ko ṣeeṣe lati mu ohunkohun miiran ju ipalara lọ.

Gbogbo awọn wahala jẹ akọkọ nitori ailagbara ati aini ẹkọ ti awọn ti o ṣe ipinnu. Ti oluṣakoso kan ko ba ni agbara, ko le ṣe ipinnu, ipinnu to peye. Ti ko ba tun jẹ aṣa, ko le wa alamọja ti o ni oye ti yoo fun ni imọran ti o tọ. Pẹlu iṣeeṣe giga, yiyan yoo ṣubu lori scammer kan ti o sọ “awọn ohun ti o dabi ẹni pe o tọ.” Ayika ibajẹ nigbagbogbo ndagba ni ayika awọn oludari adaṣo ti ko ni oye. Pẹlupẹlu, itan ko mọ awọn imukuro ninu ọran yii, ati pe agbegbe ni ijẹrisi ti o han julọ ti eyi.

Bawo ni o ṣe ṣe ayẹwo ilọsiwaju ni idagbasoke Btrfs? Njẹ FS yii yọ kuro ninu awọn arun ọmọde bi? Bawo ni o ṣe gbe e fun ararẹ - bi FS “fun ile” tabi fun lilo ile-iṣẹ paapaa?

Emi ko yo kuro. Ohun gbogbo ti Mo mẹnuba ni ọdun 11 sẹhin tun jẹ pataki loni. Ọkan ninu awọn iṣoro pẹlu Btrfs ti o jẹ ki o ko yẹ fun awọn iwulo to ṣe pataki ni iṣoro aaye ọfẹ. Emi ko paapaa sọrọ nipa otitọ pe a beere olumulo lati ṣiṣe si ile itaja fun disk tuntun ni awọn ipo nibiti eyikeyi FS miiran yoo ṣafihan aaye ọfẹ pupọ lori ipin. Ailagbara lati pari iṣẹ kan lori iwọn ọgbọn ọgbọn nitori aini aaye ọfẹ tun kii ṣe ohun ti o buru julọ. Ohun ti o buru julọ ni pe olumulo ti ko ni anfani le fẹrẹẹ nigbagbogbo, fori eyikeyi awọn ipin disk, fa gbogbo eniyan laaye ni aaye ọfẹ ni akoko kukuru ti iṣẹtọ.

O dabi eyi (idanwo fun ekuro Linux 5.12). A ṣe ifilọlẹ iwe afọwọkọ lori eto titun ti a fi sori ẹrọ, eyiti ninu lupu ṣẹda awọn faili pẹlu awọn orukọ kan ninu ilana ile, kọ data si wọn ni awọn aiṣedeede kan, ati lẹhinna paarẹ awọn faili wọnyi. Lẹhin iṣẹju kan ti nṣiṣẹ iwe afọwọkọ yii, ko si ohun ajeji ti o ṣẹlẹ. Lẹhin iṣẹju marun, apakan ti aaye ti o tẹdo lori ipin pọ si diẹ. Lẹhin wakati meji si mẹta o de 50% (pẹlu iye ibẹrẹ ti 15%). Ati lẹhin awọn wakati marun tabi mẹfa ti iṣẹ, iwe afọwọkọ naa kọlu pẹlu aṣiṣe “ko si aaye ọfẹ lori ipin.” Lẹhin eyi, iwọ ko ni anfani lati kọ paapaa faili 4K kan si ipin rẹ.

Ipo ti o nifẹ kan waye: o pari ko kọ ohunkohun si ipin, ati gbogbo aaye ọfẹ (nipa 85%) ti sọnu ni ibikan. Itupalẹ ti apakan kan koko ọrọ si iru ikọlu yoo ṣafihan ọpọlọpọ awọn apa igi ti o ni ohun kan kan (ohun ti o ni ipese pẹlu bọtini), ọpọlọpọ awọn baiti ni iwọn. Iyẹn ni, akoonu ti o ti gba 15% ti aaye disiki naa tẹlẹ lati jẹ “fifun” ni deede lori gbogbo ipin ki ko si ibi ti o le kọ faili tuntun, nitori bọtini rẹ tobi ju gbogbo awọn ti o wa tẹlẹ, ati ọfẹ. awọn bulọọki lori ipin ti pari.

Pẹlupẹlu, gbogbo eyi ti ṣẹlẹ tẹlẹ lori iṣeto Btrfs ipilẹ (laisi eyikeyi snapshots, awọn iwọn kekere, ati bẹbẹ lọ), ati pe ko ṣe pataki bi o ṣe pinnu lati tọju awọn ara faili ni FS yẹn (gẹgẹbi “awọn ajẹkù” ninu igi kan, tabi bi awọn iwọn. ti awọn bulọọki ti a ko ṣe agbekalẹ) - abajade ipari yoo jẹ kanna.

Iwọ kii yoo ni anfani lati tẹriba awọn ọna ṣiṣe faili oke miiran si iru ikọlu (bii ohun ti wọn sọ fun ọ). Mo ṣe alaye ohun ti o fa iṣoro naa ni igba pipẹ sẹhin: eyi jẹ aiṣedeede pipe ti imọran igi B ni Btrfs, eyiti o jẹ ki o ṣee ṣe fun lairotẹlẹ tabi imomose. Ni pataki, labẹ awọn ẹru kan, eto faili rẹ yoo “ṣubu lọtọ” nigbagbogbo lakoko iṣẹ tirẹ, laisi iranlọwọ ita. O han gbangba pe gbogbo iru awọn ilana isale “titẹ” yoo ṣafipamọ ọjọ naa nikan lori awọn kọǹpútà alágbèéká kọọkan.

Lori awọn olupin apapọ, ikọlu yoo nigbagbogbo ni anfani lati “lọ siwaju” wọn. Alakoso eto kii yoo paapaa ni anfani lati pinnu ẹniti o ṣe ipanilaya rẹ gaan. Ọna ti o yara ju lati ṣatunṣe iṣoro yii ni Btrfs ni lati mu pada eto ti igi B-igi deede, i.e. tun ṣe ọna kika disiki ati tunkọ awọn ipin pataki ti koodu Btrfs. Eyi yoo gba ọdun 8-10, pẹlu n ṣatunṣe aṣiṣe, ti o pese pe awọn olupilẹṣẹ tẹle awọn nkan atilẹba ti o muna lori awọn algoridimu ti o yẹ ati awọn ẹya data, ati pe ko ṣe ere “foonu ti o fọ”, gẹgẹ bi aṣa (ati iwuri) ni “Linux ọna".

Nibi a tun nilo lati ṣafikun akoko ti o nilo fun awọn idagbasoke lati loye gbogbo eyi. Eyi ni ibiti o ti n nira sii. Ni eyikeyi idiyele, ọdun 10 ko to fun wọn lati loye. O dara, titi di igba naa o ko le nireti fun iyanu kan. Kii yoo ṣẹlẹ ni irisi aṣayan iṣagbesori “ti iwọ ati Emi ko mọ nipa,” tabi ni irisi alemo kan ti o jẹ “ọrọ kan ti iṣowo nikan” lati murasilẹ. Fun ọkọọkan iru “fix” ti o yara ni Emi yoo ṣafihan oju iṣẹlẹ tuntun ti degeneration. Awọn igi B jẹ ọkan ninu awọn akọle ayanfẹ mi, ati pe Mo gbọdọ sọ pe awọn ẹya wọnyi ko fi aaye gba awọn ominira pẹlu ara wọn!

Bawo ni MO ṣe gbe Btrfs fun ara mi? Gẹgẹbi nkan ti ko le pe ni eto faili kan, jẹ ki a lo nikan. Nitoripe, nipa itumọ, FS jẹ eto ipilẹ OS ti o ni iduro fun iṣakoso munadoko ti awọn orisun “aaye disk”, eyiti a ko rii ninu ọran ti Btrfs. O dara, fojuinu pe o wa si ile itaja lati ra aago kan ki o má ba pẹ fun iṣẹ, ati dipo aago kan wọn ta ọ ni ina mọnamọna pẹlu aago kan fun o pọju ọgbọn iṣẹju. Nitorinaa, ipo pẹlu Btrfs paapaa buru.

Wiwa nipasẹ awọn atokọ ifiweranṣẹ, Mo nigbagbogbo wa kọja alaye naa pe iṣakoso ni imunadoko aaye disk ko ṣe pataki mọ nitori idinku awọn awakọ. Isọkusọ ni kikun leleyi. Laisi oluṣakoso aaye disk ti o munadoko, OS yoo di ipalara ati ailagbara. Laibikita agbara ti awọn disiki lori ẹrọ rẹ.

Emi yoo fẹ lati beere fun asọye lori idaduro atilẹyin Btrfs ni RHEL.

Ko si ohun pataki lati ọrọìwòye lori nibi, ohun gbogbo jẹ gidigidi ko o. Wọn tun ni bi “awotẹlẹ imọ-ẹrọ”. Nitorinaa, Emi ko lọ nipasẹ “awotẹlẹ” yii. Maṣe jẹ ki aami yii duro lailai! Ṣugbọn wọn ko le ṣe ifilọlẹ ọja ti o ni abawọn pẹlu atilẹyin kikun. RHEL jẹ ile-iṣẹ kan, iyẹn ni, awọn ibatan eru-owo ti a paṣẹ. Red Hat ko le ṣe ipanilaya awọn olumulo bi wọn ṣe lori atokọ ifiweranṣẹ Btrfs. O kan fojuinu ipo naa: alabara kan ti o san owo ti o ni lile fun disk ati paapaa iwọ fun atilẹyin, fẹ lati ni oye ibiti aaye disk rẹ ti lọ lẹhin ti ko kọ ohunkohun si isalẹ. Kí ni ẹ óo dá a lóhùn sí èyí?

Siwaju sii. Awọn alabara Red Hat pẹlu awọn banki nla ti o mọ daradara ati awọn paṣipaarọ. Fojuinu kini yoo ṣẹlẹ ti wọn ba wa labẹ awọn ikọlu DoS ti o da lori ailagbara ti a mẹnuba ni Btrfs. Tani o ro pe o jẹ iduro fun eyi? Si awọn ti o fẹrẹ tọka ika wọn si laini iwe-aṣẹ GPL, nibiti a ti kọ ọ pe onkọwe ko ṣe iduro fun ohunkohun, Emi yoo sọ lẹsẹkẹsẹ pe: “fi pamọ!” Pupa Hat yoo dahun, ati ni iru ọna ti kii yoo dabi to! Ṣugbọn Mo mọ pe Red Hat ko ni idojukọ iru iṣoro yii, fun ẹgbẹ wọn ti o lagbara ni pataki ti awọn onimọ-ẹrọ QA pẹlu ẹniti Mo ni aye lati ṣiṣẹ ni pẹkipẹki ni akoko mi.

Kini idi ti awọn ile-iṣẹ kan tẹsiwaju lati ṣe atilẹyin Btrfs ninu awọn ọja ile-iṣẹ wọn?

Jọwọ ṣakiyesi pe ami-iṣaaju “ile-iṣẹ” ni orukọ ọja ko tumọ si pupọ. Idawọlẹ jẹ iwọn ti ojuse ti a fi sinu ibatan adehun pẹlu alabara. Mo mọ ti ile-iṣẹ kan ṣoṣo ti o da lori GNU/Linux - RHEL. Ohun gbogbo miiran, lati oju-ọna mi, ni a gbekalẹ bi ile-iṣẹ nikan, ṣugbọn kii ṣe ọkan. Ati nikẹhin, ti ibeere kan ba wa, lẹhinna ipese yoo wa nigbagbogbo (ninu ọran wa, eyi ni “atilẹyin” ti a mẹnuba). Nibẹ ni eletan fun Egba ohun gbogbo, pẹlu. ati ki o unusable software. Bawo ni iru ibeere ti ṣe agbekalẹ ati tani o mu ki o jẹ koko-ọrọ miiran.

Nitorinaa, Emi kii yoo fo si awọn ipinnu eyikeyi lẹhin ti a sọ pe Facebook ti gbe Btrfs sori olupin rẹ. Pẹlupẹlu, Emi yoo ṣeduro farabalẹ tọju awọn adirẹsi ti awọn olupin wọnyẹn ni aṣiri fun awọn idi ti o wa loke.

Kini idi ti a ti fi ọpọlọpọ akitiyan sinu mimọ koodu XFS laipẹ? Lẹhin gbogbo ẹ, lakoko eyi jẹ eto faili ẹnikẹta, ati pe ext4 ti jẹ iduroṣinṣin fun igba pipẹ ati pe o ni ilọsiwaju lati awọn ẹya iduroṣinṣin deede ti iṣaaju. Kini anfani Red Hat ni XFS? Ṣe o jẹ oye lati ṣe agbekalẹ awọn ọna ṣiṣe faili meji ti o jọra ni idi - ext4 ati XFS?

Emi ko ranti ohun ti qkan yi. O ṣee ṣe pupọ pe ipilẹṣẹ wa lati ọdọ awọn alabara Red Hat. Mo ranti pe iru iwadii yii ni a ṣe: lori diẹ ninu awọn eto faili lati oke, nọmba gigantic ti awọn nkan ni a ṣẹda lori awọn awakọ giga-giga ti iran tuntun. Gẹgẹbi awọn abajade, XFS huwa dara ju ext4. Nitorina wọn bẹrẹ si ṣe igbega rẹ gẹgẹbi ohun ti o ni ileri julọ. Ni eyikeyi idiyele, Emi kii yoo wa ohunkohun ti o ni itara nibi.

Fun mi, o dabi pe wọn ti rọpo awl pẹlu ọṣẹ. Ko si aaye ni idagbasoke ext4 ati XFS. Mejeeji ni afiwe ati eyikeyi ninu wọn lati yan lati. Ko si ohun ti o dara yoo wa ninu eyi. Botilẹjẹpe, ni iseda awọn ipo nigbagbogbo wa nigbati agbara pupọ wa fun idagbasoke, ṣugbọn ko si aaye lati dagba. Ni ọran yii, ọpọlọpọ awọn idagba tuntun ti o buruju dide, eyiti gbogbo eniyan tọka si (“Oh, wo, kini iwọ kii yoo rii ni igbesi aye yii!”).

Ṣe o ro pe ọrọ irufin Layer ti yanju (ni ọna odi) pẹlu dide ti awọn iṣẹ fifi ẹnọ kọ nkan ni ext4, F2FS (kii ṣe darukọ RAID ni Btrfs)?

Ni gbogbogbo, ifihan ti awọn ipele eyikeyi ati ṣiṣe ipinnu nipa ti kii ṣe irufin wọn nigbagbogbo jẹ ọrọ ti eto imulo, ati pe Emi ko ṣe adehun lati sọ asọye lori ohunkohun nibi. Awọn aaye idi ti irufin Layer jẹ iwulo diẹ si ẹnikẹni, ṣugbọn a le ro diẹ ninu wọn nipa lilo apẹẹrẹ irufin “lati oke,” eyun, imuse ni FS ti iṣẹ ṣiṣe ti o wa tẹlẹ lori Layer Àkọsílẹ. Iru “o ṣẹ” jẹ idalare pẹlu awọn imukuro toje nikan. Fun iru ọran kọọkan, o gbọdọ kọkọ jẹri awọn nkan meji: pe o nilo gaan, ati pe apẹrẹ ti eto naa kii yoo ni ipalara nipasẹ ṣiṣe bẹ.

Fún àpẹrẹ, dígí, tí ó jẹ́ ìgbòkègbodò iṣẹ́ ìsìn fún ìpìlẹ̀ ìdènà, jẹ́ ìmọ̀lára láti ṣe ní ìpele ètò fáìlì. Fun awọn idi oriṣiriṣi. Fun apẹẹrẹ, ibajẹ data “ipalọlọ” (bit rot) waye lori awọn awakọ disiki. Eyi jẹ nigbati ẹrọ naa n ṣiṣẹ daradara, ṣugbọn data idina ti bajẹ lairotẹlẹ labẹ ipa ti kuatomu gamma lile ti o jade nipasẹ quasar ti o jinna, ati bẹbẹ lọ. Ohun ti o buru julọ ni ti bulọọki yii ba jade lati jẹ bulọki eto FS (superblock, bulọọki bitmap, ipade igi ibi ipamọ, ati bẹbẹ lọ), nitori eyi yoo dajudaju ja si ijaaya ekuro.

Jọwọ ṣe akiyesi pe awọn digi ti a funni nipasẹ Layer Àkọsílẹ (eyiti a npe ni RAID 1) kii yoo gba ọ là kuro ninu iṣoro yii. O dara, looto: ẹnikan yẹ ki o ṣayẹwo awọn sọwedowo naa ki o ka ẹda naa ni ọran ikuna? Ni afikun, o jẹ oye lati digi kii ṣe ohun gbogbo, ṣugbọn metadata nikan. Diẹ ninu awọn data pataki (fun apẹẹrẹ, awọn faili ṣiṣe ti awọn ohun elo to ṣe pataki) le wa ni ipamọ bi metadata. Ni idi eyi, wọn gba awọn iṣeduro kanna ti ailewu. O jẹ oye lati fi aabo aabo data ti o ku si awọn ọna ṣiṣe miiran (boya paapaa awọn ohun elo olumulo) - a ti pese gbogbo awọn ipo pataki fun eyi.

Iru awọn digi “aje” ni ẹtọ lati wa, ati pe wọn le ṣeto ni imunadoko ni ipele eto faili. Bibẹẹkọ, irufin Layer jẹ didamu eto abẹlẹ kan pẹlu koodu pidánpidán nitori diẹ ninu awọn anfani airi. Apẹẹrẹ iyalẹnu ti eyi ni imuse ti RAID-5 nipa lilo FS. Iru awọn solusan (RAID / LVM tirẹ ninu eto faili) pa igbehin ni awọn ofin ayaworan. O yẹ ki o tun ṣe akiyesi nibi pe irufin Layer jẹ “fi sori ṣiṣan” nipasẹ ọpọlọpọ iru awọn onijagidijagan tita. Ni isansa ti eyikeyi awọn imọran, iṣẹ ṣiṣe ti o ti pẹ ni imuse ni awọn ipele adugbo ti wa ni afikun si awọn ọna ṣiṣe, eyi ni a gbekalẹ bi ẹya tuntun ti o wulo pupọ ati titari ni itara.

Reiser4 ti fi ẹsun pe o ṣẹ awọn ipele “lati isalẹ”. Da lori otitọ pe eto faili kii ṣe monolithic, bii gbogbo awọn miiran, ṣugbọn apọjuwọn, a ṣe arosinu ti ko ni idaniloju pe o ṣe kini ipele ti o wa loke (VFS) yẹ ki o ṣe.

Ṣe o ṣee ṣe lati sọrọ nipa iku ReiserFS v3.6 ati, fun apẹẹrẹ, JFS? Laipẹ wọn ko fẹrẹ gba akiyesi ni mojuto. Ṣe wọn ti di arugbo bi?

Nibi a nilo lati ṣalaye kini iku ọja sọfitiwia tumọ si. Ni ọna kan, wọn ti lo ni ifijišẹ (eyi ni ohun ti a ṣẹda wọn fun, lẹhinna), eyi ti o tumọ si pe wọn n gbe. Ni apa keji, Emi ko le sọ fun JFS (Emi ko mọ pupọ), ṣugbọn ReiserFS (v3) jẹ gidigidi soro lati ṣe deede si awọn aṣa titun (idanwo ni iṣe). Eyi tumọ si pe ni ojo iwaju awọn olupilẹṣẹ yoo san ifojusi kii ṣe si, ṣugbọn si awọn ti o rọrun lati ṣe deede. Lati ẹgbẹ yii o wa ni pe, alas, o ti ku ni awọn ofin ti ayaworan. Emi kii yoo ṣe afọwọyi imọran ti “iwa ti ko tọ” rara. O kan daradara, fun apẹẹrẹ, si awọn aṣọ ipamọ, ṣugbọn kii ṣe si awọn ọja sọfitiwia. Erongba ti inferiority ati superiority wa ninu nkan kan. Mo le sọ ni pipe pe ReserFS v3 ti wa ni isalẹ si Reiser4 ninu ohun gbogbo, ṣugbọn ni diẹ ninu awọn iru iṣẹ ṣiṣe o ga ju gbogbo awọn FS ti oke miiran lọ.

Njẹ o mọ nipa idagbasoke FS Tux3 ati HAMMER/HAMMER2 (FS fun DragonFly BSD)?

Bẹẹni, a mọ. Ni Tux3 Mo nifẹ ni ẹẹkan si imọ-ẹrọ ti awọn aworan aworan wọn (awọn ti a pe ni “awọn itọkasi ẹya”), ṣugbọn ni Reiser4 a yoo ṣeese julọ ni ọna ti o yatọ. Mo ti n ronu nipa atilẹyin awọn snapshots fun igba pipẹ ati pe ko tii pinnu bi o ṣe le ṣe imuse wọn fun awọn iwọn didun Reiser4 ti o rọrun. Awọn otitọ ni wipe newfangled "ọlẹ" itọkasi counter ilana dabaa nipa Ohad Rodeh nikan ṣiṣẹ fun B-igi. A ko ni wọn. Fun awọn ẹya data wọnyẹn ti o lo ni Reiesr4, awọn iṣiro “ọlẹ” ko ni asọye - lati ṣafihan wọn, o jẹ dandan lati yanju awọn iṣoro algorithmic kan, eyiti ẹnikan ko gba sibẹsibẹ.

Gẹgẹbi HAMMER: Mo ka nkan kan lati ọdọ Eleda. Ko wunmi. Lẹẹkansi, B-igi. Eto data yii ko ni ireti. A kọ ọ silẹ ni ọgọrun ọdun sẹhin.

Bawo ni o ṣe ṣe ayẹwo ibeere ti ndagba fun iṣupọ nẹtiwọọki FSs bii CephFS/GlusterFS/ati bẹbẹ lọ? Njẹ ibeere yii tumọ si iyipada ninu awọn pataki ti awọn olupilẹṣẹ si ọna nẹtiwọọki FS ati akiyesi aipe si FS agbegbe?

Bẹẹni, iru iyipada ninu awọn ohun pataki ti ṣẹlẹ. Idagbasoke awọn ọna ṣiṣe faili agbegbe ti duro. Alas, ṣiṣe nkan pataki fun awọn ipele agbegbe jẹ bayi nira pupọ ati kii ṣe gbogbo eniyan le ṣe. Ko si eniti o fe lati nawo ni won idagbasoke. Eyi jẹ bii bibeere fun ajọ iṣowo kan lati pin owo fun iwadii mathematiki - laisi itara eyikeyi wọn yoo beere lọwọ rẹ bii o ṣe le ni owo lori imọ-jinlẹ tuntun kan. Bayi FS agbegbe kan jẹ nkan ti o han ni idan “lati inu apoti” ati “yẹ ki o ṣiṣẹ nigbagbogbo,” ati pe ti ko ba ṣiṣẹ, o fa kikùn ti a ko koju bi: “Bẹẹni, kini wọn nro!”

Nitorinaa aini akiyesi si FS agbegbe, botilẹjẹpe ọpọlọpọ iṣẹ tun wa ni agbegbe yẹn. Ati bẹẹni, gbogbo eniyan ti yipada si ibi ipamọ pinpin, eyiti a ṣe lori ipilẹ awọn eto faili agbegbe ti o wa tẹlẹ. O jẹ asiko pupọ ni bayi. Ọrọ naa “Data Nla” nfa iyara adrenaline fun ọpọlọpọ, ni idapọ pẹlu awọn apejọ, awọn idanileko, awọn owo osu nla, ati bẹbẹ lọ.

Bawo ni o ṣe jẹ oye ni ipilẹ lati ṣe eto faili nẹtiwọọki ni aaye ekuro kuku ju ni aaye olumulo?

Ọna ti o ni oye pupọ ti ko tii ṣe imuse nibikibi. Ni gbogbogbo, ibeere ti aaye wo ni eto faili nẹtiwọọki yẹ ki o ṣe imuse jẹ “idà oloju-meji.” O dara, jẹ ki a wo apẹẹrẹ kan. Onibara ṣe igbasilẹ data lori ẹrọ latọna jijin. Wọn ṣubu sinu kaṣe oju-iwe rẹ ni irisi awọn oju-iwe idọti. Eyi ni iṣẹ fun eto faili nẹtiwọọki “ẹnu-ọna tinrin” ni aaye ekuro. Lẹhinna ẹrọ ṣiṣe yoo pẹ tabi ya beere lọwọ rẹ lati kọ awọn oju-iwe yẹn si disk lati gba wọn laaye. Lẹhinna IO-fifiranṣẹ (fifiranṣẹ) nẹtiwọki FS module wa sinu ere. O pinnu iru ẹrọ olupin (ipin olupin) awọn oju-iwe wọnyi yoo lọ si.

Lẹhinna akopọ nẹtiwọọki gba (ati, bi a ti mọ, o ti ṣe imuse ni aaye ekuro). Nigbamii ti, ipade olupin gba apo-iwe naa pẹlu data tabi metadata ati ki o ṣe itọnisọna module ipamọ afẹyinti (ie, FS agbegbe ti o nṣiṣẹ ni aaye ekuro) lati ṣe igbasilẹ gbogbo nkan yii. Nitorinaa, a ti dinku ibeere naa si ibiti “fifiranṣẹ” ati “gbigba” awọn modulu yẹ ki o ṣiṣẹ. Ti eyikeyi ninu awọn modulu wọnyẹn ba ṣiṣẹ ni aaye olumulo, eyi yoo ṣaṣeyọri si iyipada ọrọ-ọrọ (nitori iwulo lati lo awọn iṣẹ ekuro). Nọmba ti iru awọn iyipada da lori awọn alaye imuse.

Ti ọpọlọpọ iru awọn iyipada ba wa, lẹhinna ibi-ipamọ ibi ipamọ (išẹ I/O) yoo dinku. Ti ibi ipamọ ẹhin rẹ jẹ ti awọn disiki ti o lọra, lẹhinna o kii yoo ṣe akiyesi idinku pataki kan. Ṣugbọn ti o ba ni awọn disiki ti o yara (SSD, NVRAM, ati bẹbẹ lọ), lẹhinna yiyipada ọrọ-ọrọ tẹlẹ ti di “bottleneck” ati, nipa fifipamọ lori iyipada ipo, iṣẹ le pọ si ni pataki. Ọna boṣewa lati ṣafipamọ owo ni lati gbe awọn modulu sinu aaye ekuro. Fun apẹẹrẹ, a rii pe gbigbe olupin 9p lati QEMU si ekuro lori ẹrọ agbalejo nyorisi ilosoke mẹta ni iṣẹ VirtFS.

Eyi, nitorinaa, kii ṣe nẹtiwọọki FS, ṣugbọn o ṣe afihan ipilẹ ti awọn nkan ni kikun. Isalẹ ti iṣapeye yii jẹ awọn ọran gbigbe. Fun diẹ ninu awọn, igbehin le jẹ pataki. Fun apẹẹrẹ, GlusterFS ko ni awọn modulu ninu ekuro rara. Ṣeun si eyi, o ṣiṣẹ bayi lori ọpọlọpọ awọn iru ẹrọ, pẹlu NetBSD.

Awọn ero wo ni awọn FS agbegbe le yawo lati awọn nẹtiwọọki ati ni idakeji?

Ni ode oni, awọn FS nẹtiwọki, gẹgẹbi ofin, ni awọn afikun lori awọn FS agbegbe, nitorina Emi ko loye pupọ bi o ṣe le yawo nkan lati igbehin. O dara, nitootọ, jẹ ki a ṣe akiyesi ile-iṣẹ ti awọn oṣiṣẹ 4, ninu eyiti gbogbo eniyan ṣe ohun ti ara wọn: ọkan pin kaakiri, ẹlomiiran firanṣẹ, kẹta gba, awọn ile itaja kẹrin. Ati ibeere naa, kini ile-iṣẹ naa le yawo lati ọdọ oṣiṣẹ rẹ ti o tọju rẹ, dun bakan ti ko tọ (o ti ni ohun ti o le ya lati ọdọ rẹ fun igba pipẹ).

Ṣugbọn awọn FS agbegbe ni ọpọlọpọ lati kọ ẹkọ lati awọn nẹtiwọọki. Ni akọkọ, o yẹ ki o kọ ẹkọ lati ọdọ wọn bi o ṣe le ṣajọpọ awọn iwọn ọgbọn ni ipele giga. Bayi ohun ti a npe ni Awọn ọna ṣiṣe faili agbegbe “ilọsiwaju” ṣajọpọ awọn iwọn ọgbọn ni iyasọtọ nipa lilo imọ-ẹrọ “ohun elo fojuhan” ti a yawo lati ọdọ LVM (o ṣẹ si aarun alakan kanna ti o jẹ imuse akọkọ ni ZFS). Ni awọn ọrọ miiran, itumọ ti awọn adirẹsi foju (awọn nọmba dina) sinu awọn gidi ati ẹhin waye ni ipele kekere (ie, lẹhin ti eto faili ti gbejade ibeere I/O).

Jọwọ ṣe akiyesi pe fifi kun ati yiyọ awọn ẹrọ si awọn iwọn ọgbọn (kii ṣe awọn digi) ti a ṣeto sori Layer Àkọsílẹ nyorisi awọn iṣoro ti awọn olupese iru “awọn ẹya” jẹ ipalọlọ niwọntunwọnsi nipa. Mo n sọrọ nipa pipin lori awọn ẹrọ gidi, eyiti o le de awọn iye ibanilẹru, lakoko ti o wa lori ẹrọ foju ohun gbogbo dara. Sibẹsibẹ, awọn eniyan diẹ ni o nifẹ si awọn ẹrọ foju: gbogbo eniyan nifẹ si ohun ti n ṣẹlẹ lori awọn ẹrọ gidi rẹ. Ṣugbọn ZFS-like FS (bakannaa eyikeyi FS ni apapo pẹlu LVM) ṣiṣẹ nikan pẹlu awọn ẹrọ disiki foju (pin awọn adirẹsi disiki foju lati laarin awọn ọfẹ, defragment awọn ẹrọ foju wọnyi, ati bẹbẹ lọ). Ati pe wọn ko ni imọran ohun ti n ṣẹlẹ lori awọn ẹrọ gidi!

Ni bayi fojuinu pe o ni ipin odo lori ẹrọ foju (iyẹn, o ni iwọn omiran kan ti o ngbe nibẹ), o ṣafikun disk kan si iwọn ọgbọn ọgbọn rẹ, lẹhinna yọ disiki ID miiran kuro ni iwọn ọgbọn ọgbọn rẹ lẹhinna tunṣe. Ati ki ọpọlọpọ igba. Ko ṣoro lati fojuinu pe lori ẹrọ foju iwọ yoo tun ni iye iye kanna, ṣugbọn lori awọn ẹrọ gidi iwọ kii yoo rii ohunkohun ti o dara.

Ohun ti o buru julọ ni pe iwọ ko paapaa ni anfani lati ṣatunṣe ipo yii! Ohun kan ṣoṣo ti o le ṣe nibi ni lati beere lọwọ eto faili lati defragment ẹrọ foju. Ṣugbọn o yoo sọ fun ọ pe ohun gbogbo jẹ nla nibẹ - iwọn kan wa, pipin jẹ odo, ati pe ko le dara julọ! Nitorinaa, awọn iwọn ọgbọn ti a ṣeto ni ipele bulọki ko ṣe ipinnu fun afikun / yiyọ awọn ẹrọ leralera. Ni ọna ti o dara, iwọ nikan nilo lati ṣajọ iwọn didun ọgbọn kan ni ipele bulọọki lẹẹkan, fun ni si eto faili, ati lẹhinna ṣe ohunkohun miiran pẹlu rẹ.

Ni afikun, apapo ti ominira FS + LVM subsystems ko gba laaye mu sinu iroyin awọn ti o yatọ iseda ti awọn drives lati eyi ti mogbonwa ipele ti wa ni kojopo. Lootọ, ṣebi o ti ṣajọ iwọn didun ọgbọn kan lati HDD ati awọn ẹrọ ipinlẹ to lagbara. Ṣugbọn lẹhinna ogbologbo yoo nilo idinku, ati igbehin kii yoo. Fun igbehin, o nilo lati fun awọn ibeere sisọnu, ṣugbọn fun iṣaaju, kii ṣe, ati bẹbẹ lọ. Sibẹsibẹ, ni apapo yii o nira pupọ lati ṣe afihan iru yiyan.

Ṣe akiyesi pe lẹhin ṣiṣẹda LVM tirẹ lori eto faili, ipo naa ko dara julọ. Pẹlupẹlu, nipa ṣiṣe eyi o fi opin si ifojusọna ti ilọsiwaju nigbagbogbo ni ọjọ iwaju. Eyi buru pupọ. Awọn oriṣiriṣi awọn awakọ le gbe lori ẹrọ kanna. Ati pe ti eto faili ko ba ṣe iyatọ laarin wọn, lẹhinna tani yoo?

Iṣoro miiran wa ni idaduro fun awọn ti a npe ni. Awọn ọna faili “Kọ-Nibikibi” (eyi tun pẹlu Reiser4, ti o ba ṣalaye awoṣe idunadura ti o yẹ lakoko oke). Iru awọn ọna ṣiṣe faili gbọdọ pese awọn irinṣẹ iparun ti o jẹ airotẹlẹ ninu agbara wọn. Ati oluṣakoso iwọn didun kekere ko ṣe iranlọwọ nibi, ṣugbọn nikan gba ni ọna. Otitọ ni pe pẹlu iru oluṣakoso kan, FS rẹ yoo tọju maapu ti awọn bulọọki ọfẹ ti ẹrọ kan nikan - foju kan. Gegebi bi, o le nikan defragment a foju ẹrọ. Eyi tumọ si pe defragmenter rẹ yoo ṣiṣẹ fun pipẹ, igba pipẹ lori aaye nla kan ti awọn adirẹsi foju.

Ati pe ti o ba ni ọpọlọpọ awọn olumulo ti n ṣe awọn atunkọ laileto, lẹhinna ipa ti o wulo ti iru defragmenter yoo dinku si odo. Eto rẹ yoo laiseaniani bẹrẹ lati fa fifalẹ, ati pe iwọ yoo ni lati ṣe agbo ọwọ rẹ nikan ni iwaju ayẹwo itiniloju “apẹrẹ fifọ”. Orisirisi awọn defragmenters nṣiṣẹ lori kanna aaye adirẹsi yoo nikan dabaru pẹlu kọọkan miiran. O jẹ ọrọ ti o yatọ patapata ti o ba ṣetọju maapu tirẹ ti awọn bulọọki ọfẹ fun ẹrọ gidi kọọkan. Eyi yoo ni imunadoko ni afiwe ilana ijẹkujẹ.

Ṣugbọn eyi le ṣee ṣe nikan ti o ba ni oluṣakoso iwọn didun ọgbọn ipele giga. Awọn eto faili agbegbe pẹlu iru awọn alakoso ko si tẹlẹ (o kere ju, Emi ko mọ nipa wọn). Awọn ọna ṣiṣe faili nẹtiwọki nikan (fun apẹẹrẹ GlusterFS) ni iru awọn alakoso. Apeere pataki miiran ni iṣayẹwo iyege iwọn didun (fsck) IwUlO. Ti o ba tọju maapu ominira ti ara rẹ ti awọn bulọọki ọfẹ fun ipin-ipin kọọkan, lẹhinna ilana fun ṣayẹwo iwọn didun ọgbọn kan le ṣe afiwe ni imunadoko. Ni awọn ọrọ miiran, awọn ipele ọgbọn pẹlu iwọn awọn alakoso ipele giga dara julọ.

Ni afikun, pẹlu awọn oluṣakoso iwọn didun kekere iwọ kii yoo ni anfani lati ṣeto awọn ifaworanhan ni kikun. Pẹlu LVM ati ZFS-bii awọn ọna ṣiṣe faili, o le ya awọn aworan agbegbe nikan, ṣugbọn kii ṣe awọn aworan aworan agbaye. Awọn fọto agbegbe gba ọ laaye lati yi pada lesekese awọn iṣẹ ṣiṣe faili deede nikan. Ati pe ko si ẹnikan ti yoo yi awọn iṣẹ pada pẹlu awọn iwọn ọgbọn (fikun / yiyọ awọn ẹrọ). Jẹ ki a wo eyi pẹlu apẹẹrẹ. Ni aaye kan ni akoko, nigba ti o ba ni iwọn ọgbọn ọgbọn ti awọn ẹrọ meji A ati B ti o ni awọn faili 100, o ya aworan ti eto S ati lẹhinna ṣẹda awọn faili ọgọrun miiran.

Lẹhin iyẹn, o ṣafikun ẹrọ C si iwọn didun rẹ, ati nikẹhin yi pada eto rẹ si aworan aworan S. Ibeere: Awọn faili melo ati awọn ẹrọ ni iwọn didun ọgbọn rẹ ni lẹhin ti yi pada si S? Awọn faili 100 yoo wa, bi o ti le ṣe akiyesi, ṣugbọn awọn ẹrọ 3 yoo wa - iwọnyi ni awọn ẹrọ kanna A, B ati C, botilẹjẹpe ni akoko ti a ṣẹda fọtoyiya awọn ẹrọ meji nikan ni o wa ninu eto (A ati B). ). Iṣe afikun ẹrọ C ko yi pada, ati pe ti o ba yọ ẹrọ C kuro ni kọnputa, yoo ba data rẹ jẹ, nitorinaa ṣaaju ki o to paarẹ iwọ yoo nilo lati kọkọ ṣe iṣẹ ṣiṣe gbowolori lati yọ ẹrọ naa kuro ni iwọntunwọnsi iwọntunwọnsi, eyiti yoo tuka gbogbo data lati ẹrọ C si awọn ẹrọ A ati B. Ṣugbọn ti FS rẹ ba ṣe atilẹyin awọn aworan agbaye, iru iwọntunwọnsi kii yoo nilo, ati lẹhin yiyi lẹsẹkẹsẹ si S, o le yọ ẹrọ C kuro lailewu.

Nitorinaa, awọn aworan aworan agbaye dara nitori pe wọn gba ọ laaye lati yago fun yiyọkuro idiyele (fifi) ẹrọ kan lati iwọn iwọn ọgbọn (si iwọn didun ọgbọn) pẹlu iye nla ti data (dajudaju, ti o ba ranti lati “fifọ” eto rẹ ni akoko to tọ). Jẹ ki n ran ọ leti pe ṣiṣẹda awọn aworan aworan ati yiyi eto faili pada si wọn jẹ awọn iṣẹ lẹsẹkẹsẹ. Ibeere naa le dide: bawo ni paapaa ṣe ṣee ṣe lati yi iṣẹ kan pada lẹsẹkẹsẹ lori iwọn ọgbọn ti o gba ọ ni ọjọ mẹta? Ṣugbọn o ṣee ṣe! Pese pe eto faili rẹ jẹ apẹrẹ ti o tọ. Mo wa pẹlu imọran iru “awọn aworan 3D” ni ọdun mẹta sẹhin, ati ni ọdun to kọja Mo ṣe itọsi ilana yii.

Ohun ti o tẹle ti awọn FS agbegbe yẹ ki o kọ ẹkọ lati awọn nẹtiwọki nẹtiwọki ni lati tọju metadata lori awọn ẹrọ ọtọtọ ni ọna kanna ti awọn nẹtiwọki FS ṣe ipamọ wọn lori awọn ẹrọ ọtọtọ (awọn ti a npe ni awọn olupin metadata). Awọn ohun elo wa ti o ṣiṣẹ ni akọkọ pẹlu metadata, ati pe awọn ohun elo wọnyi le ni isare pupọ nipa gbigbe metadata sori awọn ẹrọ ibi ipamọ iṣẹ ṣiṣe giga gbowolori. Pẹlu apapọ FS + LVM, iwọ kii yoo ni anfani lati ṣafihan iru yiyan: LVM ko mọ ohun ti o wa lori bulọki ti o kọja si (data nibẹ tabi metadata).

Iwọ kii yoo ni anfani pupọ lati imuse LVM kekere ti ara rẹ ni FS ni akawe si apapo FS + LVM, ṣugbọn ohun ti o le ṣe dara julọ jẹ clutter FS ki nigbamii o di soro lati ṣiṣẹ pẹlu koodu rẹ. ZFS ati Btrfs, eyiti o yara pẹlu awọn ẹrọ foju, gbogbo jẹ apẹẹrẹ ti o han gbangba ti bii irufin Layer ṣe n pa eto naa ni awọn ofin ayaworan, nitorinaa, kilode ti MO ṣe gbogbo eyi? Pẹlupẹlu, ko si iwulo lati fi LVM ipele kekere tirẹ sinu eto faili naa. Dipo, o nilo lati ṣajọpọ awọn ẹrọ sinu awọn iwọn ọgbọn ni ipele giga, bi diẹ ninu awọn ọna ṣiṣe faili nẹtiwọki ṣe pẹlu awọn ero oriṣiriṣi (awọn apa ibi ipamọ). Otitọ, wọn ṣe eyi ni irira nitori lilo awọn algoridimu buburu.

Awọn apẹẹrẹ ti awọn algoridimu ti o buruju ni onitumọ DHT ninu eto faili GlusterFS ati eyiti a pe ni maapu CRUSH ninu eto faili Ceph. Ko si ọkan ninu awọn algoridimu ti Mo rii ni itẹlọrun mi ni awọn ofin ti ayedero ati iwọn ti o dara. Nitorina ni mo ni lati ranti algebra ki o si ṣe ohun gbogbo funrarami. Ni ọdun 2015, lakoko ti n ṣe idanwo pẹlu awọn edidi lori awọn iṣẹ hash, Mo wa pẹlu ati ṣe itọsi nkan ti o baamu fun mi. Bayi Mo le sọ pe igbiyanju lati fi gbogbo eyi si iṣe jẹ aṣeyọri. Emi ko rii awọn iṣoro eyikeyi pẹlu scalability ni ọna tuntun.

Bẹẹni, ipin-ipo kọọkan yoo nilo eto ti o yatọ gẹgẹbi idinamọ nla ni iranti. Ṣe eyi jẹ ẹru pupọ? Ni gbogbogbo, Emi ko mọ ẹni ti yoo “ṣe okun” ati ṣẹda awọn iwọn ọgbọn ti awọn ọgọọgọrun egbegberun tabi awọn ẹrọ diẹ sii lori ẹrọ agbegbe kan. Ti ẹnikẹni ba le ṣalaye eyi fun mi, Emi yoo dupẹ pupọ. Lakoko, fun mi eyi jẹ bullshit tita ọja.

Bawo ni awọn ayipada ninu ekuro Àkọsílẹ ẹrọ subsystem (fun apẹẹrẹ, hihan blk-mq) ni ipa awọn ibeere fun imuse FS?

Wọn ko ni ipa kankan. Emi ko mọ ohun ti yoo ṣẹlẹ lori Layer Àkọsílẹ ti yoo jẹ ki o ṣe pataki lati ṣe apẹrẹ FS tuntun kan. Ibaraẹnisọrọ ibaraenisepo ti awọn ọna ṣiṣe abẹlẹ wọnyi ko dara pupọ. Lati ẹgbẹ awakọ, FS yẹ ki o ni ipa nikan nipasẹ hihan ti awọn iru awakọ tuntun, eyiti yoo ṣe atunṣe Layer Àkọsílẹ akọkọ, ati lẹhinna FS (fun reiser4 eyi yoo tumọ si hihan ti awọn afikun tuntun).

Ṣe ifarahan awọn iru media tuntun (fun apẹẹrẹ, SMR, tabi ibigbogbo ti awọn SSDs) tumọ si awọn italaya tuntun fun apẹrẹ eto faili bi?

Bẹẹni. Ati pe iwọnyi jẹ awọn iwuri deede fun idagbasoke FS. Awọn italaya le yatọ ati airotẹlẹ patapata. Fun apẹẹrẹ, Mo ti gbọ ti awọn awakọ nibiti iyara iṣẹ I/O kan da lori iwọn nkan ti data ati aiṣedeede rẹ. Ni Lainos, nibiti iwọn bulọọki FS ko le kọja iwọn oju-iwe, iru awakọ kan kii yoo ṣafihan awọn agbara kikun rẹ nipasẹ aiyipada. Sibẹsibẹ, ti eto faili rẹ ba jẹ apẹrẹ ni deede, lẹhinna aye wa lati gba pupọ diẹ sii ninu rẹ.

Eniyan melo lo n ṣiṣẹ lọwọlọwọ pẹlu koodu Reiser4 lẹgbẹẹ rẹ?

Kere ju Emi yoo fẹ, ṣugbọn Emi ko ni iriri aito awọn orisun boya. Mo ni itẹlọrun diẹ sii pẹlu iyara ti idagbasoke ti Reiser4. Emi kii yoo “wa awọn ẹṣin” - eyi kii ṣe agbegbe ti o tọ. Nibi, “ti o ba wakọ diẹ sii ni idakẹjẹ, iwọ yoo tẹsiwaju!” Eto faili ode oni jẹ eto inu ekuro ti o nira julọ, awọn ipinnu apẹrẹ ti ko tọ ti eyiti o le ṣe atunṣe awọn ọdun to tẹle ti iṣẹ eniyan.

Nipa fifun awọn oluyọọda lati ṣe nkan kan, Mo ṣe iṣeduro nigbagbogbo pe awọn akitiyan yoo dajudaju ja si abajade to pe, eyiti o le wa ni ibeere fun awọn iwulo to ṣe pataki. Bi o ṣe yeye, ko le jẹ ọpọlọpọ iru awọn iṣeduro ni ẹẹkan. Ni akoko kanna, Emi ko le duro “awọn isiro” ti o ṣe agbega laisi itiju ni igbega “awọn ẹya” ti sọfitiwia ti ko ṣee lo, titan awọn ọgọọgọrun awọn olumulo ati awọn olupilẹṣẹ jẹ, ati ni akoko kanna joko ati rẹrin musẹ ni awọn apejọ kernel.

Njẹ ile-iṣẹ eyikeyi ti ṣe afihan ifẹ lati ṣe atilẹyin idagbasoke ti Reiser4?

Bẹẹni, iru awọn igbero wa, pẹlu. ati lati kan pataki ataja. Ṣugbọn fun eyi Mo ni lati lọ si orilẹ-ede miiran. Laanu, Emi ko ni ọdun 30 mọ, Emi ko le ya kuro ki o lọ kuro bii iyẹn ni súfèé akọkọ.

Awọn ẹya wo ni o nsọnu lọwọlọwọ lati Reiser4?

Ko si iṣẹ “iwọn” fun awọn iwọn didun ti o rọrun, iru si eyiti a rii ni ReiserFS(v3). Ni afikun, awọn iṣẹ ṣiṣe faili pẹlu asia DIRECT_IO kii yoo ṣe ipalara. Nigbamii ti, Emi yoo fẹ lati ni anfani lati pin iwọn didun kan si “awọn ipin-itumọ atunmọ”, eyiti ko ni iwọn ti o wa titi, ati eyiti o le gbe bi awọn ipele ominira. Awọn iṣoro wọnyi dara fun awọn olubere ti o fẹ gbiyanju ọwọ wọn ni “ohun gidi.”

Ati nikẹhin, Emi yoo fẹ lati ni awọn ipele ọgbọn nẹtiwọki pẹlu imuse ti o rọrun ati iṣakoso (algoridimu ode oni ti gba eyi laaye). Ṣugbọn kini Reiser4 kii yoo ni dajudaju RAID-Z, awọn fifọ, awọn caches aaye ọfẹ, awọn oniyipada 128-bit ati ọrọ isọkusọ titaja miiran ti o dide lodi si ẹhin aito awọn imọran laarin awọn olupilẹṣẹ ti diẹ ninu awọn eto faili.

Njẹ ohun gbogbo ti o le nilo ni imuse nipasẹ awọn afikun?

Ti a ba sọrọ nikan ni awọn ọna ti awọn atọkun ati awọn afikun (awọn modulu) ti o ṣe wọn, lẹhinna kii ṣe ohun gbogbo. Ṣugbọn ti o ba tun ṣafihan awọn ibatan lori awọn atọkun wọnyi, lẹhinna, ninu awọn ohun miiran, iwọ yoo ni awọn imọran ti awọn polymorphisms ti o ga julọ, eyiti o le gba tẹlẹ pẹlu. Foju inu wo pe o di airotẹlẹ eto asiko-akoko ohun kan, yi iye ti itọka itọnisọna lati tọka si ohun itanna miiran ti o ṣe imuse wiwo X kanna, ati lẹhinna yọkuro eto naa ki o tẹsiwaju ṣiṣe.

Ti olumulo ipari ko ba ṣe akiyesi iru “iyipada,” lẹhinna a sọ pe eto naa ni polymorphism-aṣẹ odo ni wiwo X (tabi eto naa jẹ oriṣiriṣi ni wiwo X, eyiti o jẹ ohun kanna). Ti o ba ni bayi o ko ni eto awọn atọkun nikan, ṣugbọn tun ni awọn ibatan lori wọn (aworan atọka wiwo), lẹhinna o le ṣafihan awọn polymorphisms ti awọn aṣẹ ti o ga julọ, eyiti yoo ṣe afihan iyatọ ti eto tẹlẹ ni “agbegbe” ti eyikeyi wiwo. Mo ṣe agbekalẹ iru ipinya ni igba pipẹ sẹhin, ṣugbọn, laanu, ko ṣẹlẹ rara.

Nitorina, pẹlu iranlọwọ ti awọn afikun ati iru awọn polymorphisms ti o ga julọ, o le ṣe apejuwe eyikeyi ẹya ti a mọ, bakannaa "sọtẹlẹ" awọn ti a ko ti sọ tẹlẹ. Emi ko ni anfani lati fi idi eyi mulẹ muna, ṣugbọn Emi ko tun mọ ti apẹẹrẹ atako sibẹsibẹ. Ni gbogbogbo, ibeere yii leti mi nipa “Eto Erlangen” ti Felix Klein. Ni akoko kan o gbiyanju lati ṣe aṣoju gbogbo geometry gẹgẹbi ẹka ti algebra (ni pato, ẹkọ ẹgbẹ).

Bayi si ibeere akọkọ - bawo ni awọn nkan ṣe n lọ pẹlu igbega ti Reiser4 si ipilẹ akọkọ? Njẹ awọn atẹjade eyikeyi wa lori faaji ti eto faili yii ti o sọrọ nipa rẹ ninu ifọrọwanilẹnuwo to kẹhin? Bawo ni ibeere yii ṣe yẹ lati oju iwo rẹ?

Ni gbogbogbo, a ti n beere fun ifisi ni ẹka akọkọ fun ọdun mẹta. Ọrọ asọye Reiser ti o kẹhin ni okun gbangba nibiti o ti ṣe ibeere fifa naa ko ni idahun. Nitorinaa gbogbo awọn ibeere siwaju kii ṣe fun wa. Emi tikalararẹ ko loye idi ti a nilo lati “darapọ” sinu ẹrọ ṣiṣe kan pato. Lori Lainos, ina naa ko ṣajọpọ bi wedge. Nitorinaa, ibi ipamọ lọtọ wa ninu eyiti ọpọlọpọ awọn ebute oko-ẹka yoo wa fun awọn OS oriṣiriṣi. Ẹnikẹni ti o nilo rẹ le ṣe oniye ibudo ti o baamu ki o ṣe ohunkohun ti o fẹ pẹlu rẹ (laarin iwe-aṣẹ, dajudaju). O dara, ti ẹnikan ko ba nilo rẹ, lẹhinna kii ṣe iṣoro mi. Ni aaye yii, Mo daba lati gbero ibeere ti “igbega sinu ekuro Linux akọkọ” bi a ti yanju.

Awọn atẹjade lori faaji FS ṣe pataki, ṣugbọn titi di isisiyi Mo ti rii akoko nikan fun awọn abajade tuntun mi, eyiti Mo ro pe o jẹ pataki ti o ga julọ. Ohun miiran ni pe Mo jẹ mathimatiki, ati ninu mathimatiki eyikeyi atẹjade jẹ akopọ awọn imọ-jinlẹ ati awọn ẹri wọn. Titẹjade ohunkohun nibẹ laisi ẹri jẹ ami ti itọwo buburu. Ti MO ba jẹri ni kikun tabi ṣalaye alaye eyikeyi nipa faaji ti FS, lẹhinna abajade yoo jẹ iru awọn akopọ ti yoo nira pupọ lati gba. Tani o nilo rẹ? Eyi ṣee ṣe idi ti ohun gbogbo n tẹsiwaju lati wa ni fọọmu atijọ rẹ - koodu orisun ati awọn asọye si rẹ.

Kini tuntun ni Reiser4 ni awọn ọdun diẹ sẹhin?

Iduroṣinṣin ti a ti nreti ti o ti pẹ ti bajẹ. Ọkan ninu awọn ti o kẹhin lati han ni kokoro kan ti o yori si awọn ilana “aifipalẹ”. Iṣoro naa ni pe o han nikan lodi si abẹlẹ ti awọn ijamba hash orukọ ati pẹlu ipo kan ti awọn igbasilẹ ilana ni ipade igi kan. Sibẹsibẹ, Emi ko tun le ṣeduro Reiser4 fun iṣelọpọ: fun eyi o nilo lati ṣe diẹ ninu awọn iṣẹ pẹlu ibaraenisepo lọwọ pẹlu awọn oludari eto iṣelọpọ.

Nikẹhin a ṣakoso lati ṣe imuse ero igba pipẹ wa - awọn awoṣe iṣowo oriṣiriṣi. Ni iṣaaju, Reiser4 nikan nṣiṣẹ awoṣe Macdonald-Reiser hardcoded kan. Eyi ṣẹda awọn iṣoro apẹrẹ. Ni pataki, awọn aworan ifaworanhan ko ṣee ṣe ni iru awoṣe iṣowo - wọn yoo bajẹ nipasẹ paati atomiki ti a pe ni “OVERWRITE SET”. Reiser4 Lọwọlọwọ ṣe atilẹyin awọn awoṣe idunadura mẹta. Ninu ọkan ninu wọn (Kọ-Nibikibi), paati atomiki OVERWRITE SET pẹlu awọn oju-iwe eto nikan (awọn aworan ti awọn bitmaps disk, bbl), eyiti a ko le “ya aworan” (iṣoro adie ati ẹyin).

Nitorinaa awọn aworan le ni imuse ni ọna ti o dara julọ. Ninu awoṣe iṣowo miiran, gbogbo awọn oju-iwe ti a tunṣe lọ nikan si SET OVERWRITE (iyẹn ni, o jẹ pataki akọọlẹ mimọ). Awoṣe yii jẹ fun awọn ti o rojọ nipa pipin iyara ti awọn ipin Reiser4. Bayi ni awoṣe yii ipin rẹ kii yoo yara ni iyara ju pẹlu ReiserFS (v3). Gbogbo awọn awoṣe mẹta ti o wa tẹlẹ, pẹlu diẹ ninu awọn ifiṣura, ṣe iṣeduro atomity ti awọn iṣẹ, ṣugbọn awọn awoṣe pẹlu isonu ti atomity ati titọju iduroṣinṣin ti apakan nikan tun le wulo. Iru awọn awoṣe le wulo fun gbogbo iru awọn ohun elo (awọn apoti isura infomesonu, bbl), eyiti o ti mu diẹ ninu awọn iṣẹ wọnyi tẹlẹ. O rọrun pupọ lati ṣafikun awọn awoṣe wọnyi si Reiser4, ṣugbọn Emi ko ṣe, nitori ko si ẹnikan ti o beere lọwọ mi, ati pe Emi tikalararẹ ko nilo rẹ.

Awọn ayẹwo ayẹwo metadata han ati pe Mo ṣe afikun wọn laipẹ pẹlu awọn digi “aje” (ohun elo ti ko duro). Ti o ba ti checksum ti eyikeyi Àkọsílẹ kuna, Reiser4 lẹsẹkẹsẹ kika awọn ti o baamu Àkọsílẹ lati awọn ajọra ẹrọ. Ṣe akiyesi pe ZFS ati Btrfs ko le ṣe eyi: apẹrẹ ko gba laaye. Nibẹ ni o gbọdọ ṣiṣe pataki kan lẹhin Antivirus ilana ti a npe ni "scrub" ati ki o duro fun o lati gba lati awọn iṣoro Àkọsílẹ. Awọn olupilẹṣẹ ni lọna iṣapẹẹrẹ pe iru awọn iṣẹlẹ bẹẹ ni “awọn crutches.”

Ati nikẹhin, awọn ipele ọgbọn oriṣiriṣi ti han, ti o funni ni ohun gbogbo ti ZFS, Btrfs, Layer block, bi daradara bi awọn akojọpọ FS + LVM ni ipilẹ ko le pese - irẹjẹ afiwera, O (1) olutọpa adirẹsi disiki, ijira data sihin laarin awọn ipin-ipin. Awọn igbehin tun ni wiwo olumulo. Bayi o le ni rọọrun gbe data to gbona julọ si awakọ iṣẹ ṣiṣe ti o ga julọ lori iwọn didun rẹ.

Ni afikun, o ṣee ṣe lati fọ eyikeyi awọn oju-iwe idọti ni iyara si iru awakọ kan, nitorinaa iyara awọn ohun elo ni pataki ti o nigbagbogbo pe fsync(2). Mo ṣe akiyesi pe iṣẹ ṣiṣe Layer Layer, ti a pe ni bcache, ko pese iru ominira iṣe rara. Awọn ipele ọgbọn tuntun da lori awọn algoridimu mi (awọn itọsi ti o baamu wa). Sọfitiwia naa ti jẹ iduroṣinṣin tẹlẹ, o ṣee ṣe pupọ lati gbiyanju rẹ, wiwọn iṣẹ ṣiṣe, ati bẹbẹ lọ. Irọrun nikan ni pe fun bayi o nilo lati ṣe imudojuiwọn iṣeto iwọn didun pẹlu ọwọ ki o tọju si ibikan.

Titi di isisiyi Mo ti ni anfani lati ṣe imuse awọn imọran mi nipasẹ 10 ogorun. Sibẹsibẹ, Mo ti ṣaṣeyọri ninu ohun ti Mo ro pe ohun ti o nira julọ - sisopọ awọn ipele ọgbọn pẹlu ilana filasi ti o ṣe gbogbo awọn iṣe ti a da duro ni reiser4. Eyi tun wa ni ẹka “format41” esiperimenta.

Ṣe Reiser4 kọja xfstests?

O kere ju o ṣe fun mi nigbati mo ngbaradi idasilẹ ti o kẹhin.

Ṣe o ṣee ṣe ni ipilẹ lati ṣe Reiser4 nẹtiwọọki (iṣupọ) FS ni lilo awọn afikun?

O ṣee ṣe, ati paapaa pataki! Ti o ba ṣẹda faili nẹtiwọọki kan ti o da lori eto faili agbegbe ti a ṣe daradara, abajade yoo jẹ iwunilori pupọ! Ni awọn FSs nẹtiwọọki ode oni, Emi ko ni itẹlọrun pẹlu wiwa ti ipele ibi-itọju ẹhin, eyiti a ṣe imuse nipa lilo eyikeyi FS agbegbe. Awọn aye ti yi ipele jẹ patapata unjustified. Nẹtiwọọki FS gbọdọ ṣe ajọṣepọ taara pẹlu Layer Àkọsílẹ, ati pe ko beere FS agbegbe lati ṣẹda awọn faili iṣẹ miiran!

Ni gbogbogbo, pinpin awọn ọna ṣiṣe faili si agbegbe ati nẹtiwọọki jẹ lati ibi. O dide lati aipe ti awọn algoridimu ti a lo ọgbọn ọdun sẹyin, ati ni aaye eyiti ko si nkan ti a ti dabaa sibẹsibẹ. Eyi tun jẹ idi fun ifarahan ti ọpọlọpọ awọn paati sọfitiwia ti ko wulo (awọn iṣẹ oriṣiriṣi, ati bẹbẹ lọ). Ni ọna ti o dara, FS kan yẹ ki o wa ni irisi module ekuro ati ṣeto awọn ohun elo olumulo ti a fi sori ẹrọ kọọkan - ipade iṣupọ kan. FS yii jẹ agbegbe ati nẹtiwọọki mejeeji. Ati ohunkohun siwaju sii!

Ti ko ba si nkan ti o ṣiṣẹ pẹlu Reiser4 lori Lainos, Emi yoo fẹ lati funni ni FS kan fun FreeBSD (ọrọ lati ifọrọwanilẹnuwo iṣaaju: “...FreeBSD… ni awọn gbongbo ẹkọ… Ati pe eyi tumọ si pe pẹlu iwọn giga ti iṣeeṣe a yoo wa ede ti o wọpọ pẹlu awọn olupilẹṣẹ”)?

Nitorinaa, bi a ti rii tẹlẹ, ohun gbogbo ti ṣiṣẹ ni pipe pẹlu Lainos: ibudo Reiser4 ti o lọtọ wa fun u ni irisi ẹka titunto si ti ibi ipamọ wa. Emi ko gbagbe nipa FreeBSD! Ìfilọ! Mo ti ṣetan lati ṣiṣẹ ni pẹkipẹki pẹlu awọn ti o mọ inu ti FreeBSD daradara. Nipa ọna: ohun ti Mo fẹran gaan nipa agbegbe wọn ni pe awọn ipinnu ti o wa nibẹ ni a ṣe nipasẹ igbimọ imudojuiwọn ti awọn amoye ominira, eyiti ko ni nkankan lati ṣe pẹlu ẹtan ijọba ti eniyan ti o duro lailai.

Bawo ni o ṣe ṣe oṣuwọn agbegbe olumulo Linux loni? Njẹ o ti di “pop” diẹ sii?

Fi fun iru iṣẹ mi, o ṣoro pupọ fun mi lati ṣe ayẹwo eyi. Pupọ julọ awọn olumulo wa si mi pẹlu awọn ijabọ kokoro ati awọn ibeere lati ṣatunṣe apakan naa. Awọn olumulo bi olumulo. Diẹ ninu awọn ni o wa siwaju sii sawy, diẹ ninu awọn kere. Bakanna ni a tọju gbogbo eniyan. O dara, ti olumulo ba kọju awọn ilana mi, lẹhinna ṣagbe fun mi: aṣẹ aibikita yoo wa ni titẹ si apakan mi paapaa.

Ṣe o ṣee ṣe lati ṣe asọtẹlẹ idagbasoke awọn ọna ṣiṣe faili fun ọdun marun si mẹwa to nbọ? Kini o ro pe awọn italaya akọkọ ti awọn olupilẹṣẹ FS le dojuko?

Bẹẹni, ko nira lati ṣe iru asọtẹlẹ bẹẹ. Ko si idagbasoke awọn ọna ṣiṣe faili ni oke fun igba pipẹ. Nikan irisi iru bẹ ni a ṣẹda. Awọn olupilẹṣẹ ti awọn eto faili agbegbe ran sinu awọn iṣoro ti o ni nkan ṣe pẹlu apẹrẹ ti ko dara. Ikilọ kan nilo lati ṣe nibi. Emi ko ṣe akiyesi ohun ti a pe ni “ipamọ”, “fifenula” ati gbigbe koodu lati jẹ idagbasoke ati idagbasoke. Ati pe Emi ko ṣe iyatọ awọn aiyede ti a npe ni "Btrfs" gẹgẹbi idagbasoke fun awọn idi ti mo ti ṣalaye tẹlẹ.

Patch kọọkan nikan jẹ ki awọn iṣoro rẹ buru si. O dara. oríṣiríṣi “ajíhìnrere” sì máa ń wà nígbà gbogbo tí “ohun gbogbo ń ṣiṣẹ́” fún. Ni ipilẹ, iwọnyi jẹ awọn ọmọ ile-iwe ati awọn ọmọ ile-iwe ti n fo awọn ikowe. O kan fojuinu: o ṣiṣẹ fun u, ṣugbọn ọjọgbọn ko ṣe. Kini iyara adrenaline ti eyi jẹ! Lati oju-ọna mi, ipalara ti o tobi julọ ni o ṣẹlẹ nipasẹ “awọn oniṣọna” ti o yara lati fi itara “dabalẹ” awọn ẹya iyalẹnu ti Btrfs sori gbogbo iru awọn fẹlẹfẹlẹ bii systemd, docker, ati bẹbẹ lọ. - eyi ti dabi awọn metastases tẹlẹ.

Jẹ ki a gbiyanju bayi lati ṣe asọtẹlẹ fun ọdun marun si mẹwa. Mo ti ṣe atokọ ni ṣoki ohun ti a yoo ṣe ni Reiser4. Ipenija akọkọ fun awọn olupilẹṣẹ FS agbegbe lati oke yoo jẹ (bẹẹni, o ti di tẹlẹ) ailagbara lati ṣe iṣẹ to bojumu fun owo-osu. Laisi awọn imọran eyikeyi ni aaye ti ipamọ data, wọn yoo tẹsiwaju lati gbiyanju lati patch wọnyi VFS lailoriire, XFS ati ext4. Awọn ipo pẹlu VFS wulẹ paapa apanilerin lodi si yi lẹhin, reminiscent ti frenzied olaju ti a ounjẹ ninu eyi ti nibẹ ni o wa ti ko si awọn olounjẹ, ko si si awọn olounjẹ ti wa ni o ti ṣe yẹ.

Bayi koodu VFS, laisi awọn ipo eyikeyi, tiipa ọpọlọpọ awọn oju-iwe iranti ni akoko kanna ati pe FS ti o wa ni abẹlẹ lati ṣiṣẹ lori wọn. Eyi ni a ṣe lati mu ilọsiwaju iṣẹ Ext4 ṣiṣẹ lori awọn iṣẹ piparẹ, ṣugbọn bi o ti rọrun lati ni oye, iru titiipa nigbakanna jẹ ibamu patapata pẹlu awọn awoṣe idunadura ilọsiwaju. Iyẹn ni, iwọ kii yoo ni anfani lati ṣafikun atilẹyin nirọrun fun diẹ ninu eto faili ọlọgbọn ninu ekuro. Emi ko mọ kini ipo naa wa ni awọn agbegbe miiran ti Lainos, ṣugbọn bi o ṣe jẹ pe awọn eto faili jẹ fiyesi, eyikeyi idagbasoke nibi ko ṣeeṣe lati ni ibamu pẹlu eto imulo ti Torvalds lepa ni iṣe (awọn iṣẹ akanṣe ile-ẹkọ ti gba jade, ati awọn scammers ti ni ko ni agutan ohun ti a B-igi , ailopin kirediti ti igbekele ti wa ni ti oniṣowo). Nitorinaa, a ṣeto ipa-ọna kan fun ibajẹ lọra. Nitoribẹẹ, wọn yoo gbiyanju pẹlu gbogbo agbara wọn lati kọja bi “idagbasoke”.

Siwaju sii, awọn “olutọju” ti awọn ọna ṣiṣe faili, ni mimọ pe o ko le jo'gun pupọ lati “ipamọ” nikan, yoo gbiyanju ọwọ wọn ni iṣowo ti o ni ere diẹ sii. Iwọnyi jẹ, gẹgẹbi ofin, awọn ọna ṣiṣe faili ti a pin kaakiri ati agbara ipa. Boya wọn yoo gbe ZFS asiko si ibomiiran nibiti ko si sibẹsibẹ. Ṣugbọn o, gẹgẹbi gbogbo FS lati oke, o dabi igi Ọdun Titun: ti o ba le gbe awọn ohun kekere diẹ sii lori oke, lẹhinna o ko le jinlẹ. Mo gba pe o ṣee ṣe lati kọ eto ile-iṣẹ pataki kan ti o da lori ZFS, ṣugbọn niwọn bi a ti n jiroro ni ọjọ iwaju, Mo le ni ibanujẹ nikan pe ZFS ko ni ireti ni ọran yii: pẹlu awọn ẹrọ foju wọn, awọn eniyan ti ge atẹgun kuro. fun ara wọn ati awọn iran iwaju fun idagbasoke siwaju sii. ZFS jẹ ohun ti o ti kọja. Ati ext4 ati XFS kii ṣe paapaa ọjọ ṣaaju lana.

O tọ lati darukọ lọtọ nipa imọran ifarabalẹ ti “Eto faili Linux ti iran ti nbọ”. Eyi jẹ iṣẹ iṣelu patapata ati titaja ti a ṣẹda fun aye, nitorinaa lati sọ, si “pin ọjọ iwaju ti awọn ọna ṣiṣe faili” ni Linux lẹhin awọn ohun kikọ kan pato. Otitọ ni pe Linux lo lati jẹ “fun igbadun nikan”. Ṣugbọn nisisiyi o jẹ nipataki ẹrọ ṣiṣe owo. Wọn ti wa ni ṣe lori ohun gbogbo ti ṣee. Fun apẹẹrẹ, o ṣoro pupọ lati ṣẹda ọja sọfitiwia ti o dara, ṣugbọn “awọn olupilẹṣẹ” ọlọgbọn ti pẹ ti rii pe ko si iwulo lati igara rara: o le ṣaṣeyọri ta sọfitiwia ti ko si tẹlẹ ti o kede ati igbega ni gbogbo iru ti gbogbo eniyan. awọn iṣẹlẹ - ohun akọkọ ni pe awọn ifaworanhan igbejade yẹ ki o ni awọn “awọn ẹya” diẹ sii.

Awọn ọna ṣiṣe faili jẹ pipe fun eyi, nitori o le ṣe idunadura lailewu fun ọdun mẹwa lori abajade. O dara, ti ẹnikan ba kerora nigbamii nipa aini abajade yii, lẹhinna o rọrun ko loye ohunkohun nipa awọn eto faili! Eyi jẹ iranti ti jibiti owo kan: ni oke ni awọn alarinrin ti o bẹrẹ idotin yii, ati awọn diẹ ti o jẹ “orire”: wọn “yọkuro awọn ipin,” i.e. gba owo fun idagbasoke, gba iṣẹ ti o sanwo daradara bi awọn alakoso, "fi han" ni awọn apejọ, ati bẹbẹ lọ.

Nigbamii ti o wa awọn ti ko ni orire: wọn yoo ka awọn adanu, koju awọn abajade ti gbigbe ọja sọfitiwia ti ko ṣee lo sinu iṣelọpọ, “ati bẹbẹ lọ. Ọpọlọpọ diẹ sii ninu wọn. O dara, ni ipilẹ ti jibiti naa ni ibi-nla ti awọn olupilẹṣẹ “sawing” koodu asan. Wọn ti wa ni awọn tobi olofo, nitori wasted akoko ko le wa ni pada. Iru pyramids bẹẹ jẹ anfani pupọ si Torvalds ati awọn ẹlẹgbẹ rẹ. Ati pe diẹ sii ti awọn pyramids wọnyi, o dara julọ fun wọn. Lati ifunni iru pyramids, ohunkohun le wa ni ya sinu mojuto. Dajudaju, ni gbangba wọn sọ idakeji. Ṣugbọn emi ṣe idajọ kii ṣe nipasẹ awọn ọrọ ṣugbọn nipasẹ awọn iṣe.

Nitorinaa, “ọjọ iwaju ti awọn ọna ṣiṣe faili ni Linux” jẹ igbega giga miiran, ṣugbọn sọfitiwia ko ṣee lo. Lẹhin Btrfs, pẹlu iṣeeṣe giga kan, aaye iru “ojo iwaju” yoo gba nipasẹ Bcachefs, eyiti o jẹ igbiyanju miiran lati sọdá Layer Àkọsílẹ Linux pẹlu eto faili kan (apẹẹrẹ buburu kan jẹ aranmọ). Ati kini o jẹ aṣoju: awọn iṣoro kanna wa bi ni Btrfs. Mo fura si eyi fun igba pipẹ, lẹhinna bakan Emi ko le koju ati wo koodu naa - o jẹ otitọ!

Awọn onkọwe ti Bcachefs ati Btrfs, nigba ṣiṣẹda FS wọn, lo awọn orisun eniyan miiran ni itara, ni oye diẹ nipa wọn. Ipo naa jẹ iranti pupọ ti ere awọn ọmọde “foonu fifọ.” Ati pe Mo le foju foju inu wo bi koodu yii yoo ṣe wa ninu ekuro. Lootọ, ko si ẹnikan ti yoo rii “awọn rakes” (gbogbo eniyan yoo tẹ wọn lori nigbamii). Lẹhin ọpọlọpọ awọn ariyanjiyan nipa ara ti koodu naa, awọn ẹsun ti awọn irufin ti kii ṣe tẹlẹ, ati bẹbẹ lọ, ipari yoo ṣee ṣe nipa “iṣotitọ” ti onkọwe, bawo ni o ṣe “ṣepọ” pẹlu awọn olupilẹṣẹ miiran, ati bii aṣeyọri gbogbo eyi ṣe le ṣe. lẹhinna ta si awọn ile-iṣẹ.

Ipari ipari kii yoo ni anfani ẹnikẹni. Ogún ọdun sẹyin, boya, Emi yoo ti nifẹ, ṣugbọn nisisiyi awọn ibeere wa ni iyatọ: ṣe o ṣee ṣe lati ṣe igbelaruge eyi ki awọn eniyan kan le gba iṣẹ laarin ọdun mẹwa to nbo. Ati, ala, kii ṣe aṣa lati ṣe iyalẹnu nipa abajade ipari.

Ni gbogbogbo, Emi yoo ni imọran ni ilodi si bẹrẹ lati tun ṣe eto faili rẹ lati ibere. Nitori paapaa awọn idoko-owo inawo pataki kii yoo to lati gba nkan ifigagbaga ni ọdun mẹwa. Nitoribẹẹ, Mo n sọrọ nipa awọn iṣẹ akanṣe pataki, kii ṣe nipa awọn ti a pinnu lati “titari” sinu ekuro. Nitorinaa, ọna ti o munadoko diẹ sii lati ṣafihan ararẹ ni lati darapọ mọ awọn idagbasoke gidi, bii wa. Eyi, nitorinaa, ko rọrun lati ṣe - ṣugbọn eyi jẹ ọran pẹlu eyikeyi iṣẹ akanṣe ipele giga.

Ni akọkọ, iwọ yoo nilo lati ni ominira bori iṣoro ti Emi yoo funni. Lẹhin eyi, ni idaniloju pataki ti awọn ero rẹ, Emi yoo bẹrẹ lati ṣe iranlọwọ. Ni aṣa, a lo awọn idagbasoke ti ara wa nikan. Awọn imukuro jẹ awọn algoridimu funmorawon ati diẹ ninu awọn iṣẹ hash. A ko firanṣẹ awọn olupilẹṣẹ lati rin irin-ajo lọ si awọn apejọ, lẹhinna a ko joko ati darapọ awọn imọran eniyan miiran (“boya ohun ti yoo ṣẹlẹ”), gẹgẹ bi aṣa ni ọpọlọpọ awọn ibẹrẹ.

A ṣe agbekalẹ gbogbo awọn algoridimu funrararẹ. Mo nifẹ lọwọlọwọ ninu algebra ati awọn abala apapọ ti imọ-ipamọ data ipamọ. Ni pato, awọn aaye ipari, asymptotics, ẹri ti awọn aidogba. Iṣẹ tun wa fun awọn olupilẹṣẹ lasan, ṣugbọn Mo gbọdọ kilọ fun ọ lẹsẹkẹsẹ: gbogbo awọn imọran lati “wo FS miiran ki o ṣe kanna” ni a kọbikita. Awọn abulẹ ti o ni ifọkansi isọdọkan isunmọ pẹlu Lainos nipasẹ VFS yoo tun lọ sibẹ.

Nitorinaa, a ko ni rake, ṣugbọn a ni oye ti ibiti a nilo lati gbe, ati pe a ni igboya pe itọsọna yii jẹ eyiti o tọ. Òye yìí kò wá ní ìrísí mánà láti ọ̀run. Jẹ ki n leti pe a ni ọdun 29 ti iriri idagbasoke lẹhin wa, awọn ọna ṣiṣe faili meji ti a kọ lati ibere. Ati awọn nọmba kanna ti data imularada igbesi. Ati pe eyi jẹ pupọ!

orisun: opennet.ru

Fi ọrọìwòye kun