Annað viðtal við Eduard Shishkin, þróunaraðila Reiser4 FS

Annað viðtalið við Eduard Shishkin, þróunaraðila Reiser4 skráarkerfisins, hefur verið birt.

Til að byrja, vinsamlegast minntu lesendur á hvar og fyrir hverja þú vinnur.

Ég vinn sem aðalgeymsluarkitekt hjá Huawei Technologies, þýsku rannsóknarmiðstöðinni. Í sýndarvæðingardeild tek ég við ýmsa þætti gagnageymslu. Athafnir mínar eru ekki tengdar ákveðnu stýrikerfi.

Ertu núna að skuldbinda þig til aðalkjarnaútibúsins?

Mjög sjaldan, og aðeins ef vinnuveitandi minn krefst þess. Síðasta skiptið var fyrir um þremur árum síðan, ég sendi plástra til að auka afköst fyrir geymslu sem deilt er á vélum með því að nota 9p samskiptareglur (annað nafn fyrir þetta fyrirtæki er VirtFS). Eina mikilvæga athugasemd verður að gera hér: þó að ég hafi unnið með Linux í langan tíma, hef ég aldrei verið aðdáandi þess, það er, ég „anda jafnt,“ eins og með allt annað. Sérstaklega, ef ég tek eftir galla, get ég bent á hann í mesta lagi einu sinni. Og svo að þú getir síðan fylgt einhverjum og sannfært hann - þetta mun ekki gerast.

Ég man síðast, fyrir tíu árum, varstu nokkuð gagnrýninn á kjarnaþróunarstílinn. Frá þínu sjónarhorni (eða kannski fyrirtækja) hefur eitthvað breyst, hefur samfélagið orðið viðbragðsmeira eða ekki? Ef ekki, hverjum heldurðu að sé um að kenna?

Ég sá aldrei neinar breytingar til batnaðar. Helsta vandamál samfélagsins er að skipta út vísindum fyrir pólitíska tækni, persónuleg tengsl, meirihlutaálit, popúlismi, ráðleggingar frá „innri röddum“, rotnar málamiðlanir, allt annað en vísindi. Tölvunarfræði, hvað sem menn segja, eru fyrst og fremst nákvæm vísindi. Og ef einhver byrjar að lýsa yfir eigin gildi fyrir 2x2, öðruvísi en 4, undir „Linux way“ fánanum, eða undir einhverjum öðrum fána, þá er ólíklegt að þetta muni valda neinu öðru en skaða.

Öll vandræði stafa fyrst og fremst af vanhæfni og skorti á menntun þeirra sem taka ákvarðanir. Ef stjórnandi er vanhæfur er hann ekki fær um að taka hlutlæga, fullnægjandi ákvörðun. Ef hann er líka ómenningaður getur hann ekki fundið hæfan sérfræðing sem gefur honum rétt ráð. Með miklum líkum mun valið falla á svindlara sem segir „að því er virðist rétta hluti“. Spillt umhverfi myndast alltaf í kringum óhæfa einmana leiðtoga. Þar að auki þekkir sagan engar undantekningar í þessum efnum og er samfélagið skýrasta staðfestingin á því.

Hvernig metur þú framfarir í þróun Btrfs? Losaði þessi FS við barnasjúkdóma? Hvernig staðseturðu það fyrir sjálfan þig - sem FS "fyrir heimili" eða fyrir fyrirtæki líka?

Ég losnaði ekki við það. Allt sem ég nefndi fyrir 11 árum á enn við í dag. Eitt af vandamálunum með Btrfs sem gerir það óhentugt fyrir alvarlegar þarfir er vandamálið við laust pláss. Ég er ekki einu sinni að tala um þá staðreynd að notandinn er beðinn um að hlaupa í búðina fyrir nýjan disk við aðstæður þar sem einhver annar FS myndi sýna mikið laust pláss á skiptingunni. Vanhæfni til að ljúka aðgerð á rökréttu magni vegna skorts á lausu plássi er heldur ekki það versta. Það versta er að forréttindalaus notandi getur nánast alltaf, framhjá hvaða diskakvóta sem er, svipt alla lausu plássi á tiltölulega stuttum tíma.

Það lítur svona út (prófað fyrir Linux kjarna 5.12). Forskrift er hleypt af stokkunum á nýuppsettu kerfi, sem í lykkju býr til skrár með ákveðnum nöfnum í heimaskránni, skrifar gögn til þeirra með ákveðnum offsetum og eyðir svo þessum skrám. Eftir eina mínútu af keyrslu á þessu handriti gerist ekkert óvenjulegt. Eftir fimm mínútur eykst hluti upptekins pláss á skiptingunni lítillega. Eftir tvær til þrjár klukkustundir nær það 50% (með upphafsgildi 15%). Og eftir fimm eða sex tíma vinnu hrynur handritið með villunni "það er ekkert laust pláss á skiptingunni." Eftir þetta geturðu ekki lengur skrifað jafnvel 4K skrá á skiptinguna þína.

Áhugaverð staða kemur upp: þú skrifaðir ekki neitt á skiptinguna og allt laust pláss (um 85%) hvarf einhvers staðar. Greining á hluta sem verður fyrir slíkri árás mun leiða í ljós marga tréhnúta sem innihalda aðeins einn hlut (hlut sem er búinn lykli), nokkur bæti að stærð. Það er að segja að efnið sem áður tók 15% af diskplássinu reyndist vera jafnt „smað“ yfir alla skiptinguna þannig að hvergi er hægt að skrifa nýja skrá, vegna þess að lykillinn hennar er stærri en allar þær sem fyrir eru og ókeypis blokkir á skiptingunni hafa klárast.

Þar að auki gerist þetta allt þegar í grunnstillingu Btrfs (án nokkurra skyndimynda, undirbinda osfrv.), og það skiptir ekki máli hvernig þú ákveður að geyma skráarhluta í því FS (sem „brot“ í tré, eða sem umfang af ósniðnum kubbum) - lokaniðurstaðan verður sú sama.

Þú munt ekki geta látið önnur andstreymis skráarkerfi verða fyrir slíkri árás (sama hvað þau segja þér). Ég útskýrði orsök vandans fyrir löngu: þetta er algjör öfugsnúning á B-tré hugtakinu í Btrfs, sem gerir það mögulegt að það hrörni af sjálfu sér eða viljandi. Sérstaklega, undir vissu álagi, mun skráarkerfið þitt stöðugt „falla í sundur“ meðan á aðgerð stendur af sjálfu sér, án utanaðkomandi aðstoðar. Það er ljóst að alls kyns „ýtandi“ bakgrunnsferli bjarga deginum aðeins á einstökum skjáborðum.

Á sameiginlegum netþjónum mun árásarmaður alltaf geta „komið á undan“ þeim. Kerfisstjórinn mun ekki einu sinni geta ákveðið hver lagði hann í einelti nákvæmlega. Fljótlegasta leiðin til að laga þetta vandamál í Btrfs er að endurheimta uppbyggingu venjulegs B-trés, þ.e. endurhanna disksniðið og endurskrifa verulegan hluta af Btrfs kóðanum. Þetta mun taka 8-10 ár, þar á meðal kembiforrit, að því tilskildu að verktaki fylgdi nákvæmlega upprunalegu greinunum um viðeigandi reiknirit og gagnaskipulag og spiluðu ekki „bilaðan síma“ leikinn, eins og tíðkast (og hvatt er til) í „Linux“ leið“.

Hér þurfum við líka að bæta við þeim tíma sem þarf til að þróunaraðilar skilji þetta allt. Þetta er þar sem það verður erfiðara. Hvað sem því líður voru 10 ár ekki nóg til að þeir skildu. Jæja, þangað til geturðu ekki vonast eftir kraftaverki. Það mun ekki gerast í formi uppsetningarvalkosts „sem þú og ég vissum ekki um,“ eða í formi plásturs sem er „bara viðskiptamál“ til að undirbúa. Fyrir hverja slíka fljótfæringu mun ég kynna nýja atburðarás um hrörnun. B-tré eru eitt af mínum uppáhalds umræðuefnum og ég verð að segja að þessi mannvirki þola ekki frelsi með sjálfum sér!

Hvernig staðsetja ég Btrfs fyrir sjálfan mig? Sem eitthvað sem alls ekki er hægt að kalla skráarkerfi, hvað þá notað. Vegna þess að samkvæmt skilgreiningu er FS stýrikerfi undirkerfi sem ber ábyrgð á skilvirkri stjórnun á „diskaplássi“ auðlindinni, sem við sjáum ekki þegar um Btrfs er að ræða. Jæja, ímyndaðu þér að þú hafir komið í búðina til að kaupa úr til að koma ekki of seint í vinnuna og í staðinn fyrir úr seldu þeir þér rafmagnsgrill með tímamæli í að hámarki 30 mínútur. Þannig að ástandið með Btrfs er enn verra.

Þegar ég skoða póstlista, rekst ég oft á þá staðhæfingu að það sé ekki lengur við hæfi að stjórna diskplássi á áhrifaríkan hátt vegna þess hversu ódýrir diskar eru. Þetta er algjört bull. Án árangursríks plássstjóra verður stýrikerfið viðkvæmt og ónothæft. Óháð getu diskanna á vélinni þinni.

Mig langar að biðja um umsögn um stöðvun Btrfs stuðnings í RHEL.

Hér er ekkert sérstakt að tjá sig um, allt er mjög skýrt. Þeir höfðu það líka sem „tækniforskoðun“. Svo ég fór ekki í gegnum þetta mjög „forskoðun“. Ekki láta þetta merki hanga að eilífu! En þeir geta ekki sett á markað gallaða aukahönnun vöru með fullum stuðningi. RHEL er fyrirtæki, það er ávísað vöru-peningatengsl. Red Hat getur ekki lagt notendur í einelti eins og þeir gera á Btrfs póstlistanum. Ímyndaðu þér bara stöðuna: viðskiptavinur sem borgaði harðlaunapeningana sína fyrir diskinn og einnig þú fyrir stuðning, vill skilja hvert diskplássið hans fór eftir að hann skrifaði ekki neitt niður. Hverju ætlarðu að svara honum við þessu?

Frekari. Meðal viðskiptavina Red Hat eru þekktir stórir bankar og kauphallir. Ímyndaðu þér hvað myndi gerast ef þeir yrðu fyrir DoS árásum byggðar á nefndum varnarleysi í Btrfs. Hver heldurðu að beri ábyrgð á þessu? Við þá sem eru að fara að benda á línuna í GPL leyfinu, þar sem skrifað er að höfundur beri ekki ábyrgð á neinu, segi ég strax: „feldu það!“ Red Hat mun svara, og á þann hátt að það virðist ekki nóg! En ég veit að Red Hat stendur ekki frammi fyrir svona vandamálum, enda sérlega sterkt teymi þeirra QA verkfræðinga sem ég hafði tækifæri til að vinna náið með á sínum tíma.

Af hverju halda sum fyrirtæki áfram að styðja Btrfs í fyrirtækjavörum sínum?

Vinsamlegast athugaðu að forskeytið „fyrirtæki“ í vöruheitinu þýðir ekki mikið. Fyrirtæki er mælikvarði á ábyrgð sem er fólgin í samningssambandi við viðskiptavininn. Ég veit um aðeins eitt fyrirtæki byggt á GNU/Linux - RHEL. Allt annað, frá mínu sjónarhorni, er aðeins sett fram sem fyrirtæki, en er ekki eitt. Og að lokum, ef það er eftirspurn eftir einhverju, þá verður alltaf framboð (í okkar tilviki er þetta nefndur „stuðningur“). Það er eftirspurn eftir nákvæmlega öllu, þ.m.t. og ónothæfan hugbúnað. Hvernig slík eftirspurn myndast og hver knýr hana er annað umræðuefni.

Svo ég myndi ekki draga neinar ályktanir eftir að Facebook er orðrómur um að hafa sett Btrfs á netþjóna sína. Þar að auki myndi ég mæla með því að halda heimilisföngum þessara netþjóna leyndum af ofangreindum ástæðum.

Hvers vegna hefur verið lagt mikið upp úr því að hreinsa upp XFS kóðann undanfarið? Þegar öllu er á botninn hvolft, upphaflega er þetta skráarkerfi þriðja aðila og ext4 hefur verið stöðugt í langan tíma og hefur samfellu frá fyrri jafn stöðugum útgáfum. Hvaða áhuga hefur Red Hat á XFS? Er skynsamlegt að þróa virkan tvö skráarkerfi sem eru svipuð í tilgangi - ext4 og XFS?

Ég man ekki hvað olli þessu. Það er vel mögulegt að frumkvæðið hafi komið frá Red Hat viðskiptavinum. Ég man að rannsóknir af þessu tagi voru gerðar: á sumum skráarkerfum frá andstreymis var risastór fjöldi hluta búinn til á hágæða drifum af nýju kynslóðinni. Samkvæmt niðurstöðunum hegðaði XFS sig betur en ext4. Svo þeir byrjuðu að kynna það sem vænlegasta. Allavega myndi ég ekki leita að neinu tilkomumiklu hér.

Fyrir mér er það eins og þeir hafi skipt um syl út fyrir sápu. Það þýðir ekkert að þróa ext4 og XFS. Bæði samhliða og hvaða þeirra er að velja úr. Það verður ekkert gott úr þessu. Þó í náttúrunni eru oft aðstæður þar sem miklir möguleikar eru til vaxtar, en það er ekkert pláss til að vaxa. Í þessu tilviki koma upp ýmsar furðulega ljótar nýjar vextir, sem allir benda á ("Ó, sjáðu, hvað þú munt ekki sjá í þessu lífi!").

Telur þú að búið sé að útkljá málið um lagabrot (í neikvæðri merkingu) með tilkomu dulkóðunaraðgerða í ext4, F2FS (svo ekki sé minnst á RAID í Btrfs)?

Almennt séð er innleiðing á hvaða stigum sem er og ákvörðun um að brjóta ekki gegn þeim yfirleitt stefnumál og ég skuldbindi mig ekki til að tjá mig um neitt hér. Hlutlægu þættir lagabrota vekur lítinn áhuga fyrir neinn, en við getum skoðað sum þeirra með því að nota dæmið um brot „að ofan“, nefnilega útfærslu í FS á virkni sem þegar er til á blokkalaginu. Slíkt „brot“ er réttlætanlegt með sjaldgæfum undantekningum. Fyrir hvert slíkt tilvik verður þú fyrst að sanna tvennt: að það sé raunverulega þörf og að hönnun kerfisins skaðist ekki af því.

Til dæmis er skynsamlegt að innleiða speglun, sem hefur jafnan verið aðgerð fyrir blokkalagið, á skráarkerfisstigi. Af mismunandi ástæðum. Til dæmis á sér stað „hljóðlaus“ gagnaspilling (bita rotnun) á diskadrifum. Þetta er þegar tækið virkar rétt, en blokkargögnin skemmast óvænt undir áhrifum harðs gamma skammta sem gefin er út af fjarlægu dulstirni osfrv. Það versta er ef þessi blokk reynist vera FS kerfisblokk (superblock, bitmap block, storage tree node o.s.frv.), því þetta mun örugglega leiða til kjarna læti.

Vinsamlegast athugaðu að speglarnir sem blokkalagið býður upp á (svokallað RAID 1) bjarga þér ekki frá þessu vandamáli. Jæja, virkilega: einhver ætti að athuga eftirlitstölurnar og lesa eftirmyndina ef bilun verður? Að auki er skynsamlegt að spegla ekki bara allt, heldur aðeins lýsigögnin. Sum mikilvæg gögn (til dæmis keyranlegar skrár mikilvægra forrita) er hægt að geyma sem lýsigögn. Í þessu tilviki fá þeir sömu tryggingar um öryggi. Það er skynsamlegt að fela öðrum undirkerfum (kannski jafnvel notendaforrit) vernd gagna sem eftir eru - við höfum veitt öll nauðsynleg skilyrði fyrir þetta.

Slíkir „hagkvæmir“ speglar eiga tilverurétt og aðeins er hægt að skipuleggja þá á áhrifaríkan hátt á skráarkerfisstigi. Annars er lagabrot að rugla undirkerfi með tvíteknum kóða vegna smásjárverðra ávinninga. Sláandi dæmi um þetta er útfærsla RAID-5 með FS. Slíkar lausnir (eigin RAID / LVM í skráarkerfinu) drepa hið síðarnefnda í byggingarfræðilegu tilliti. Það skal líka tekið fram hér að lögbrot er „sett í straum“ af margvíslegum markaðssvindlum. Ef engar hugmyndir eru fyrir hendi er virkni sem lengi hefur verið innleidd á nálægum stigum bætt við undirkerfin, þetta er kynnt sem nýr afar gagnlegur eiginleiki og er ýtt á virkan hátt.

Reiser4 var sakaður um að hafa brotið gegn stigunum „neðan frá“. Byggt á því að skráarkerfið er ekki einhlítt, eins og öll önnur, heldur mát, var órökstudd forsenda gerð um að það geri það sem stigið fyrir ofan (VFS) ætti að gera.

Er hægt að tala um dauða ReiserFS v3.6 og til dæmis JFS? Undanfarið hafa þeir nánast enga athygli fengið í kjarnanum. Eru þær úreltar?

Hér þurfum við að skilgreina hvað dauða hugbúnaðarvöru þýðir. Annars vegar eru þeir notaðir með góðum árangri (það er það sem þeir voru búnir til), sem þýðir að þeir lifa. Á hinn bóginn get ég ekki talað fyrir JFS (ég veit ekki mikið), en ReiserFS (v3) er mjög erfitt að laga sig að nýjum straumum (prófað í reynd). Þetta þýðir að í framtíðinni munu verktaki ekki borga eftirtekt til þess, heldur þeim sem auðveldara er að laga. Frá þessari hlið kemur í ljós að því miður er það dautt í byggingarfræðilegu tilliti. Ég myndi alls ekki hagræða hugtakinu „siðferðilega úrelt“. Það á vel við, til dæmis um fataskáp, en ekki um hugbúnaðarvörur. Það er hugtak um minnimáttarkennd og yfirburði í einhverju. Ég get alveg sagt að ReserFS v3 er nú síðri en Reiser4 í öllu, en í sumum tegundum vinnuálags er það æðri öllum öðrum upstream FSs.

Veistu um þróun FS Tux3 og HAMMER/HAMMER2 (FS fyrir DragonFly BSD)?

Já, við vitum það. Í Tux3 hafði ég einu sinni áhuga á tækni skyndimynda þeirra (svokölluðu „útgáfubendingar“), en í Reiser4 munum við líklega fara aðra leið. Ég hef verið að hugsa um að styðja skyndimyndir í langan tíma og hef ekki enn ákveðið hvernig á að útfæra þær fyrir einföld Reiser4 bindi. Staðreyndin er sú að nýmóðins „lata“ viðmiðunarteljaratækni sem Ohad Rodeh lagði til virkar aðeins fyrir B-tré. Við höfum þá ekki. Fyrir þá gagnabyggingu sem eru notuð í Reiesr4 eru „latir“ teljarar ekki skilgreindir - til að kynna þá er nauðsynlegt að leysa ákveðin reiknirit vandamál, sem enginn hefur tekið að sér ennþá.

Samkvæmt HAMMER: Ég las grein frá skaparanum. Ekki áhuga. Aftur, B-tré. Þessi gagnauppbygging er vonlaust úrelt. Við yfirgáfum það á síðustu öld.

Hvernig metur þú vaxandi eftirspurn eftir netklasa FS eins og CephFS/GlusterFS/etc? Þýðir þessi krafa breytingu á forgangsröðun þróunaraðila í átt að net FS og ófullnægjandi athygli á staðbundnum FS?

Já, slík forgangsröðun hefur átt sér stað. Þróun staðbundinna skráakerfa hefur staðnað. Því miður, að gera eitthvað mikilvægt fyrir staðbundið bindi er nú frekar erfitt og ekki allir geta gert það. Enginn vill fjárfesta í þróun þeirra. Þetta er um það bil það sama og að biðja verslunarstofnun um að úthluta peningum til stærðfræðirannsókna - án nokkurrar eldmóðs munu þeir spyrja þig hvernig þú getur græða peninga á nýrri setningu. Núna er staðbundið FS eitthvað sem birtist á töfrandi hátt „úr kassanum“ og „ætti alltaf að virka,“ og ef það virkar ekki veldur það ómeðhöndluðu nöldri eins og: „Já, hvað eru þeir að hugsa!“

Þess vegna er athyglisbrestur á FS á staðnum, þó enn sé mikil vinna á því sviði. Og já, allir hafa snúið sér að dreifðri geymslu, sem er byggð á grundvelli staðbundinna skráakerfa sem þegar eru til. Það er mjög smart núna. Setningin „Big Data“ veldur adrenalínflæði hjá mörgum, tengir það við ráðstefnur, vinnustofur, há laun o.s.frv.

Hversu sanngjarnt er í grundvallaratriðum að innleiða netskráarkerfið í kjarnarými frekar en í notendarými?

Mjög sanngjörn nálgun sem enn hefur hvergi verið innleidd. Almennt séð er spurningin um í hvaða rými netskráarkerfi ætti að útfæra „tvíeggjað sverð“. Jæja, við skulum líta á dæmi. Viðskiptavinurinn skráði gögn á ytri vél. Þeir féllu inn í síðuskyndiminni hennar í formi óhreinum síðum. Þetta er starfið fyrir „þunn gátt“ netskráarkerfi í kjarnarými. Þá mun stýrikerfið fyrr eða síðar biðja þig um að skrifa þessar síður á diskinn til að losa þær. Þá kemur IO-framsending (sending) net FS einingin til sögunnar. Það ákvarðar á hvaða netþjónsvél (miðlarahnút) þessar síður fara.

Þá tekur netstaflan við (og eins og við vitum er hann útfærður í kjarnarými). Næst tekur miðlarahnúturinn við þeim pakka með gögnum eða lýsigögnum og skipar bakenda geymslueiningunni (þ.e. staðbundinni FS sem starfar í kjarnarými) að taka upp allt þetta dót. Þannig að við höfum dregið úr spurningunni þar sem „sendu“ og „móttaka“ einingarnar ættu að virka. Ef einhver þessara eininga keyrir í notendarými mun þetta óhjákvæmilega leiða til samhengisskipta (vegna þess að nota þarf kjarnaþjónustu). Fjöldi slíkra rofa fer eftir útfærsluupplýsingunum.

Ef það eru margir slíkir rofar mun geymsluafköst (I/O árangur) minnka. Ef bakendageymslan þín samanstendur af hægum diskum muntu ekki taka eftir verulegri lækkun. En ef þú ert með hraðvirka diska (SSD, NVRAM, o.s.frv.), þá verður samhengisskipti þegar „flöskuháls“ og með því að spara á samhengisskiptum er hægt að auka árangur verulega. Venjuleg leið til að spara peninga er að færa einingar inn í kjarnarými. Til dæmis komumst við að því að flutningur 9p netþjónsins frá QEMU yfir í kjarnann á hýsingarvélinni leiðir til þrefaldrar aukningar á VirtFS afköstum.

Þetta er auðvitað ekki net FS, en það endurspeglar að fullu kjarna hlutanna. Gallinn við þessa hagræðingu er flutningsvandamál. Fyrir suma getur hið síðarnefnda verið mikilvægt. Til dæmis, GlusterFS hefur alls engar einingar í kjarnanum. Þökk sé þessu virkar það nú á mörgum kerfum, þar á meðal NetBSD.

Hvaða hugtök gætu staðbundnir FSs fengið að láni frá netkerfi og öfugt?

Nú á dögum eru net FSs, að jafnaði, með viðbætur yfir staðbundnar FSs, svo ég skil ekki alveg hvernig þú getur fengið eitthvað lánað frá þeim síðarnefnda. Jæja, reyndar, við skulum íhuga fyrirtæki með 4 starfsmönnum, þar sem allir gera sitt eigið: einn dreifir, annar sendir, sá þriðji tekur á móti, sá fjórði verslar. Og spurningin, hvað getur fyrirtækið fengið að láni hjá starfsmanni sínum sem geymir það, hljómar einhvern veginn röng (það hefur þegar haft það sem það hefði getað fengið lánað hjá honum í langan tíma).

En staðbundnir FSs hafa mikið að læra af netkerfi. Í fyrsta lagi ættir þú að læra af þeim hvernig á að safna saman rökrænu magni á háu stigi. Nú er svokallað „háþróuð“ staðbundin skráarkerfi safna saman rökréttum bindum eingöngu með því að nota „sýndartæki“ tækni sem er fengin að láni frá LVM (það sama smitandi lagabrot og var fyrst útfært í ZFS). Með öðrum orðum, þýðing á sýndarföngum (blokkarnúmerum) yfir í raunveruleg og til baka á sér stað á lágu stigi (þ.e. eftir að skráarkerfið hefur gefið út I/O beiðni).

Vinsamlegast athugaðu að það að bæta við og fjarlægja tæki í rökrétt bindi (ekki spegla) sem er raðað á blokkalagið leiðir til vandamála sem birgjar slíkra „eiginleika“ þegja hóflega um. Ég er að tala um sundrungu á raunverulegum tækjum, sem geta náð voðalegum gildum, á meðan á sýndartæki er allt í lagi. Hins vegar hafa fáir áhuga á sýndartækjum: allir hafa áhuga á því sem er að gerast á raunverulegu tækjunum þínum. En ZFS-líkt FS (sem og hvaða FS sem er í tengslum við LVM) virkar aðeins með sýndardiskum (úthluta sýndardiska vistföngum meðal ókeypis, afbrota þessi sýndartæki osfrv.). Og þeir hafa ekki hugmynd um hvað er að gerast á raunverulegum tækjum!

Ímyndaðu þér nú að þú sért með núll sundrungu á sýndartækinu (þ.e. þú hefur bara eitt risastórt magn sem býr þar), þú bætir diski við rökrétt rúmmál þitt og fjarlægir svo annan handahófskenndan disk úr rökrænu rúmmálinu þínu og jafnvægir síðan aftur. Og svo oft. Það er ekki erfitt að ímynda sér að á sýndartækinu muntu enn lifa í sama mæli, en á raunverulegum tækjum muntu ekki sjá neitt gott.

Það versta er að þú ert ekki einu sinni fær um að leiðrétta þetta ástand! Það eina sem þú getur gert hér er að biðja skráarkerfið að affragmenta sýndartækið. En hún mun segja þér að allt sé frábært þarna - það er aðeins eitt umfang, sundrungin er núll og það getur ekki verið betra! Svo, rökrétt rúmmál raðað á blokkastigi er ekki ætlað fyrir endurtekna viðbót / fjarlægingu tækja. Á góðan hátt, þú þarft aðeins að setja saman rökrétt bindi á blokkastigi einu sinni, gefa það til skráarkerfisins og gera svo ekkert annað við það.

Að auki leyfir samsetning óháðra FS+LVM undirkerfa ekki að taka tillit til mismunandi eðlis drifanna sem rökrænt magn er safnað saman úr. Segjum sem svo að þú hafir sett saman rökrétt bindi úr HDD og solid-state tækjum. En þá mun hið fyrra krefjast sundrungar og hið síðara ekki. Fyrir hið síðarnefnda þarftu að gefa út beiðnir um farg, en fyrir þá fyrrnefndu, ekki, o.s.frv. Hins vegar, í þessari samsetningu, er frekar erfitt að sýna fram á slíka sérhæfni.

Athugaðu að eftir að þú hefur búið til þinn eigin LVM á skráarkerfinu batnar ástandið ekki mikið. Þar að auki, með því að gera þetta bindur þú í raun enda á möguleikann á að bæta það í framtíðinni. Þetta er mjög slæmt. Mismunandi gerðir af drifum geta lifað á sömu vélinni. Og ef skráarkerfið gerir ekki greinarmun á þeim, hver mun þá gera það?

Annað vandamál bíður svokallaðs. „Write-Anywhere“ skráarkerfi (þetta felur einnig í sér Reiser4, ef þú tilgreindir viðeigandi viðskiptalíkan við tengingu). Slík skráarkerfi verða að bjóða upp á afbrotatól sem eru fordæmalaus í krafti þeirra. Og hljóðstyrksstjórinn á lágu stigi hjálpar ekki hér, heldur kemur aðeins í veg fyrir. Staðreyndin er sú að með slíkum stjórnanda mun FS þinn geyma kort af ókeypis blokkum af aðeins einu tæki - sýndartæki. Í samræmi við það geturðu aðeins defragmentað sýndartæki. Þetta þýðir að defragmenterinn þinn mun virka í langan, langan tíma á risastóru einu rými sýndarvistfönga.

Og ef þú ert með marga notendur sem skrifa handahófskenndar yfirskriftir, þá verða gagnleg áhrif slíkrar defragmenter minnkaður í núll. Kerfið þitt mun óhjákvæmilega byrja að hægja á sér og þú þarft aðeins að brjóta saman hendurnar fyrir framan vonbrigðagreininguna „brotin hönnun“. Nokkrir defragmenterar sem keyra á sama heimilisfangi munu aðeins trufla hvert annað. Það er allt annað mál ef þú heldur þínu eigin korti af ókeypis kubbum fyrir hvert raunverulegt tæki. Þetta mun í raun samhliða sundrunarferlinu.

En þetta er aðeins hægt að gera ef þú ert með rökréttan hljóðstyrkstjóra á háu stigi. Staðbundin skráarkerfi með slíkum stjórnendum voru ekki til áður (að minnsta kosti, ég veit ekki um þau). Aðeins netskráarkerfi (til dæmis GlusterFS) höfðu slíka stjórnendur. Annað mjög mikilvægt dæmi er tólið til að athuga hljóðstyrkleika (fsck). Ef þú geymir þitt eigið sjálfstæða kort af ókeypis blokkum fyrir hvert undirbindi, þá er hægt að samsíða aðferðina við að athuga rökrétt bindi í raun. Með öðrum orðum, rökrétt bindi með háttsettum stjórnendum skalast betur.

Að auki muntu ekki geta skipulagt fullgildar skyndimyndir með hljóðstyrkstjórum á lágu stigi. Með LVM og ZFS-líkum skráarkerfum geturðu aðeins tekið staðbundnar skyndimyndir, en ekki alþjóðlegar skyndimyndir. Staðbundnar skyndimyndir gera þér kleift að afturkalla samstundis aðeins venjulegar skráaraðgerðir. Og enginn þar mun afturkalla aðgerðir með rökréttu magni (bæta við/fjarlægja tæki). Við skulum skoða þetta með dæmi. Á einhverjum tímapunkti, þegar þú ert með rökrétt rúmmál af tveimur tækjum A og B sem innihalda 100 skrár, tekurðu skyndimynd af kerfinu S og býr síðan til á annað hundrað skrár.

Eftir það bætir þú tæki C við hljóðstyrkinn þinn, og loks afturkallar kerfið þitt í skyndimynd S. Spurning: Hversu margar skrár og tæki inniheldur rökrétt rúmmál þitt eftir að þú hefur snúið aftur til S? Það verða 100 skrár, eins og þú hefur kannski giskað á, en það verða 3 tæki - þetta eru sömu tækin A, B og C, þó að á þeim tíma sem skyndimyndin var búin til voru aðeins tvö tæki í kerfinu (A og B) ). Aðgerðin að bæta við tæki C fór ekki til baka og ef þú fjarlægir tæki C núna úr tölvunni mun það skemma gögnin þín, þannig að áður en þú eyðir þarftu fyrst að framkvæma dýra aðgerð til að fjarlægja tækið úr endurjafnvægi rökrænu bindisins, sem mun dreifa öllum gögnum frá tæki C til tækja A og B. En ef FS þinn styður alþjóðlegar skyndimyndir, þá væri slíkt endurjafnvægi ekki krafist, og eftir tafarlausa snúning til S gætirðu örugglega fjarlægt tæki C úr tölvunni.

Svo, alþjóðlegar skyndimyndir eru góðar vegna þess að þær gera þér kleift að forðast kostnaðarsama fjarlægingu (bæta við) tækis úr röklegu magni (í rökrétt rúmmál) með miklu magni af gögnum (auðvitað, ef þú manst eftir að „mynda“ kerfið þitt á réttum tíma). Leyfðu mér að minna þig á að það að búa til skyndimyndir og afturkalla skráarkerfið til þeirra eru tafarlausar aðgerðir. Spurningin gæti vaknað: hvernig er það jafnvel hægt að draga strax til baka aðgerð á rökréttu magni sem tók þig þrjá daga? En það er hægt! Að því gefnu að skráarkerfið þitt sé rétt hannað. Ég fékk hugmyndina um svona „3D skyndimynd“ fyrir þremur árum og á síðasta ári fékk ég einkaleyfi á þessari tækni.

Það næsta sem staðbundnir FSs ættu að læra af netkerfi er að geyma lýsigögn á aðskildum tækjum á sama hátt og net FSs geyma þau á aðskildum vélum (svokölluðum lýsigagnaþjónum). Það eru forrit sem vinna fyrst og fremst með lýsigögn og hægt er að flýta þessum forritum mjög með því að setja lýsigögnin á dýr afkastamikil geymslutæki. Með FS+LVM samsetningunni muntu ekki geta sýnt slíka sértækni: LVM veit ekki hvað er á reitnum sem þú sendir til hans (gögn þar eða lýsigögn).

Þú munt ekki hafa mikinn ávinning af því að innleiða þitt eigið lágstigs LVM í FS samanborið við FS+LVM samsetninguna, en það sem þú getur gert mjög vel er að rugla FS þannig að seinna verður ómögulegt að vinna með kóðann hans. ZFS og Btrfs, sem flýttu sér með sýndartæki, eru öll skýr dæmi um hvernig lögbrot drepa kerfið í byggingarfræðilegu tilliti. Svo, hvers vegna er ég þetta allt? Þar að auki er engin þörf á að setja upp þitt eigið lágstigs LVM í skráarkerfinu. Þess í stað þarftu að safna tækjum í rökrétt bindi á háu stigi, eins og sum netskráarkerfi gera með mismunandi vélum (geymsluhnútum). Að vísu gera þeir þetta ógeðslega vegna notkunar á slæmum reikniritum.

Dæmi um alveg hræðileg reiknirit eru DHT þýðandinn í GlusterFS skráarkerfinu og svokallað CRUSH kort í Ceph skráarkerfinu. Ekkert af reikniritunum sem ég sá uppfyllti mig hvað varðar einfaldleika og góðan sveigjanleika. Svo ég varð að muna algebru og finna upp allt sjálfur. Árið 2015, þegar ég var að gera tilraunir með búnt yfir kjötkássaaðgerðir, fann ég upp og fékk einkaleyfi á eitthvað sem hentar mér. Nú get ég sagt að tilraunin til að koma þessu öllu í framkvæmd hafi gengið vel. Ég sé engin vandamál með sveigjanleika í nýju nálguninni.

Já, hvert undirbindi mun þurfa sérstaka uppbyggingu eins og ofurblokk í minni. Er þetta mjög skelfilegt? Almennt séð veit ég ekki hver ætlar að „sjóða hafið“ og búa til rökrétt rúmmál hundruð þúsunda eða fleiri tækja á einni staðbundinni vél. Ef einhver getur útskýrt þetta fyrir mér þá verð ég mjög þakklátur. Í millitíðinni er þetta markaðskjaftæði fyrir mér.

Hvaða áhrif höfðu breytingar á undirkerfi kjarnablokkartækja (til dæmis útlit blk-mq) á kröfurnar fyrir FS innleiðingu?

Þau höfðu engin áhrif. Ég veit ekki hvað myndi gerast á blokkalaginu sem myndi gera það nauðsynlegt að hanna nýtt FS. Samskiptaviðmót þessara undirkerfa er mjög lélegt. Frá ökumannshliðinni ætti FS aðeins að verða fyrir áhrifum af útliti nýrra tegunda drifa, sem blokkalagið verður fyrst stillt á, og síðan FS (fyrir reiser4 þýðir þetta útlit nýrra viðbóta).

Þýðir tilkoma nýrra tegunda miðla (til dæmis SMR, eða alls staðar nálægð SSDs) í grundvallaratriðum nýjar áskoranir fyrir hönnun skráarkerfa?

Já. Og þetta eru eðlilegir hvatar til uppbyggingar FS. Áskoranir geta verið mismunandi og algjörlega óvæntar. Til dæmis hef ég heyrt um drif þar sem hraði I/O aðgerða er mjög háður stærð gagna og offsetu þess. Í Linux, þar sem stærð FS-blokkarinnar getur ekki farið yfir síðustærð, mun slíkt drif sjálfgefið ekki sýna fulla möguleika sína. Hins vegar, ef skráarkerfið þitt er rétt hannað, þá er möguleiki á að fá miklu meira út úr því.

Hversu margir eru að vinna með Reiser4 kóðanum fyrir utan þig?

Minna en ég myndi vilja, en ég upplifi ekki bráðan skort á fjármagni heldur. Ég er meira en sáttur við þróunarhraða Reiser4. Ég ætla ekki að „reka hesta“ - þetta er ekki rétta svæðið. Hérna, „ef þú keyrir rólegra, heldurðu áfram! Nútíma skráarkerfi er flóknasta kjarnaundirkerfið, rangar hönnunarákvarðanir sem geta afturkallað síðari ár af mannlegri vinnu.

Með því að bjóða sjálfboðaliðum til að framkvæma eitthvað, ábyrgist ég alltaf að viðleitnin muni örugglega leiða til réttrar niðurstöðu, sem getur verið eftirsótt fyrir alvarlegar þarfir. Eins og þú skilur geta ekki verið margar slíkar tryggingar í einu. Á sama tíma þoli ég ekki „fígúrur“ sem kynna blygðunarlaust „eiginleika“ augljóslega ónothæfs hugbúnaðar, blekkja hundruð notenda og þróunaraðila og sitja á sama tíma og brosa á kjarnafundum.

Hefur eitthvert fyrirtæki lýst yfir vilja til að styðja við þróun Reiser4?

Já, það voru svona tillögur, þ.m.t. og frá stórum söluaðila. En fyrir þetta þurfti ég að flytja til annars lands. Því miður er ég ekki lengur 30 ára, ég get ekki slitið mig og farið svona við fyrsta flaut.

Hvaða eiginleika vantar nú í Reiser4?

Það er engin „breyta stærð“ aðgerð fyrir einföld bindi, svipað því sem er að finna í ReiserFS(v3). Að auki myndi skráaaðgerðir með DIRECT_IO fánanum ekki skaða. Næst langar mig að geta skipt bindi í „merkingarfræðileg undirbindi“ sem hafa ekki fasta stærð og sem hægt er að setja upp sem sjálfstæð bindi. Þessi vandamál eru góð fyrir byrjendur sem vilja prófa sig áfram með „raunverulega hlutinn“.

Og að lokum, mig langar að hafa netkerfi rökrétt bindi með einfaldri útfærslu og stjórnun (nútíma reiknirit leyfa þetta nú þegar). En það sem Reiser4 mun örugglega aldrei hafa er RAID-Z, skrúbbar, laus pláss skyndiminni, 128 bita breytur og önnur markaðsvitleysa sem spratt upp í bakgrunni hugmyndaskorts meðal þróunaraðila sumra skráakerfa.

Er hægt að útfæra allt sem gæti þurft með viðbótum?

Ef við tölum aðeins um tengi og viðbætur (einingar) sem útfæra þau, þá ekki allt. En ef þú kynnir líka tengsl á þessum viðmótum, þá muntu meðal annars hafa hugtökin um hærri fjölbreytni, sem þú getur nú þegar komist af með. Ímyndaðu þér að þú hafir fryst hlutbundið keyrslukerfi í tilgátu, breytt gildi leiðbeiningabendilsins þannig að það vísar á annað viðbót sem útfærir sama X viðmótið og síðan frystir kerfið þannig að það haldi áfram að keyra.

Ef notandinn tekur ekki eftir slíkri „skiptingu“, þá segjum við að kerfið hafi núllraða fjölbreytni í X viðmótinu (eða kerfið er misleitt í X viðmótinu, sem er það sama). Ef þú ert nú ekki aðeins með sett af viðmótum, heldur hefurðu einnig tengsl á þeim (viðmótsgraf), þá geturðu kynnt fjölbreytni af hærri röð, sem mun einkenna misleitni kerfisins sem þegar er í „hverfi“ hvers viðmóts. Ég kynnti slíka flokkun fyrir löngu síðan, en því miður gerðist það aldrei.

Svo, með hjálp viðbóta og slíkra meiri fjölbreytni, geturðu lýst hvaða þekktu eiginleika sem er, sem og „spá fyrir“ þá sem aldrei hafa einu sinni verið nefndir. Ég hef ekki getað sannað þetta nákvæmlega, en ég veit heldur ekki um mótdæmi ennþá. Almennt séð minnti þessi spurning mig á „Erlangen Program“ Felix Klein. Á sínum tíma reyndi hann að tákna alla rúmfræði sem grein algebru (sérstaklega hópafræði).

Nú að aðalspurningunni - hvernig gengur með kynningu á Reiser4 í aðalkjarna? Voru einhver rit um arkitektúr þessa skráarkerfis sem þú talaðir um í síðasta viðtali? Hversu viðeigandi er þessi spurning frá þínu sjónarhorni?

Almennt séð höfum við beðið um inngöngu í aðalgreinina í þrjú ár. Síðasta athugasemd Reiser á opinbera þræðinum þar sem beiðnin um að draga var fram var ósvarað. Þannig að allar frekari spurningar eru ekki fyrir okkur. Ég persónulega skil ekki hvers vegna við þurfum að „sameinast“ í ákveðið stýrikerfi. Á Linux rann ljósið ekki saman eins og fleygur. Svo, það er sérstakt geymsla þar sem það verða nokkur útibúsport fyrir mismunandi stýrikerfi. Hver sem þarf á því að halda getur klónað samsvarandi gátt og gert hvað sem þú vilt við það (innan leyfisins, auðvitað). Jæja, ef einhver þarf þess ekki, þá er það ekki mitt vandamál. Á þessum tímapunkti legg ég til að íhuga spurningin um „kynningu í aðal Linux kjarnann“ sem afgreidd.

Rit um FS arkitektúr skipta máli, en hingað til hef ég aðeins fundið tíma fyrir nýju niðurstöðurnar mínar, sem ég tel vera í meiri forgangi. Annað er að ég er stærðfræðingur og í stærðfræði er hvaða rit sem er samantekt á setningum og sönnunum þeirra. Að birta eitthvað þar án sannana er merki um ósmekk. Ef ég sanna eða afsanna einhverja staðhæfingu um byggingarlist FS rækilega, þá verður niðurstaðan slíkir hrúgur að það verður frekar erfitt að komast í gegn. Hver þarf það? Þetta er líklega ástæðan fyrir því að allt heldur áfram að vera í sinni gömlu mynd - frumkóðann og athugasemdir við hann.

Hvað er nýtt í Reiser4 undanfarin ár?

Hinn langþráði stöðugleiki hefur loksins orðið að veruleika. Einn af þeim síðustu sem birtist var villa sem leiddi til „óeyðanlegra“ möppum. Erfiðleikarnir voru þeir að það birtist aðeins gegn bakgrunni nafnakjötsárekstra og með ákveðinni staðsetningu möppuskráa í tréhnút. Hins vegar get ég samt ekki mælt með Reiser4 fyrir framleiðslu: til þess þarftu að vinna með virkum samskiptum við framleiðslukerfisstjóra.

Okkur tókst loksins að framkvæma hina langvarandi hugmynd okkar - mismunandi viðskiptalíkön. Áður rak Reiser4 aðeins eitt harðkóðaða Macdonald-Reiser líkan. Þetta skapaði hönnunarvandamál. Einkum eru skyndimyndir ekki mögulegar í slíku viðskiptalíkani - þær verða skemmdar af frumeindahluta sem kallast „OVERWRITE SET“. Reiser4 styður nú þrjú viðskiptalíkön. Í einni þeirra (Write-Anywhere) inniheldur frumeindahlutinn OVERWRITE SET aðeins kerfissíður (myndir af bitamyndum diska o.s.frv.), sem ekki er hægt að „mynda“ (hænu- og eggvandamálið).

Þannig að myndirnar geta nú orðið að veruleika á besta mögulega hátt. Í öðru viðskiptalíkani fara allar breyttar síður aðeins í OVERWRITE SET (það er í rauninni hrein dagbók). Þetta líkan er fyrir þá sem kvörtuðu yfir hraðri sundrungu Reiser4 skiptinganna. Nú í þessu líkani mun skiptingin þín brotna ekki hraðar en með ReiserFS (v3). Öll þrjú núverandi gerðir, með nokkrum fyrirvörum, tryggja atómvirkni aðgerða, en líkön með tap á atómvirkni og varðveita aðeins heilleika hlutans geta einnig verið gagnlegar. Slík líkön geta verið gagnleg fyrir alls kyns forrit (gagnagrunna o.s.frv.), sem þegar hafa tekið við sumum þessara aðgerða. Það er mjög auðvelt að bæta þessum gerðum við Reiser4, en ég gerði það ekki, vegna þess að enginn spurði mig, og ég persónulega þarf þess ekki.

Athugunarsummur lýsigagna birtust og ég bætti nýlega við þær með „hagkvæmum“ speglum“ (enn óstöðugt efni). Ef athugunarsumma einhverrar blokkar mistekst, les Reiser4 samstundis samsvarandi blokk úr eftirmyndartækinu. Athugaðu að ZFS og Btrfs geta ekki gert þetta: hönnunin leyfir það ekki. Þar verður þú að keyra sérstakt bakgrunnsskönnunarferli sem kallast „skrúbb“ og bíða eftir að það komist að erfiða blokkinni. Forritarar kalla slíka atburði í óeiginlegri merkingu „hækjur“.

Og að lokum hafa ólík rökræn bindi birst, sem bjóða upp á allt sem ZFS, Btrfs, blokkalag, sem og FS+LVM samsetningar geta í grundvallaratriðum ekki veitt - samhliða mælikvarða, O(1) diskavistfangaúthlutun, gagnsæ gagnaflutning milli undirbinda. Hið síðarnefnda hefur einnig notendaviðmót. Nú geturðu auðveldlega fært heitustu gögnin yfir á afkastamesta drifið á hljóðstyrknum þínum.

Að auki er hægt að skola allar óhreinar síður í slíkt drif í skyndi og flýta þannig verulega fyrir forritum sem oft kalla fsync(2). Ég tek fram að blokkalagsvirknin, sem kallast bcache, veitir alls ekki slíkt frelsi til athafna. Ný rökrétt bindi eru byggð á reikniritunum mínum (það eru samsvarandi einkaleyfi). Hugbúnaðurinn er nú þegar nokkuð stöðugur, það er alveg hægt að prófa hann, mæla frammistöðu osfrv. Eina óþægindin eru að í bili þarftu að uppfæra hljóðstyrkstillinguna handvirkt og geyma hana einhvers staðar.

Hingað til hefur mér tekist að hrinda hugmyndum mínum í framkvæmd um 10 prósent. Hins vegar hefur mér tekist það sem ég taldi erfiðast - að tengja rökrétt bindi með flash-aðferð sem framkvæmir allar frestað aðgerðir í reiser4. Þetta er allt enn í tilraunagreininni „format41“.

Standist Reiser4 xfstests?

Það gerði það allavega fyrir mig þegar ég var að undirbúa síðustu útgáfuna.

Er það mögulegt í grundvallaratriðum að gera Reiser4 að netkerfi (þyrping) FS með því að nota viðbætur?

Það er mögulegt, og jafnvel nauðsynlegt! Ef þú býrð til netskrá sem byggir á rétt hönnuðu staðbundnu skráarkerfi verður útkoman mjög áhrifamikil! Í nútíma net-FS er ég ekki ánægður með tilvist bakenda geymslustigs, sem er útfært með hvaða staðbundnu FS sem er. Tilvist þessa stigs er algjörlega óréttmæt. Netið FS verður að hafa bein samskipti við blokkalagið og ekki biðja staðbundna FS um að búa til aðrar þjónustuskrár!

Almennt séð er það að skipta skráarkerfum í staðbundið og netkerfi frá hinu illa. Það stafaði af ófullkomleika reikniritanna sem voru notaðir fyrir þrjátíu árum og ekkert hefur enn verið lagt til í staðinn. Þetta er líka ástæðan fyrir útliti fjölda óþarfa hugbúnaðarhluta (ýmsir þjónustur osfrv.). Á góðan hátt ætti aðeins að vera einn FS í formi kjarnaeiningu og sett af notendatólum uppsett á hverri vél - klasahnút. Þetta FS er bæði staðbundið og net. Og ekkert meira!

Ef ekkert gengur upp með Reiser4 á Linux, langar mig að bjóða upp á FS fyrir FreeBSD (tilvitnun í fyrra viðtal: “...FreeBSD... has academic roots... And this means that with a high degree of probability we mun finna sameiginlegt tungumál með þróunaraðilum“) ?

Svo, eins og við komumst að, hefur allt þegar virkað fullkomlega með Linux: það er sérstakt vinnandi Reiser4 tengi fyrir það í formi aðalútibús geymslunnar okkar. Ég hef ekki gleymt FreeBSD! Tilboð! Ég er tilbúinn til að vinna náið með þeim sem þekkja innri FreeBSD vel. Við the vegur: það sem mér líkar mjög við samfélag þeirra er að ákvarðanir þar eru teknar af uppfærðu ráði óháðra sérfræðinga, sem hefur ekkert með blekkingar stjórnvalda eins fastráðins manns að gera.

Hvernig metur þú Linux notendasamfélagið í dag? Er það orðið meira "popp"?

Miðað við eðli vinnu minnar er frekar erfitt fyrir mig að meta þetta. Notendur koma aðallega til mín með villuskýrslur og beiðnir um að laga hlutann. Notendur sem notendur. Sumir eru skynsamari, aðrir minna. Allir eru meðhöndlaðir eins. Jæja, ef notandinn hunsar leiðbeiningarnar mínar, þá afsakaðu mig: hunsa röðin verður líka færð inn af minni hálfu.

Er hægt að spá fyrir um þróun skráakerfa næstu fimm til tíu árin? Hver heldur þú að séu helstu áskoranir sem FS verktaki gæti staðið frammi fyrir?

Já, það er ekki erfitt að gera svona spá. Það hefur engin þróun átt sér stað á skráarkerfum í andstreymi í langan tíma. Aðeins útlit slíks er búið til. Hönnuðir staðbundinna skráarkerfa lentu í vandræðum í tengslum við lélega hönnun. Hér þarf að gera fyrirvara. Ég lít ekki svo á að svokölluð „geymsla“, „sleikja“ og flutningur kóða sé þróun og þróun. Og ég flokka ekki misskilninginn sem kallast „Btrfs“ sem þróun af þeim ástæðum sem ég hef þegar útskýrt.

Hver plástur gerir vandamálin aðeins verri. Jæja. og það eru alltaf til ýmiskonar „evangelistar“ sem „allt virkar“. Í grundvallaratriðum eru þetta skólafólk og nemendur sem sleppa fyrirlestrum. Ímyndaðu þér bara: það virkar fyrir hann, en prófessorinn gerir það ekki. Þvílíkt adrenalínflæði er þetta! Frá mínu sjónarhorni er mesti skaðinn af völdum „iðnaðarmanna“ sem flýttu sér að „skrúfa“ dásamlega eiginleika Btrfs á alls kyns lög eins og systemd, docker osfrv. - þetta líkist nú þegar meinvörpum.

Við skulum nú reyna að gera spá fyrir fimm til tíu ár. Ég hef þegar skráð stuttlega hvað við munum gera í Reiser4. Helsta áskorunin fyrir staðbundna FS þróunaraðila frá andstreymis verður (já, það er þegar orðið) vanhæfni til að vinna mannsæmandi starf fyrir laun. Án nokkurra hugmynda á sviði gagnageymslu munu þeir halda áfram að reyna að laga þessa óheppilegu VFS, XFS og ext4. Ástandið með VFS lítur sérstaklega kómískt út í ljósi þessa, sem minnir á ofsalega nútímavæðingu veitingastaðar þar sem engir matreiðslumenn eru og engir kokkar eru væntanlegir.

Nú læsir VFS kóðinn, án nokkurra skilyrða, nokkrum minnissíðum á sama tíma og býður undirliggjandi FS að starfa á þeim. Þetta var kynnt til að bæta frammistöðu Ext4 við eyðingaraðgerðir, en eins og auðvelt er að skilja er slík samhliða læsing algjörlega ósamrýmanleg háþróuðum viðskiptalíkönum. Það er, þú munt ekki geta einfaldlega bætt við stuðningi fyrir eitthvað snjallt skráarkerfi í kjarnanum. Ég veit ekki hvernig staðan er á öðrum sviðum Linux, en hvað skráarkerfi snertir, þá er ólíklegt að öll þróun hér samrýmist þeirri stefnu sem Torvalds hefur fylgt í reynd (akademísk verkefni eru sett út og svindlarar sem hef ekki hugmynd um hvaða B-tré, endalaust traust er gefið út). Því var stefnan tekin á hæga hrörnun. Auðvitað munu þeir reyna af öllum mætti ​​að afgreiða það sem „þróun“.

Ennfremur munu „vörsluaðilar“ skráakerfa, sem átta sig á því að þú getur ekki þénað mikið af „geymslu“ einum saman, reyna fyrir sér í arðbærari viðskiptum. Þetta eru að jafnaði dreifð skráarkerfi og sýndarvæðing. Kannski munu þeir flytja tísku ZFS einhvers staðar annars staðar þar sem hann er ekki til ennþá. En það, eins og allt FS frá andstreymi, líkist nýárstré: ef þú getur hengt aðra smáhluti ofan á, þá geturðu ekki komist dýpra. Ég viðurkenni að það er hægt að byggja upp alvarlegt framtakskerfi byggt á ZFS, en þar sem við erum núna að ræða framtíðina get ég því miður bara fullyrt að ZFS er vonlaust í þessum efnum: með sýndartækjunum sínum hafa krakkarnir skorið súrefnið af. fyrir sig og komandi kynslóðir til frekari þróunar. ZFS er liðin tíð. Og ext4 og XFS eru ekki einu sinni í fyrradag.

Það er þess virði að minnast sérstaklega á hið tilkomumikla hugtak um „Linux skráarkerfi næstu kynslóðar“. Þetta er algjörlega pólitískt og markaðslegt verkefni sem er búið til fyrir tækifæri, ef svo má segja, að „festa framtíð skráarkerfa“ í Linux á bak við sérstakar persónur. Staðreyndin er sú að Linux var áður „bara til gamans“. En nú er þetta fyrst og fremst peningavél. Þær eru gerðar á öllu mögulegu. Það er til dæmis mjög erfitt að búa til góða hugbúnaðarvöru, en snjallir „hönnuðir“ hafa löngum áttað sig á því að það er engin þörf á að hafa álag: þú getur selt hugbúnað sem ekki er til sem var tilkynntur og kynntur á alls kyns almenningi atburðir - aðalatriðið er að kynningarglærurnar ættu að innihalda fleiri „eiginleika“.

Skráarkerfi eru fullkomin fyrir þetta, því þú getur örugglega semja í tíu ár um niðurstöðuna. Jæja, ef einhver kvartar seinna yfir skorti á þessari niðurstöðu, þá skilur hann einfaldlega ekki neitt um skráarkerfi! Þetta minnir á fjármálapýramída: efst eru ævintýramennirnir sem komu þessu klúðri af stað og þeir fáu sem voru „heppnir“: þeir „drógu út arð“, þ.e. fengið peninga til uppbyggingar, fengið vel launað starf sem stjórnendur, „mætt“ á ráðstefnur o.fl.

Næst koma þeir sem eru „óheppnir“: þeir munu telja tjón, takast á við afleiðingar þess að setja ónothæfa hugbúnaðarvöru í framleiðslu, „o.s.frv. Þeir eru miklu fleiri. Jæja, við botn pýramídans er gríðarlegur fjöldi þróunaraðila sem „saga“ ónýtan kóða. Þeir eru mestu taparnir, því tímasóun er ekki hægt að skila. Slíkir pýramídar eru afar gagnlegir fyrir Torvalds og félaga hans. Og því meira af þessum pýramídum, því betra fyrir þá. Til að fæða slíka pýramída er hægt að taka allt inn í kjarnann. Auðvitað segja þeir hið gagnstæða á opinberum vettvangi. En ég dæmi ekki eftir orðum heldur gjörðum.

Svo, "framtíð skráarkerfa í Linux" er enn einn mjög kynntur, en varla nothæfur hugbúnaður. Eftir Btrfs, með miklum líkum, mun stað slíkrar „framtíðar“ taka Bcachefs, sem er önnur tilraun til að fara yfir Linux blokkalagið með skráarkerfi (slæmt dæmi er smitandi). Og hvað er dæmigert: það eru sömu vandamál og í Btrfs. Mig grunaði þetta í langan tíma, og þá einhvern veginn gat ég ekki staðist og skoðaði kóðann - það er satt!

Höfundar Bcachefs og Btrfs, þegar þeir bjuggu til FS, notuðu virkan heimildir annarra og skildu lítið um þær. Ástandið minnir mjög á leik barna „bilaður sími“. Og ég get nokkurn veginn ímyndað mér hvernig þessi kóði verður innifalinn í kjarnanum. Reyndar mun enginn sjá „hrífurnar“ (allir munu stíga á þær síðar). Eftir fjölmargar deilur um stíl kóðans, ásakanir um brot sem ekki eru til, o.s.frv., verður niðurstaða gerð um „hollustu“ höfundarins, hversu vel hann „hefur samskipti“ við aðra forritara og hversu vel allt þetta getur síðan seld til fyrirtækja.

Lokaniðurstaðan mun ekki vekja áhuga neins. Fyrir tuttugu árum hefði ég ef til vill haft áhuga, en nú eru spurningarnar settar á annan veg: Verður hægt að efla þetta þannig að ákveðnir menn fái vinnu innan næstu tíu ára. Og því miður er ekki venjan að velta fyrir sér lokaniðurstöðunni.

Almennt séð myndi ég eindregið ráðleggja því að byrja að finna upp skráarkerfið þitt frá grunni. Vegna þess að jafnvel verulegar fjárfestingar duga ekki til að fá eitthvað samkeppnishæft eftir tíu ár. Auðvitað er ég að tala um alvarleg verkefni, en ekki um þau sem ætlað er að „ýta“ inn í kjarnann. Svo, áhrifaríkari leið til að tjá þig er að taka þátt í alvöru þróun, eins og við. Þetta er auðvitað ekki auðvelt að gera - en þetta er raunin með hvaða verkefni sem er á háu stigi.

Í fyrsta lagi þarftu að sigrast á vandamálinu sem ég mun bjóða upp á sjálfstætt. Eftir það, sannfærður um alvarleika fyrirætlana þinna, mun ég byrja að hjálpa. Hefð er fyrir því að við notum aðeins okkar eigin þróun. Undantekningar eru þjöppunaralgrím og sumar kjötkássaaðgerðir. Við sendum ekki þróunaraðila til að ferðast á ráðstefnur og sitjum svo ekki og sameinum hugmyndir annarra ("kannski hvað mun gerast"), eins og tíðkast í flestum sprotafyrirtækjum.

Við þróum öll reiknirit sjálf. Ég hef áhuga á algebrufræðilegum og samsettum þáttum gagnageymslufræðinnar. Einkum takmörkuð svið, einkennalaus, sönnun um ójöfnuð. Það er líka vinna fyrir venjulega forritara, en ég verð að vara þig strax við: allar tillögur um að „kíkja á annan FS og gera það sama“ eru hunsaðar. Plástrar sem miða að nánari samþættingu við Linux í gegnum VFS munu einnig fara þangað.

Þannig að við höfum enga hrífu, en við höfum skilning á því hvert við þurfum að færa okkur, og við höfum trú á því að þessi stefna sé rétt. Þessi skilningur kom ekki í formi manna af himnum. Ég minni á að við höfum 29 ára þróunarreynslu að baki, tvö skráarkerfi skrifuð frá grunni. Og sami fjöldi gagnabataforrita. Og þetta er mikið!

Heimild: opennet.ru

Bæta við athugasemd