It-tieni intervista ma' Eduard Shishkin, l-iżviluppatur tar-Reiser4 FS

It-tieni intervista ma 'Eduard Shishkin, l-iżviluppatur tas-sistema tal-fajls Reiser4, ġiet ippubblikata.

Biex tibda, jekk jogħġbok fakkar lill-qarrejja fejn u għal min taħdem.

Naħdem bħala Perit Prinċipali tal-Ħażna f'Huawei Technologies, iċ-Ċentru ta' Riċerka Ġermaniż. Fid-dipartiment tal-virtwalizzazzjoni nittratta diversi aspetti tal-ħażna tad-dejta. L-attivitajiet tiegħi mhumiex relatati ma' sistema operattiva speċifika.

Bħalissa qed timpenja ruħek għall-fergħa prinċipali tal-kernel?

Rari ħafna, u biss jekk min iħaddi jeħtieġ dan. L-aħħar darba kienet madwar tliet snin ilu, bgħatt irqajja biex iżid il-fluss għall-ħażna kondiviża fuq hosts bl-użu tal-protokoll 9p (isem ieħor għal dan in-negozju huwa VirtFS). Hawnhekk trid issir nota importanti: għalkemm ilni naħdem mal-Linux għal żmien twil, qatt ma kont fan tagħha, jiġifieri, "nifs indaqs", bħal kull ħaġa oħra. B'mod partikolari, jekk ninnota difett, nista' nindikah l-aktar darba. U sabiex imbagħad tkun tista’ ssegwi lil xi ħadd u tipperswadih – dan mhux se jiġri.

Niftakar li l-aħħar darba, għaxar snin ilu, kont pjuttost kritiku tal-istil tal-iżvilupp tal-qalba. Mill-perspettiva tiegħek (jew forsi korporattiva), xi ħaġa nbidlet, il-komunità saret aktar reattiva jew le? Jekk le, min taħseb li huwa t-tort?

Qatt ma rajt xi tibdil għall-aħjar. Il-problema ewlenija tal-komunità hija s-sostituzzjoni tax-xjenza b'teknoloġiji politiċi, relazzjonijiet personali, opinjoni tal-maġġoranza, populiżmu, pariri minn "vuċijiet ta 'ġewwa," kompromessi immuffati, xi ħaġa oħra għajr ix-xjenza. Ix-xjenza tal-kompjuter, xi ngħidu, hija l-ewwel u qabel kollox xjenza eżatta. U jekk xi ħadd jibda jipproklama l-valur tiegħu stess għal 2x2, differenti minn 4, taħt il-bandiera "Linux way", jew taħt xi bandiera oħra, allura dan mhux probabbli li jġib xi ħaġa oħra għajr ħsara.

L-inkwiet kollu huwa primarjament minħabba l-inkompetenza u n-nuqqas ta’ edukazzjoni ta’ min jieħu d-deċiżjonijiet. Jekk maniġer ikun inkompetenti, ma jkunx kapaċi jieħu deċiżjoni oġġettiva u adegwata. Jekk huwa wkoll mhux kultura, ma jkunx kapaċi jsib speċjalista kompetenti li jagħtih il-parir it-tajjeb. Bi probabbiltà għolja, l-għażla taqa 'fuq scammer li jgħid "affarijiet li jidhru korretti." Ambjent korrott dejjem jiżviluppa madwar mexxejja waħedhom inkompetenti. Barra minn hekk, l-istorja ma taf l-ebda eċċezzjoni f'dan ir-rigward, u l-komunità hija l-aktar konferma ċara ta 'dan.

Kif tivvaluta l-progress fl-iżvilupp tal-Btrfs? Dan l-FS ħeles mill-mard tat-tfulija? Kif tpoġġiha għalik innifsek - bħala FS "għal dar" jew għall-użu korporattiv ukoll?

I ma neħlesx minnha. Dak kollu li semmejt 11-il sena ilu għadu rilevanti sal-lum. Waħda mill-problemi bil-Btrfs li tagħmilha mhux adattata għal bżonnijiet serji hija l-problema tal-ispazju ħieles. Jien lanqas biss qed nitkellem dwar il-fatt li l-utent huwa mitlub imexxi l-maħżen għal disk ġdid f'sitwazzjonijiet fejn kwalunkwe FS ieħor juri ħafna spazju ħieles fuq il-partizzjoni. L-inabbiltà li tlesti operazzjoni fuq volum loġiku minħabba nuqqas ta 'spazju ħieles lanqas hija l-agħar ħaġa. L-agħar ħaġa hija li utent mhux privileġġjat jista 'kważi dejjem, jevita kwalunkwe kwoti tad-disk, iċaħħad lil kulħadd mill-ispazju ħieles fi żmien pjuttost qasir.

Jidher bħal dan (ittestjat għal Linux kernel 5.12). Jiġi mniedi skript fuq sistema installata friska, li f'linja toħloq fajls b'ċerti ismijiet fid-direttorju tad-dar, tikteb dejta lilhom f'ċerti offsets, u mbagħad tħassar dawn il-fajls. Wara minuta ta 'tmexxija ta' dan l-iskript, ma jiġri xejn mhux tas-soltu. Wara ħames minuti, il-porzjon ta 'spazju okkupat fuq il-partizzjoni tiżdied ftit. Wara sagħtejn sa tliet sigħat jilħaq 50% (b'valur inizjali ta '15%). U wara ħames jew sitt sigħat ta’ xogħol, l-iskript jiġġarraf bl-iżball “m’hemm l-ebda spazju ħieles fuq il-partizzjoni.” Wara dan, m'intix aktar kapaċi tikteb anke fajl 4K fil-partizzjoni tiegħek.

Isseħħ sitwazzjoni interessanti: spiċċajt ma tikteb xejn fuq il-partizzjoni, u l-ispazju ħieles kollu (madwar 85%) sparixxa x'imkien. Analiżi ta 'sezzjoni soġġetta għal attakk bħal dan tiżvela ħafna nodi tas-siġar li fihom oġġett wieħed biss (oġġett mgħammar b'ċavetta), diversi bytes fid-daqs. Jiġifieri, il-kontenut li qabel kien jokkupa 15% ta 'l-ispazju tad-diska rriżulta li kien indaqs "immexxa" fuq il-partizzjoni kollha sabiex ma jkun hemm imkien biex tikteb fajl ġdid, minħabba li ċ-ċavetta tagħha hija akbar minn dawk kollha eżistenti, u l-ħielsa blokki fuq il-partizzjoni spiċċaw.

Barra minn hekk, dan kollu jiġri diġà fuq il-konfigurazzjoni bażika tal-Btrfs (mingħajr l-ebda snapshots, subvolumi, eċċ.), U ma jimpurtax kif tiddeċiedi li taħżen il-korpi tal-fajls f'dak l-FS (bħala "frammenti" f'siġra, jew bħala extents). ta' blokki mhux ifformattjati) - ir-riżultat finali se jkun l-istess.

Ma tkunx tista' tissuġġetta sistemi oħra ta' fajls upstream għal attakk bħal dan (jgħidlek x'inhuma). Spjegajt il-kawża tal-problema żmien twil ilu: din hija perverżjoni sħiħa tal-kunċett tas-siġra B f'Btrfs, li tagħmilha possibbli li jiddeġenera spontanjament jew intenzjonalment. B'mod partikolari, taħt ċerti tagħbijiet, is-sistema tal-fajls tiegħek kontinwament "jaqa 'barra" waqt it-tħaddim waħedha, mingħajr għajnuna minn barra. Huwa ċar li kull xorta ta 'proċessi ta' sfond "ippressar" se jiffrankaw il-ġurnata biss fuq desktops individwali.

Fuq servers kollettivi, attakkant dejjem ikun jista 'jiġi 'l quddiemhom. L-amministratur tas-sistema lanqas se jkun jista’ jiddetermina min eżattament ibbuljah. L-aktar mod mgħaġġel biex tissolva din il-problema f'Btrfs huwa li tirrestawra l-istruttura ta 'siġra B regolari, i.e. tfassil mill-ġdid tal-format tad-diska u kitba mill-ġdid ta 'porzjonijiet sinifikanti tal-kodiċi Btrfs. Dan se jieħu 8-10 snin, inkluż id-debugging, sakemm l-iżviluppaturi segwew b'mod strett l-artikoli oriġinali dwar l-algoritmi u l-istrutturi tad-dejta rilevanti, u ma lagħbux il-logħba "telefon imkisser", kif soltu (u mħeġġa) fil-"Linux mod”.

Hawnhekk irridu wkoll inżidu l-ħin meħtieġ biex l-iżviluppaturi jifhmu dan kollu. Dan huwa fejn isir aktar diffiċli. Fi kwalunkwe każ, 10 snin ma kinux biżżejjed biex jifhmuhom. Ukoll, sa dakinhar ma tistax tittama għal miraklu. Mhux se jiġri fil-forma ta 'għażla ta' immuntar "li int u jien ma konniex biha", jew fil-forma ta 'garża li hija "biss kwistjoni ta' negozju" biex tipprepara. Għal kull "fissa" mgħaġġla bħal din se nippreżenta xenarju ġdid ta 'deġenerazzjoni. B-siġar huma wieħed mis-suġġetti favoriti tiegħi, u rrid ngħid li dawn l-istrutturi ma jittollerawx libertajiet magħhom infushom!

Kif nippożizzjona Btrfs għalija nnifsi? Bħala xi ħaġa li assolutament ma tistax tissejjaħ sistema ta 'fajls, aħseb u ara użata. Minħabba li, b'definizzjoni, l-FS hija sottosistema OS responsabbli għall-ġestjoni effettiva tar-riżors "spazju tad-disk", li ma narawx fil-każ ta 'Btrfs. Tajjeb immaġina li ġejt il-ħanut biex tixtri arloġġ biex ma tkunx tard għax-xogħol, u flok arloġġ biegħulek electric grill b’timer għal massimu ta’ 30 minuta. Għalhekk, is-sitwazzjoni ma 'Btrfs hija saħansitra agħar.

Meta nħares fil-listi tal-posta, spiss niltaqa 'ma' d-dikjarazzjoni li l-ġestjoni effettiva tal-ispazju tad-disk m'għadhiex rilevanti minħabba l-irħis tad-drajvs. Dan huwa bla sens sħiħ. Mingħajr maniġer effettiv tal-ispazju tad-disk, l-OS se jsir vulnerabbli u ma jistax jintuża. Irrispettivament mill-kapaċità tad-diski fuq il-magna tiegħek.

Nixtieq nitlob għal kumment dwar it-twaqqif tal-appoġġ Btrfs f'RHEL.

M'hemm xejn speċjali x'jikkummenta hawn, kollox huwa ċar ħafna. Huma kellhom ukoll bħala "previżjoni tat-teknoloġija". Allura, ma għaddejtx minn din il-"preview" ħafna. Tħallix din it-tikketta tistrieħ għal dejjem! Iżda ma jistgħux iniedu prodott bid-disinn difettuż b'appoġġ sħiħ. RHEL hija intrapriża, jiġifieri relazzjonijiet preskritti komodità-flus. Red Hat ma jistax ibbulja lill-utenti bħalma jagħmlu fuq il-lista tal-posta Btrfs. Immaġina s-sitwazzjoni: klijent li ħallas il-flus tiegħu li qala’ iebes għad-disk u wkoll int għall-appoġġ, irid jifhem fejn mar l-ispazju tad-diska tiegħu wara li ma kiteb xejn. X’se twieġbu għal dan?

Aktar minn hekk. Il-klijenti ta’ Red Hat jinkludu banek u skambji kbar magħrufa. Immaġina x'jiġri kieku kienu suġġetti għal attakki DoS ibbażati fuq il-vulnerabbiltà msemmija f'Btrfs. Min taħseb li huwa responsabbli għal dan? Lil dawk li jkunu waslu biex jippuntaw subgħajhom lejn il-linja tal-liċenzja tal-GPL, fejn hemm miktub li l-awtur mhu responsabbli għal xejn, immedjatament ngħid: "Aħbiha!" Red Hat se jwieġeb, u b'tali mod li ma jidhirx biżżejjed! Imma naf li Red Hat mhix qed tiffaċċja din it-tip ta' problema, minħabba t-tim partikolarment b'saħħtu ta' inġiniera tal-QA li magħhom kelli l-opportunità li naħdem mill-qrib fi żmieni.

Għaliex xi kumpaniji jkomplu jappoġġjaw lill-Btrfs fil-prodotti tal-intrapriżi tagħhom?

Jekk jogħġbok innota li l-prefiss "intrapriża" fl-isem tal-prodott ma jfissirx ħafna. L-intrapriża hija miżura ta' responsabbiltà inkorporata fir-relazzjoni kuntrattwali mal-klijent. Naf b'intrapriża waħda biss ibbażata fuq GNU/Linux - RHEL. Kull ħaġa oħra, mill-perspettiva tiegħi, hija ppreżentata biss bħala intrapriża, iżda mhix waħda. U fl-aħħarnett, jekk ikun hemm domanda għal xi ħaġa, allura dejjem se jkun hemm provvista (fil-każ tagħna, dan huwa l-"appoġġ") imsemmi. Hemm domanda għal kollox, inkl. u softwer li ma jistax jintuża. Kif tiġi ffurmata domanda bħal din u min iqanqalha huwa suġġett ieħor.

Allura, jien ma naqbeż għall-ebda konklużjonijiet wara li Facebook huwa rumored li skjerati Btrfs fuq is-servers tagħha. Barra minn hekk, nirrakkomanda bir-reqqa li l-indirizzi ta 'dawk is-servers jinżammu sigrieti għar-raġunijiet ta' hawn fuq.

Għaliex dan l-aħħar sar tant sforz biex jitnaddaf il-kodiċi XFS? Wara kollox, inizjalment din hija sistema ta 'fajls ta' parti terza, u ext4 ilu stabbli għal żmien twil u għandu kontinwità minn verżjonijiet ugwalment stabbli preċedenti. X'interess għandu Red Hat f'XFS? Jagħmel sens li tiżviluppa b'mod attiv żewġ sistemi ta 'fajls li huma simili fl-iskop - ext4 u XFS?

Ma niftakarx x'motivat dan. Huwa pjuttost possibbli li l-inizjattiva ġiet minn klijenti Red Hat. Niftakar li saret riċerka ta 'dan it-tip: fuq xi sistemi ta' fajls minn upstream, inħolqu numru ġiganteski ta 'oġġetti fuq drives high-end tal-ġenerazzjoni l-ġdida. Skont ir-riżultati, XFS ġab ruħu aħjar minn ext4. Għalhekk bdew jippromwovuha bħala l-aktar promettenti. Fi kwalunkwe każ, jien ma nfittex xejn sensazzjonali hawn.

Għalija, qisni bidlu awl bis-sapun. M'hemm l-ebda punt li tiżviluppa ext4 u XFS. Kemm b'mod parallel u kull wieħed minnhom minn fejn jagħżlu. Minn dan mhu se joħroġ xejn tajjeb. Għalkemm, fin-natura ħafna drabi jkun hemm sitwazzjonijiet meta jkun hemm ħafna potenzjal għat-tkabbir, iżda m'hemmx lok biex tikber. F'dan il-każ, jinqalgħu diversi tkabbiriet ġodda strambament ikrah, li kulħadd jipponta subgħajh ("Oh, ara, dak li mhux se tara f'din il-ħajja!").

Taħseb li l-kwistjoni tal-ksur tas-saff ġiet solvuta (f'sens negattiv) bil-miġja ta 'funzjonijiet ta' encryption f'ext4, F2FS (biex ma nsemmux RAID f'Btrfs)?

B'mod ġenerali, l-introduzzjoni ta 'kwalunkwe livelli u t-teħid ta' deċiżjoni dwar in-non-vjolazzjoni tagħhom normalment hija kwistjoni ta 'politika, u jien ma nimpenja ruħi li nikkummenta dwar xejn hawn. L-aspetti oġġettivi tal-ksur tas-saff ftit huma ta 'interess għal ħadd, iżda nistgħu nikkunsidraw xi wħud minnhom billi tuża l-eżempju ta' ksur "minn fuq", jiġifieri, l-implimentazzjoni fl-FS ta 'funzjonalità li diġà teżisti fuq is-saff tal-blokk. Tali "vjolazzjoni" hija ġġustifikata biss b'eċċezzjonijiet rari. Għal kull każ bħal dan, l-ewwel trid tipprova żewġ affarijiet: li hija verament meħtieġa, u li d-disinn tas-sistema mhux se ssirilhom ħsara billi tagħmel dan.

Pereżempju, ir-riflessjoni, li tradizzjonalment kienet attività għas-saff tal-blokk, tagħmel sens li timplimenta fil-livell tas-sistema tal-fajls. Għal raġunijiet differenti. Pereżempju, korruzzjoni tad-data "silenzjuża" (bit rot) isseħħ fuq disk drives. Dan huwa meta l-apparat ikun qed jaħdem kif suppost, iżda d-dejta tal-blokk tiġi mħassra b'mod mhux mistenni taħt l-influwenza ta 'quantum gamma iebes emess minn quasar imbiegħed, eċċ. L-agħar ħaġa hija jekk dan il-blokk jirriżulta li jkun blokk tas-sistema FS (superblock, blokka bitmap, node tas-siġra tal-ħażna, eċċ.), għax dan żgur iwassal għal paniku tal-qalba.

Jekk jogħġbok innota li l-mirja offruti mis-saff tal-blokk (l-hekk imsejjaħ RAID 1) mhux se jiffrankaw minn din il-problema. Ukoll, tassew: xi ħadd għandu jiċċekkja ċ-checksums u jaqra r-replika f'każ ta 'falliment? Barra minn hekk, jagħmel sens li tirrifletti mhux biss kollox, iżda biss il-metadata. Xi dejta importanti (pereżempju, fajls eżekutibbli ta' applikazzjonijiet kritiċi) tista' tinħażen bħala metadejta. F'dan il-każ, huma jirċievu l-istess garanziji ta 'sigurtà. Jagħmel sens li tafda l-protezzjoni tad-dejta li fadal lil sottosistemi oħra (forsi anke applikazzjonijiet tal-utent) - ipprovdejna l-kundizzjonijiet kollha meħtieġa għal dan.

Mirja "ekonomiċi" bħal dawn għandhom dritt li jeżistu, u jistgħu biss jiġu organizzati b'mod effettiv fil-livell tas-sistema tal-fajls. Inkella, il-ksur ta 'saffi qed imbarazza sottosistema b'kodiċi duplikat għall-fini ta' xi benefiċċji mikroskopiċi. Eżempju impressjonanti ta 'dan huwa l-implimentazzjoni ta' RAID-5 bl-użu ta 'FS. Soluzzjonijiet bħal dawn (RAID stess / LVM fis-sistema tal-fajls) joqtlu lil dawn tal-aħħar f'termini arkitettoniċi. Għandu jiġi nnutat ukoll hawnhekk li l-ksur ta 'saffi huwa "mqiegħed fuq stream" minn diversi tipi ta' scammers fis-suq. Fin-nuqqas ta 'xi ideat, funzjonalità li ilha implimentata f'livelli ġirien hija miżjuda mas-sottosistemi, din hija ppreżentata bħala karatteristika estremament utli ġdida u hija mbuttata b'mod attiv.

Reiser4 ġie akkużat li kiser il-livelli "minn taħt". Ibbażat fuq il-fatt li s-sistema tal-fajls mhix monolitika, bħall-oħrajn kollha, iżda modulari, saret suppożizzjoni mhux sostanzjata li tagħmel dak li għandu jagħmel il-livell ta 'hawn fuq (VFS).

Huwa possibbli li titkellem dwar il-mewt ta 'ReiserFS v3.6 u, pereżempju, JFS? Dan l-aħħar kważi ma rċevew l-ebda attenzjoni fil-qalba. Huma skaduti?

Hawnhekk irridu niddefinixxu xi tfisser il-mewt ta 'prodott tas-softwer. Min-naħa waħda, huma użati b'suċċess (dak huwa dak li ġew maħluqa għal, wara kollox), li jfisser li jgħixu. Min-naħa l-oħra, ma nistax nitkellem għal JFS (ma nafx ħafna), iżda ReiserFS (v3) huwa diffiċli ħafna biex tadatta għal xejriet ġodda (ittestjat fil-prattika). Dan ifisser li fil-futur l-iżviluppaturi se jagħtu attenzjoni mhux għaliha, iżda għal dawk li huma aktar faċli biex jadattaw. Minn din in-naħa jirriżulta li, sfortunatament, hija mejta f'termini arkitettoniċi. Jien ma jimmanipula l-kunċett ta '"moralment skadut" xejn. Japplika tajjeb, pereżempju, għal gwardarobba, iżda mhux għal prodotti ta 'softwer. Hemm kunċett ta 'inferjorità u superjorità f'xi ħaġa. Nista' assolutament ngħid li ReserFS v3 issa huwa inferjuri għal Reiser4 f'kollox, iżda f'xi tipi ta 'xogħol huwa superjuri għall-FSs upstream l-oħra kollha.

Taf dwar l-iżvilupp ta 'FS Tux3 u HAMMER/HAMMER2 (FS għal DragonFly BSD)?

Iva, nafu. F'Tux3 darba kont interessat fit-teknoloġija ta 'snapshots tagħhom (l-hekk imsejħa "pointers tal-verżjoni"), iżda f'Reiser4 x'aktarx se mmorru rotta differenti. Ilni naħseb biex nappoġġja snapshots għal żmien twil u għadni ma ddeċidejtx kif nimplimentahom għal volumi Reiser4 sempliċi. Il-fatt hu li t-teknika tal-counter ta 'referenza newfangled "għażżien" proposta minn Ohad Rodeh taħdem biss għas-siġar B. Aħna m'għandniex. Għal dawk l-istrutturi tad-dejta li huma wżati f'Reiesr4, counters "għażżien" mhumiex definiti - biex jiġu introdotti, huwa meħtieġ li jiġu solvuti ċerti problemi algoritmiċi, li ħadd għadu ma ħaseb.

Skont MARTELL: Qrajt artiklu mill-kreatur. Mhux interessat. Għal darb'oħra, B-siġar. Din l-istruttura tad-data hija bla tama skaduta. Abbandunawh fl-aħħar seklu.

Kif tivvaluta d-domanda dejjem tikber għal FSs ta' cluster tan-netwerk bħal CephFS/GlusterFS/eċċ? Din id-domanda tfisser bidla fil-prijoritajiet tal-iżviluppaturi lejn FS tan-netwerk u attenzjoni insuffiċjenti għall-FS lokali?

Iva, tali bidla fil-prijoritajiet seħħet. L-iżvilupp tas-sistemi tal-fajls lokali staġnat. Alas, li tagħmel xi ħaġa sinifikanti għall-volumi lokali issa hija pjuttost diffiċli u mhux kulħadd jista 'jagħmel dan. Ħadd ma jrid jinvesti fl-iżvilupp tagħhom. Dan huwa bejn wieħed u ieħor l-istess bħal li titlob lil organizzazzjoni kummerċjali biex talloka l-flus għar-riċerka fil-matematika - mingħajr ebda entużjażmu se jistaqsuk kif tista 'tagħmel flus fuq teorema ġdida. Issa FS lokali hija xi ħaġa li maġikament tidher "barra mill-kaxxa" u "għandha taħdem dejjem", u jekk ma taħdimx, tikkawża tgergir mhux indirizzat bħal: "Iva, x'qed jaħsbu!"

Għalhekk in-nuqqas ta’ attenzjoni għall-FS lokali, għalkemm għad hemm ħafna xogħol f’dak il-qasam. U iva, kulħadd irrikorri għall-ħażna distribwita, li hija mibnija fuq il-bażi ta 'sistemi ta' fajls lokali diġà eżistenti. Huwa ħafna moda issa. Il-frażi "Big Data" tikkawża għaġla ta' adrenalina għal ħafna, billi tassoċjaha ma' konferenzi, workshops, salarji kbar, eċċ.

Kemm huwa raġonevoli fil-prinċipju li timplimenta s-sistema tal-fajls tan-netwerk fl-ispazju tal-kernel aktar milli fl-ispazju tal-utent?

Approċċ raġonevoli ħafna li għadu ma ġie implimentat imkien. B'mod ġenerali, il-kwistjoni ta 'f'liema spazju għandha tiġi implimentata sistema ta' fajls tan-netwerk hija "xabla b'żewġ xfar." Ukoll, ejja nħarsu lejn eżempju. Il-klijent irreġistra data fuq magna remota. Huma waqgħu fil-cache tal-paġna tagħha fil-forma ta 'paġni maħmuġin. Dan huwa l-impjieg għal sistema ta 'fajls tan-netwerk "portal irqiq" fl-ispazju tal-kernel. Imbagħad is-sistema operattiva illum jew għada titlobek tikteb dawk il-paġni fuq disk biex teħlishom. Imbagħad jidħol fis-seħħ il-modulu FS tan-netwerk IO-forwarding (li jibgħat). Jiddetermina liema magna server (node ​​server) dawn il-paġni se jmorru.

Imbagħad il-munzell tan-netwerk jieħu f'idejh (u, kif nafu, huwa implimentat fl-ispazju tal-kernel). Sussegwentement, in-nodu tas-server jirċievi dak il-pakkett b'dejta jew metadejta u jagħti struzzjonijiet lill-modulu tal-ħażna backend (jiġifieri, l-FS lokali li jopera fl-ispazju tal-kernel) biex jirreġistra dan l-għalf kollu. Allura, naqqasna l-mistoqsija għal fejn għandhom jaħdmu l-moduli "li jibgħat" u "riċevitur". Jekk xi wieħed minn dawk il-moduli jimxi fl-ispazju tal-utent, dan inevitabilment iwassal għal bidla fil-kuntest (minħabba l-ħtieġa li jintużaw servizzi tal-kernel). In-numru ta 'swiċċijiet bħal dawn jiddependi fuq id-dettalji tal-implimentazzjoni.

Jekk ikun hemm ħafna swiċċijiet bħal dawn, allura r-rendiment tal-ħażna (prestazzjoni I/O) jonqos. Jekk il-ħażna backend tiegħek hija magħmula minn diski bil-mod, allura ma tinnotax tnaqqis sinifikanti. Imma jekk għandek diski veloċi (SSD, NVRAM, eċċ.), allura l-bidla tal-kuntest diġà ssir "konġestjoni" u, billi tiffranka l-bidla tal-kuntest, il-prestazzjoni tista 'tiżdied b'mod sinifikanti. Il-mod standard biex tiffranka l-flus huwa li tmexxi l-moduli fl-ispazju tal-kernel. Pereżempju, sibna li ċ-ċaqliq tas-server 9p minn QEMU għall-qalba fuq il-magna ospitanti twassal għal żieda tripla fil-prestazzjoni ta 'VirtFS.

Dan, ovvjament, mhuwiex netwerk FS, iżda jirrifletti bis-sħiħ l-essenza tal-affarijiet. L-iżvantaġġ ta 'din l-ottimizzazzjoni huma kwistjonijiet ta' portabbiltà. Għal xi wħud, dan tal-aħħar jista 'jkun kritiku. Pereżempju, GlusterFS m'għandu l-ebda moduli fil-qalba. Grazzi għal dan, issa jaħdem fuq ħafna pjattaformi, inkluż NetBSD.

Liema kunċetti jistgħu jissellfu l-FS lokali minn dawk tan-netwerk u viċi versa?

Illum il-ġurnata, l-FS tan-netwerk, bħala regola, għandhom add-ons fuq l-FS lokali, għalhekk ma nifhimx sewwa kif tista 'tissellef xi ħaġa minn dawn tal-aħħar. Tabilħaqq, ejja nikkunsidraw kumpanija ta '4 impjegati, li fiha kulħadd jagħmel l-ħaġa tiegħu: wieħed iqassam, ieħor jibgħat, it-tielet jirċievi, ir-raba' jaħżen. U l-mistoqsija, x'tista 'tissellef il-kumpanija mill-impjegat tagħha li jaħżenha, tinstema' b'xi mod mhux korrett (diġà kellha dak li setgħet issellef mingħandu għal żmien twil).

Iżda l-FS lokali għandhom ħafna x'jitgħallmu minn dawk tan-netwerk. L-ewwelnett, għandek titgħallem minnhom kif taggrega volumi loġiċi f'livell għoli. Issa l-hekk imsejħa Sistemi ta’ fajls lokali “avvanzati” jiġbru l-volumi loġiċi esklussivament bl-użu ta’ teknoloġija ta’ “apparat virtwali” mislufa minn LVM (dak l-istess vjolazzjoni ta’ saffi infettivi li ġiet implimentata għall-ewwel darba f’ZFS). Fi kliem ieħor, it-traduzzjoni ta 'indirizzi virtwali (numri ta' blokki) f'dawk reali u lura sseħħ f'livell baxx (jiġifieri, wara li s-sistema tal-fajls tkun ħarġet talba I/O).

Jekk jogħġbok innota li ż-żieda u t-tneħħija ta 'apparati għal volumi loġiċi (mhux mirja) irranġati fuq is-saff tal-blokka twassal għal problemi li l-fornituri ta' "karatteristiċi" bħal dawn huma modestament siekta dwarhom. Qed nitkellem dwar il-frammentazzjoni fuq apparat reali, li jistgħu jilħqu valuri mostrużi, filwaqt li fuq apparat virtwali kollox tajjeb. Madankollu, ftit nies huma interessati fl-apparat virtwali: kulħadd huwa interessat f'dak li qed jiġri fuq it-tagħmir reali tiegħek. Iżda FS bħal ZFS (kif ukoll kwalunkwe FS flimkien ma 'LVM) jaħdmu biss ma' apparati ta 'disk virtwali (jallokaw indirizzi ta' disk virtwali minn fost dawk ħielsa, deframmenta dawn l-apparati virtwali, eċċ.). U m'għandhom l-ebda idea x'qed jiġri fuq apparat reali!

Issa immaġina li għandek żero frammentazzjoni fuq l-apparat virtwali (jiġifieri, għandek biss punt ġgant wieħed li tgħix hemm), inti żżid disk mal-volum loġiku tiegħek, u mbagħad neħħi disk każwali ieħor mill-volum loġiku tiegħek u mbagħad ibbilanċja mill-ġdid. U tant drabi. Mhuwiex diffiċli li timmaġina li fuq l-apparat virtwali xorta jkollok dak l-istess punt tgħix, iżda fuq apparat reali ma tara xejn tajjeb.

L-agħar ħaġa hi li lanqas biss int kapaċi tikkoreġi din is-sitwazzjoni! L-unika ħaġa li tista 'tagħmel hawnhekk hija li titlob lis-sistema tal-fajls biex tiddeframmenta l-apparat virtwali. Imma hi se tgħidlek li kollox huwa kbir hemmhekk - hemm biss punt wieħed, il-frammentazzjoni hija żero, u ma tistax tkun aħjar! Allura, volumi loġiċi rranġati fil-livell tal-blokk mhumiex maħsuba għal żieda/tneħħija ripetuti ta 'apparati. B'mod tajjeb, għandek bżonn biss li tiġbor volum loġiku fil-livell tal-blokk darba, tagħtih lis-sistema tal-fajls, u mbagħad ma tagħmel xejn aktar magħha.

Barra minn hekk, il-kombinazzjoni ta’ sottosistemi indipendenti FS+LVM ma tippermettix li titqies in-natura differenti tad-drajvs li minnhom il-volumi loġiċi huma aggregati. Tabilħaqq, ejja ngħidu li inti assemblajt volum loġiku minn HDDs u apparat solid-state. Iżda mbagħad l-ewwel se jeħtieġu deframmentazzjoni, u l-aħħar le. Għal dawn tal-aħħar, trid toħroġ talbiet għar-rimi, iżda għall-ewwel, le, eċċ. Madankollu, f'din il-kombinazzjoni huwa pjuttost diffiċli li turi selettività bħal din.

Innota li wara li toħloq LVM tiegħek stess fuq is-sistema tal-fajls, is-sitwazzjoni ma tmurx ħafna aħjar. Barra minn hekk, billi tagħmel dan inti fil-fatt ttemm il-prospett li qatt ittejjeb fil-futur. Dan huwa ħażin ħafna. Tipi differenti ta 'drives jistgħu jgħixu fuq l-istess magna. U jekk is-sistema tal-fajls ma tiddistingwix bejniethom, allura min se?

Problema oħra tinsab fl-istennija għall-hekk imsejħa. Sistemi ta 'fajls "Write-Anywhere" (dan jinkludi wkoll Reiser4, jekk speċifikajt il-mudell transazzjonali xieraq waqt l-immuntar). Tali sistemi ta 'fajls għandhom jipprovdu għodod ta' deframmentazzjoni li huma bla preċedent fis-setgħa tagħhom. U l-maniġer tal-volum ta 'livell baxx ma jgħinx hawn, iżda jfixkel biss. Il-fatt hu li b'tali maniġer, l-FS tiegħek ser jaħżen mappa ta 'blokki ħielsa ta' apparat wieħed biss - wieħed virtwali. Għaldaqstant, tista 'biss deframmenta apparat virtwali. Dan ifisser li d-defragmenter tiegħek se jaħdem għal żmien twil u twil fuq spazju wieħed enormi ta 'indirizzi virtwali.

U jekk għandek ħafna utenti li jagħmlu overwrites każwali, allura l-effett utli ta 'tali defragmenter se jitnaqqas għal żero. Is-sistema tiegħek inevitabbilment se tibda tonqos, u jkollok biss li tintewa idejk quddiem id-dijanjosi diżappuntanti "disinn miksur". Diversi deframmentaturi li jaħdmu fuq l-istess spazju ta 'indirizzi se jinterferixxu ma' xulxin biss. Hija kwistjoni kompletament differenti jekk iżżomm il-mappa tiegħek ta 'blokki b'xejn għal kull apparat reali. Dan se jipparallelizza b'mod effettiv il-proċess ta 'deframmentazzjoni.

Iżda dan jista 'jsir biss jekk għandek maniġer tal-volum loġiku ta' livell għoli. Sistemi ta 'fajls lokali ma' maniġers bħal dawn ma kinux jeżistu qabel (għall-inqas, ma nafx dwarhom). Is-sistemi ta' fajls tan-netwerk biss (pereżempju GlusterFS) kellhom tali maniġers. Eżempju ieħor importanti ħafna huwa l-utilità tal-kontroll tal-integrità tal-volum (fsck). Jekk taħżen il-mappa indipendenti tiegħek ta 'blokki ħielsa għal kull subvolum, allura l-proċedura għall-iċċekkjar ta' volum loġiku tista 'tiġi parallelizzata b'mod effettiv. Fi kliem ieħor, volumi loġiċi b'maniġers ta 'livell għoli jiskalaw aħjar.

Barra minn hekk, ma 'maniġers ta' volum ta 'livell baxx ma tkunx tista' torganizza snapshots sħiħ. B'sistemi ta 'fajls bħal LVM u ZFS, tista' tieħu snapshots lokali biss, iżda mhux snapshots globali. Snapshots lokali jippermettulek li istantanjament terġa' lura biss operazzjonijiet regolari tal-fajls. U ħadd hemm se jreġġa' lura operazzjonijiet b'volumi loġiċi (żieda/tneħħija ta 'apparati). Ejja nħarsu lejn dan b'eżempju. F'xi punt fiż-żmien, meta jkollok volum loġiku ta 'żewġ apparati A u B li fihom 100 fajl, tieħu stampa tas-sistema S u mbagħad toħloq mitt fajl ieħor.

Wara dan, iżżid it-tagħmir C mal-volum tiegħek, u fl-aħħar jerġa' lura s-sistema tiegħek għal snapshot S. Mistoqsija: Kemm-il fajls u apparati fih il-volum loġiku tiegħek wara rollback għal S? Se jkun hemm 100 fajl, kif forsi bdejt, iżda se jkun hemm 3 apparati - dawn huma l-istess apparati A, B u Ċ, għalkemm fiż-żmien li nħolqot l-istampa kien hemm biss żewġ apparati fis-sistema (A u B ). L-operazzjoni tal-apparat C żid ma rritornatx lura, u jekk issa tneħħi l-apparat C mill-kompjuter, se korrotti d-dejta tiegħek, għalhekk qabel ma tħassar ser ikollok bżonn l-ewwel twettaq operazzjoni għalja biex tneħħi l-apparat mill-volum loġiku tal-ibbilanċjar mill-ġdid, li se tferrex id-dejta kollha mill-apparat C għall-apparati A u B. Imma jekk l-FS tiegħek appoġġa snapshots globali, tali ribilanċjar ma jkunx meħtieġ, u wara qlib immedjat għal S, tista 'tneħħi b'mod sikur l-apparat C mill-kompjuter.

Allura, snapshots globali huma tajbin għax jippermettulek tevita t-tneħħija għalja (żieda) ta 'apparat minn volum loġiku (għal volum loġiku) b'ammont kbir ta' dejta (naturalment, jekk tiftakar li "snapshot" is-sistema tiegħek fil-ħin it-tajjeb). Ħa nfakkarkom li l-ħolqien ta' snapshots u l-irrumblar lura tas-sistema tal-fajls għalihom huma operazzjonijiet istantanji. Tista 'tqum il-mistoqsija: kif huwa saħansitra possibbli li tirreġġa' lura istantanjament operazzjoni fuq volum loġiku li ħadtek tlett ijiem? Imma huwa possibbli! Sakemm is-sistema tal-fajls tiegħek tkun iddisinjata b'mod korrett. Ħarġejt bl-idea ta '"snapshots 3D" bħal dawn tliet snin ilu, u s-sena li għaddiet ipprivattivjt din it-teknika.

Il-ħaġa li jmiss li l-FS lokali għandhom jitgħallmu minn dawk tan-netwerk hija li jaħżnu l-metadejta fuq apparati separati bl-istess mod li l-FSs tan-netwerk jaħżnuhom fuq magni separati (l-hekk imsejħa servers tal-metadejta). Hemm applikazzjonijiet li jaħdmu primarjament mal-metadata, u dawn l-applikazzjonijiet jistgħu jiġu aċċellerati ħafna billi l-metadata titqiegħed fuq apparati ta 'ħażna għaljin ta' prestazzjoni għolja. Bil-kombinazzjoni FS+LVM, ma tkunx tista' turi selettività bħal din: LVM ma jafx x'hemm fuq il-blokka li għaddijtlu (dejta hemmhekk jew metadejta).

Mhux se tikseb ħafna benefiċċju mill-implimentazzjoni tal-LVM ta 'livell baxx tiegħek stess fl-FS meta mqabbel mal-kombinazzjoni FS + LVM, iżda dak li tista' tagħmel tajjeb ħafna huwa tfixkel l-FS sabiex aktar tard isir impossibbli li taħdem bil-kodiċi tagħha. ZFS u Btrfs, li ġrew b'apparat virtwali, huma kollha eżempji ċari ta 'kif il-ksur ta' saffi joqtol is-sistema f'termini arkitettoniċi Allura, għaliex jien dan kollu? Barra minn hekk, m'hemmx bżonn li tibni l-LVM ta 'livell baxx tiegħek fis-sistema tal-fajls. Minflok, għandek bżonn taggrega l-apparati f'volumi loġiċi f'livell għoli, kif jagħmlu xi sistemi ta 'fajls tan-netwerk b'magni differenti (nodi tal-ħażna). Veru, jagħmlu dan b'mod disgustingly minħabba l-użu ta 'algoritmi ħżiena.

Eżempji ta 'algoritmi assolutament terribbli huma t-traduttur DHT fis-sistema tal-fajls GlusterFS u l-hekk imsejħa mappa CRUSH fis-sistema tal-fajls Ceph. L-ebda wieħed mill-algoritmi li rajt ma sodisfatti f'termini ta 'sempliċità u skalabbiltà tajba. Għalhekk kelli niftakar l-alġebra u nivvinta kollox jien. Fl-2015, waqt li nesperimenta bil-qatet fuq il-funzjonijiet tal-hash, ħriġt bi privattiva u xi ħaġa li taqbelni. Issa nista’ ngħid li l-attentat biex dan kollu jitpoġġa fil-prattika kien ta’ suċċess. Ma nara l-ebda problema bl-iskalabbiltà fl-approċċ il-ġdid.

Iva, kull subvolum se jeħtieġ struttura separata bħal superblock fil-memorja. Dan huwa ħafna tal-biża? B'mod ġenerali, ma nafx min se "għalli l-oċean" u joħloq volumi loġiċi ta 'mijiet ta' eluf jew aktar apparati fuq magna lokali waħda. Jekk xi ħadd jista’ jispjegali dan, inkun grat ħafna. Sadanittant, għalija dan huwa bullshit tal-marketing.

Kif il-bidliet fis-subsistema tal-apparat tal-blokk tal-qalba (per eżempju, id-dehra ta 'blk-mq) affettwaw ir-rekwiżiti għall-implimentazzjoni tal-FS?

Ma kellhom l-ebda impatt. Ma nafx x'jiġri fuq is-saff tal-blokk li jagħmilha meħtieġa li tiddisinja FS ġdid. L-interface ta' interazzjoni ta' dawn is-sottosistemi hija fqira ħafna. Min-naħa tas-sewwieq, l-FS għandu jiġi affettwat biss mid-dehra ta 'tipi ġodda ta' drives, li għalihom l-ewwel se jiġi aġġustat is-saff tal-blokk, u mbagħad l-FS (għal reiser4 dan se jfisser id-dehra ta 'plugins ġodda).

L-emerġenza ta 'tipi ġodda ta' midja (per eżempju, SMR, jew l-ubikwità ta 'SSDs) tfisser sfidi fundamentalment ġodda għad-disinn tas-sistema tal-fajls?

Iva. U dawn huma inċentivi normali għall-iżvilupp tal-FS. L-isfidi jistgħu jkunu differenti u kompletament mhux mistennija. Per eżempju, smajt dwar drives fejn il-veloċità ta 'operazzjoni I/O hija dipendenti ħafna fuq id-daqs ta' biċċa dejta u l-offset tagħha. Fil-Linux, fejn id-daqs tal-blokk FS ma jistax jaqbeż id-daqs tal-paġna, drive bħal dan mhux se juri l-kapaċitajiet kollha tiegħu b'mod awtomatiku. Madankollu, jekk is-sistema tal-fajls tiegħek hija ddisinjata b'mod korrett, allura hemm ċans li tikseb ħafna aktar minnha.

Kemm nies qed jaħdmu bħalissa bil-kodiċi Reiser4 minbarra int?

Inqas milli nixtieq, imma lanqas ma nesperjenza nuqqas akut ta' riżorsi. Jien iktar minn sodisfatt bir-ritmu ta' żvilupp ta' Reiser4. Jien mhux se "ssuq iż-żwiemel" - din mhix iż-żona t-tajba. Hawnhekk, "jekk issuq aktar bil-kwiet, tibqa' għaddej!" Sistema ta 'fajls moderna hija s-subsistema tal-qalba l-aktar kumplessa, li d-deċiżjonijiet tad-disinn ħażin tagħha jistgħu jneħħu s-snin sussegwenti ta' xogħol uman.

Billi noffru voluntiera biex jimplimentaw xi ħaġa, dejjem niggarantixxi li l-isforzi ċertament se jwasslu għar-riżultat korrett, li jista 'jkun fid-domanda għal bżonnijiet serji. Kif tifhem, ma jistax ikun hemm ħafna garanziji bħal dawn f'daqqa. Fl-istess ħin, ma niflaħx "figuri" li bla mistħija jippromwovu "karatteristiċi" ta 'softwer ovvjament li ma jistax jintuża, iqarraq mijiet ta' utenti u żviluppaturi, u fl-istess ħin joqogħdu u jitbissmu fis-summits tal-kernel.

Xi kumpanija esprimiet ir-rieda li tappoġġja l-iżvilupp ta' Reiser4?

Iva, kien hemm proposti bħal dawn, inkl. u minn bejjiegħ ewlieni. Imma għal dan kelli noqgħod immur f’pajjiż ieħor. Sfortunatament, m'għadniex 30 sena, ma nistax inkisser u nitlaq hekk mal-ewwel whistle.

Liema karatteristiċi bħalissa huma neqsin minn Reiser4?

M'hemm l-ebda funzjoni "resize" għal volumi sempliċi, simili għal dik misjuba f'ReiserFS(v3). Barra minn hekk, l-operazzjonijiet tal-fajls bil-bandiera DIRECT_IO ma jweġġgħux. Sussegwentement, nixtieq inkun kapaċi nissegrega volum f'"subvolumi semantiċi", li m'għandhomx daqs fiss, u li jistgħu jiġu mmuntati bħala volumi indipendenti. Dawn il-problemi huma tajbin għal dawk li jibdew li jridu jippruvaw idejhom fil-"ħaġa reali."

U fl-aħħarnett, nixtieq li jkolli volumi loġiċi tan-netwerk b'implimentazzjoni u amministrazzjoni sempliċi (algoritmi moderni diġà jippermettu dan). Imma dak li Reiser4 żgur qatt mhu se jkollu huwa RAID-Z, scrubs, caches ta 'spazju ħieles, varjabbli ta' 128-bit u nonsense oħra ta 'kummerċjalizzazzjoni li nħolqu fl-isfond ta' nuqqas ta 'ideat fost l-iżviluppaturi ta' xi sistemi ta 'fajls.

Jista' dak kollu li jista' jkun meħtieġ jiġi implimentat minn plugins?

Jekk nitkellmu biss f'termini ta 'interfaces u plugins (moduli) li jimplimentawhom, allura mhux kollox. Imma jekk tintroduċi wkoll relazzjonijiet fuq dawn l-interfaces, allura, fost affarijiet oħra, ikollok il-kunċetti ta 'polimorfiżmi ogħla, li diġà tista' tgħaddi magħhom. Immaġina li ffriżajt ipotetikament sistema ta 'runtime orjentata lejn l-oġġetti, biddilt il-valur tal-pointer tal-istruzzjoni biex tipponta lejn plugin ieħor li jimplimenta l-istess interface X, u mbagħad żfriżat is-sistema sabiex tkompli tesegwixxi.

Jekk l-utent aħħari ma jinnotax tali "sostituzzjoni," allura ngħidu li s-sistema għandha polimorfiżmu ta 'ordni żero fl-interface X (jew is-sistema hija eteroġenja fl-interface X, li hija l-istess ħaġa). Jekk issa mhux biss għandek sett ta 'interfaces, iżda wkoll għandek relazzjonijiet fuqhom (graff tal-interface), allura tista' tintroduċi polimorfiżmi ta 'ordnijiet ogħla, li jikkaratterizzaw l-eteroġeneità tas-sistema diġà fil- "viċinat" ta' kwalunkwe interface. Jien daħħalt klassifikazzjoni bħal din ħafna żmien ilu, iżda, sfortunatament, qatt ma ġara.

Għalhekk, bl-għajnuna ta 'plugins u polimorfiżmi ogħla bħal dawn, tista' tiddeskrivi kwalunkwe karatteristika magħrufa, kif ukoll "tbassar" dawk li qatt ma ssemmew. Ma stajtx nipprova dan b'mod strett, iżda lanqas ma naf b'kontroeżempju s'issa. B'mod ġenerali, din il-mistoqsija fakkritni fil-"Programm Erlangen" ta' Felix Klein. F'ħin minnhom ipprova jirrappreżenta l-ġeometrija kollha bħala fergħa tal-alġebra (speċifikament, it-teorija tal-gruppi).

Issa għall-mistoqsija ewlenija - kif sejrin l-affarijiet bil-promozzjoni ta 'Reiser4 għall-qalba ewlenija? Kien hemm xi pubblikazzjonijiet dwar l-arkitettura ta' din is-sistema ta' fajls li tkellimt dwarhom fl-aħħar intervista? Kemm hi rilevanti din il-mistoqsija mil-lat tiegħek?

B'mod ġenerali, ilna tliet snin nitolbu għall-inklużjoni fil-fergħa ewlenija. L-aħħar kumment ta’ Reiser fil-fil pubbliku fejn saret it-talba tal-ġibda baqa’ bla tweġiba. Allura l-mistoqsijiet oħra kollha mhumiex għalina. Jien personalment ma nifhimx għaliex għandna bżonn "jingħaqdu" f'sistema operattiva speċifika. Fuq Linux, id-dawl ma kkonverġix bħal feles. Għalhekk, hemm repożitorju separat li fih se jkun hemm diversi fergħat-portijiet għal OSs differenti. Min għandu bżonnu jista’ jikklona l-port korrispondenti u jagħmel dak kollu li trid miegħu (fi ħdan il-liċenzja, ovvjament). Ukoll, jekk xi ħadd m'għandux bżonnha, allura mhix il-problema tiegħi. F'dan il-punt, nipproponi li nikkunsidra l-kwistjoni ta '"promozzjoni fil-kernel Linux prinċipali" kif stabbilita.

Pubblikazzjonijiet dwar l-arkitettura FS huma rilevanti, iżda s'issa sibt biss ħin għar-riżultati l-ġodda tiegħi, li nikkunsidra bħala prijorità ogħla. Ħaġa oħra hija li jien matematiku, u fil-matematika kull pubblikazzjoni hija sommarju tat-teoremi u l-provi tagħhom. Il-pubblikazzjoni ta’ xi ħaġa hemmhekk mingħajr prova hija sinjal ta’ togħma ħażina. Jekk nipprova bir-reqqa jew niċħad kwalunkwe dikjarazzjoni dwar l-arkitettura tal-FS, allura r-riżultat ikun tali munzelli li jkun pjuttost diffiċli li wieħed jgħaddi. Min għandu bżonnha? Dan huwa probabbilment għaliex kollox jibqa 'fil-forma l-antika tiegħu - il-kodiċi tas-sors u l-kummenti tiegħu.

X'hemm ġdid f'Reiser4 matul l-aħħar ftit snin?

L-istabbiltà tant mistennija fl-aħħar seħħet. Wieħed mill-aħħar li deher kien bug li wassal għal direttorji "li ma jitħassrux". Id-diffikultà kienet li deher biss fl-isfond ta 'ħabtiet tal-hash tal-isem u b'ċertu post ta' rekords tad-direttorju f'node tas-siġra. Madankollu, xorta ma nistax nirrakkomanda lil Reiser4 għall-produzzjoni: għal dan għandek bżonn tagħmel xi xogħol b'interazzjoni attiva mal-amministraturi tas-sistema tal-produzzjoni.

Fl-aħħar irnexxielna nimplimentaw l-idea li ilha twila tagħna - mudelli ta’ tranżazzjonijiet differenti. Preċedentement, Reiser4 mexxa biss mudell Macdonald-Reiser hardcoded wieħed. Dan ħoloq problemi ta 'disinn. B'mod partikolari, snapshots mhumiex possibbli f'tali mudell transazzjonali - se jkunu korrotti minn komponent atomiku msejjaħ "OVERWRITE SET". Reiser4 bħalissa jappoġġja tliet mudelli ta 'tranżazzjoni. F'waħda minnhom (Write-Anywhere), il-komponent atomiku OVERWRITE SET jinkludi biss paġni tas-sistema (immaġini ta 'bitmaps disk, eċċ.), Li ma jistgħux jiġu "ritrattati" (il-problema tat-tiġieġ u l-bajd).

Allura l-istampi issa jistgħu jiġu realizzati bl-aħjar mod possibbli. F'mudell transazzjonali ieħor, il-paġni kollha modifikati jmorru biss għas-SET OVERWRITE (jiġifieri, huwa essenzjalment ġurnaling pur). Dan il-mudell huwa għal dawk li lmentaw dwar il-frammentazzjoni mgħaġġla tal-ħitan Reiser4. Issa f'dan il-mudell il-partizzjoni tiegħek se tifframmenta mhux aktar malajr milli b'ReiserFS (v3). It-tliet mudelli eżistenti, b'xi riservi, jiggarantixxu l-atomiċità tal-operazzjonijiet, iżda mudelli b'telf ta 'atomiċità u li jippreservaw biss l-integrità tas-sezzjoni jistgħu jkunu utli wkoll. Mudelli bħal dawn jistgħu jkunu utli għal kull tip ta 'applikazzjonijiet (databases, eċċ.), li diġà ħadu xi wħud minn dawn il-funzjonijiet. Huwa faċli ħafna li żżid dawn il-mudelli ma 'Reiser4, imma jien ma għamiltx, għax ħadd ma talabni, u jien personalment m'għandix bżonnha.

Dehru checksums tal-metadata u reċentement komplejthom b'mirja "ekonomiċi"" (materjal għadu instabbli). Jekk iċ-checksum ta 'kwalunkwe blokk ifalli, Reiser4 immedjatament jaqra l-blokk korrispondenti mill-apparat replika. Innota li ZFS u Btrfs ma jistgħux jagħmlu dan: id-disinn ma jippermettix dan. Hemm trid tmexxi proċess speċjali ta 'skanjar fl-isfond imsejjaħ "scrub" u stenna li tasal sal-blokk problematiku. Il-programmaturi b’mod figurattiv isejħu avvenimenti bħal dawn “krozzi.”

U fl-aħħarnett, dehru volumi loġiċi eteroġenji, li joffru dak kollu li ZFS, Btrfs, saff ta 'blokk, kif ukoll kombinazzjonijiet FS + LVM fil-prinċipju ma jistgħux jipprovdu - skalar parallel, allokatur tal-indirizz tad-diska O(1), migrazzjoni trasparenti tad-dejta bejn subvolumi. Dan tal-aħħar għandu wkoll interface tal-utent. Issa tista 'faċilment iċċaqlaq id-data l-aktar sħuna lejn id-drajv bl-ogħla prestazzjoni fuq il-volum tiegħek.

Barra minn hekk, huwa possibbli li titlaħlaħ b'mod urġenti kwalunkwe paġni maħmuġin għal tali drive, u b'hekk jitħaffu b'mod sinifikanti l-applikazzjonijiet li ħafna drabi jsejħu fsync(2). Ninnota li l-funzjonalità tas-saff tal-blokk, imsejħa bcache, ma tipprovdi din il-libertà ta 'azzjoni xejn. Volumi loġiċi ġodda huma bbażati fuq l-algoritmi tiegħi (hemm privattivi korrispondenti). Is-softwer diġà huwa pjuttost stabbli, huwa pjuttost possibbli li tipprovaha, tkejjel il-prestazzjoni, eċċ. L-uniku inkonvenjent huwa li għalissa trid taġġorna manwalment il-konfigurazzjoni tal-volum u taħżenha x'imkien.

S'issa stajt nimplimenta l-ideat tiegħi b'10 fil-mija Madankollu, irnexxieli f'dak li qiest l-iktar ħaġa diffiċli - li ngħaqqad volumi loġiċi bi proċedura flash li twettaq l-azzjonijiet differiti kollha f'reiser4. Dan kollu għadu fil-fergħa sperimentali "format41".

Reiser4 jgħaddi xfstests?

Mill-inqas hekk għamel għalija meta kont qed nipprepara l-aħħar ħarġa.

Huwa possibbli fil-prinċipju li Reiser4 isir netwerk (cluster) FS bl-użu ta 'plugins?

Huwa possibbli, u anke meħtieġ! Jekk toħloq fajl tan-netwerk ibbażat fuq sistema ta' fajl lokali ddisinjata sew, ir-riżultat ikun impressjonanti ħafna! F'FSs tan-netwerk moderni, m'inix sodisfatt bil-preżenza ta 'livell ta' ħażna backend, li huwa implimentat bl-użu ta 'xi FS lokali. L-eżistenza ta' dan il-livell hija kompletament inġustifikata. In-netwerk FS għandu jinteraġixxi direttament mas-saff tal-blokk, u mhux jitlob lill-FS lokali biex joħloq xi fajls ta 'servizz ieħor!

B'mod ġenerali, il-qsim tas-sistemi tal-fajls f'lokali u f'netwerk huwa mill-ħażin. Din ħarġet mill-imperfezzjoni tal-algoritmi li ntużaw tletin sena ilu, u li minflokhom għadu ma ġie propost xejn. Din hija wkoll ir-raġuni għad-dehra ta 'massa ta' komponenti ta 'softwer mhux meħtieġa (diversi servizzi, eċċ.). B'mod tajjeb, għandu jkun hemm FS wieħed biss fil-forma ta 'modulu tal-kernel u sett ta' utilitajiet tal-utent installati fuq kull magna - node ta 'cluster. Dan l-FS huwa kemm lokali kif ukoll tan-netwerk. U xejn aktar!

Jekk xejn ma jaħdem ma' Reiser4 fuq Linux, nixtieq noffri FS għal FreeBSD (kwotazzjoni minn intervista preċedenti: “...FreeBSD... għandu għeruq akkademiċi... U dan ifisser li bi grad għoli ta' probabbiltà aħna se ssib lingwa komuni mal-iżviluppaturi”) ?

Allura, kif għadna kif sirna, kollox diġà ħadem perfettament mal-Linux: hemm port Reiser4 li jaħdem separat għalih fil-forma ta 'fergħa prinċipali tar-repożitorju tagħna. Ma nsejtx dwar FreeBSD! Offerta! Jien lest li naħdem mill-qrib ma’ dawk li jafu sew il-ġewwieni tal-FreeBSD. Mill-mod: dak li jogħġobni ħafna fil-komunità tagħhom huwa li d-deċiżjonijiet hemmhekk jittieħdu minn kunsill aġġornat ta 'esperti indipendenti, li m'għandu x'jaqsam xejn mal-qerq tal-gvern ta' persuna permanenti waħda.

Kif tikklassifika l-komunità tal-utenti tal-Linux illum? Sar aktar "pop"?

Minħabba n-natura tax-xogħol tiegħi, huwa pjuttost diffiċli għalija li nevalwa dan. Il-biċċa l-kbira tal-utenti jiġu għandi b'rapporti tal-bugs u talbiet biex tiġi ffissata t-taqsima. Utenti bħala utenti. Xi wħud huma aktar sofistikati, xi wħud inqas. Kulħadd jiġi ttrattat l-istess. Ukoll, jekk l-utent jinjora l-istruzzjonijiet tiegħi, allura skużani: l-ordni ta 'jinjora se tiddaħħal min-naħa tiegħi wkoll.

Huwa possibbli li wieħed ibassar l-iżvilupp tas-sistemi tal-fajls għall-ħames sa għaxar snin li ġejjin? X'taħseb li huma l-isfidi ewlenin li jistgħu jiffaċċjaw l-iżviluppaturi tal-FS?

Iva, mhuwiex diffiċli li tagħmel tali tbassir. Ma kien hemm l-ebda żvilupp ta 'sistemi ta' fajls fil-upstream għal żmien twil. Id-dehra ta 'tali biss hija maħluqa. Iżviluppaturi ta 'sistemi ta' fajls lokali sab problemi assoċjati ma 'disinn fqir. Hemm bżonn li ssir twissija hawn. Ma nqisx l-hekk imsejħa "ħażna", "licking" u porting tal-kodiċi bħala żvilupp u żvilupp. U ma nikklassifikax in-nuqqas ta 'ftehim imsejjaħ "Btrfs" bħala żvilupp għar-raġunijiet li diġà spjegajt.

Kull garża biss tagħmel il-problemi tagħha agħar. Ukoll. u dejjem hemm diversi tipi taʼ “evanġelisti” li għalihom “kollox jaħdem.” Bażikament, dawn huma tfal tal-iskola u studenti li jaqbżu l-lectures. Immaġina biss: taħdem għalih, iżda l-professur le. X’adrenalina hi din! Mill-perspettiva tiegħi, l-akbar ħsara hija kkawżata mill-"artiġjani" li għaġġru biex b'entużjażmu "iskrun" il-karatteristiċi mill-isbaħ ta 'Btrfs fuq kull xorta ta' saffi bħal systemd, docker, eċċ. - dan diġà jixbah metastasi.

Issa ejja nippruvaw nagħmlu tbassir għal ħames sa għaxar snin. Diġà elenkajt fil-qosor x'se nagħmlu f'Reiser4. L-isfida ewlenija għall-iżviluppaturi lokali tal-FS minn upstream se tkun (iva, diġà saret) l-inkapaċità li jagħmlu xogħol deċenti għal salarju. Mingħajr l-ebda ideat fil-qasam tal-ħażna tad-data, huma se jkomplu jippruvaw garża dawn VFS, XFS u ext4 sfortunati. Is-sitwazzjoni ma’ VFS tidher speċjalment komika f’dan l-isfond, li tfakkar fil-modernizzazzjoni frenetika ta’ ristorant li fih m’hemmx koki, u l-ebda koki huma mistennija.

Issa l-kodiċi VFS, mingħajr ebda kundizzjoni, jissakkar diversi paġni tal-memorja fl-istess ħin u jistieden lill-FS sottostanti biex jopera fuqhom. Dan ġie introdott biex itejjeb il-prestazzjoni ta 'Ext4 fuq operazzjonijiet ta' tħassir, iżda kif huwa faċli biex jinftiehem, tali qfil konkorrenti huwa kompletament inkompatibbli ma 'mudelli ta' tranżazzjonijiet avvanzati. Jiġifieri, mhux se tkun tista 'sempliċement iżżid appoġġ għal xi sistema ta' fajl intelliġenti fil-qalba. Ma nafx x'inhi s-sitwazzjoni f'oqsma oħra tal-Linux, iżda f'dak li għandu x'jaqsam mas-sistemi tal-fajls, kwalunkwe żvilupp hawnhekk x'aktarx li ma jkunx kompatibbli mal-politika segwita minn Torvalds fil-prattika (il-proġetti akkademiċi jitkeċċew, u scammers li m'għandkom l-ebda idea x'siġra B, krediti ta' fiduċja bla tmiem jinħarġu). Għalhekk, ġiet stabbilita kors għat-tħassir bil-mod. M’għandniex xi ngħidu, se jipprovaw bil- qawwa kollha biex jgħadduha bħala “żvilupp.”

Barra minn hekk, il-"kustodji" tas-sistemi tal-fajls, billi jirrealizzaw li mhux se taqla 'ħafna mill-"ħażna" waħdu, se jippruvaw idejhom f'negozju aktar profittabbli. Dawn huma, bħala regola, sistemi ta 'fajls distribwiti u virtwalizzazzjoni. Forsi se jġibu l-moda ZFS x'imkien ieħor fejn għadu ma jeżistix. Iżda, bħall-FS kollha mill-upstream, tixbaħ siġra tas-Sena l-Ġdida: jekk tista 'tistrieħ xi affarijiet żgħar oħra fuq nett, allura ma tistax tikseb aktar fil-fond. Nammetti li huwa possibbli li tinbena sistema ta 'intrapriża serja bbażata fuq ZFS, iżda peress li issa qed niddiskutu l-futur, nista' biss sfortunatament niddikjara li ZFS hija bla tama f'dan ir-rigward: bl-apparat virtwali tagħhom, il-guys qatgħu l-ossiġnu. għalihom infushom u għall-ġenerazzjonijiet futuri għal aktar żvilupp. ZFS hija xi ħaġa tal-passat. U ext4 u XFS lanqas huma l-ġurnata ta 'qabel il-bieraħ.

Ta 'min isemmi separatament dwar il-kunċett sensazzjonali ta' "Sistema ta 'fajls Linux tal-ġenerazzjoni li jmiss". Dan huwa proġett kompletament politiku u ta' kummerċjalizzazzjoni maħluq għall-opportunità, biex ngħidu hekk, li "jpinġa l-futur tas-sistemi tal-fajls" fil-Linux wara karattri speċifiċi. Il-fatt hu li Linux kien "biss għall-gost". Imma issa hija primarjament magna li tagħmel il-flus. Huma magħmula fuq dak kollu possibbli. Pereżempju, huwa diffiċli ħafna li jinħoloq prodott ta 'softwer tajjeb, iżda "żviluppaturi" intelliġenti ilhom indunaw li m'hemm l-ebda ħtieġa li tisforza xejn: tista' tbigħ b'suċċess softwer ineżistenti li ġie mħabbar u promoss f'kull tip ta 'pubbliku. avvenimenti - il-ħaġa prinċipali hija li s-slajds tal-preżentazzjoni għandu jkun fihom aktar "karatteristiċi".

Is-sistemi tal-fajls huma perfetti għal dan, għaliex tista 'tinnegozja b'mod sikur għal għaxar snin fuq ir-riżultat. Ukoll, jekk xi ħadd aktar tard jilmenta dwar in-nuqqas ta 'dan ir-riżultat stess, allura sempliċement ma jifhem xejn dwar is-sistemi tal-fajls! Dan huwa reminixxenti ta 'piramida finanzjarja: fil-quċċata huma l-avventurieri li bdew dan il-mess, u dawk il-ftit li kienu "xxurtjati": huma "irtiraw dividendi," i.e. irċieva flus għall-iżvilupp, kiseb impjieg imħallas tajjeb bħala maniġers, "uriet" f'konferenzi, eċċ.

Wara jiġu dawk li huma "sfortunati": se jgħoddu t-telf, jittrattaw il-konsegwenzi tal-iskjerament ta 'prodott ta' softwer li ma jistax jintuża fil-produzzjoni, "eċċ. Hemm ħafna aktar minnhom. Ukoll, fil-bażi tal-piramida hemm massa enormi ta 'żviluppaturi li "serrar" kodiċi inutli. Huma l-akbar telliefa, għax il-ħin moħli ma jistax jiġi rritornat. Piramidi bħal dawn huma taʼ benefiċċju kbir għal Torvalds u sħabu. U l-aktar minn dawn il-piramidi, l-aħjar għalihom. Biex jitimgħu tali piramidi, xi ħaġa tista 'tittieħed fil-qalba. Naturalment, fil-pubbliku jgħidu l-oppost. Imma jien niġġudika mhux bil-kliem imma bl-azzjonijiet.

Allura, "il-futur tas-sistemi tal-fajls fil-Linux" huwa softwer ieħor promoss ħafna, iżda li ma tantx jista' jintuża. Wara Btrfs, bi probabbiltà għolja, il-post ta 'tali "futur" se jittieħed minn Bcachefs, li huwa tentattiv ieħor biex jaqsam is-saff tal-blokki Linux b'sistema ta' fajls (eżempju ħażin huwa kontaġjuż). U dak li huwa tipiku: hemm l-istess problemi bħal fil-Btrfs. Issuspettat dan għal żmien twil, u mbagħad b'xi mod ma stajtx nirreżisti u ħarist fil-kodiċi - huwa veru!

L-awturi ta 'Bcachefs u Btrfs, meta ħolqu l-FS tagħhom, użaw b'mod attiv is-sorsi ta' nies oħra, u fehmu ftit dwarhom. Is-sitwazzjoni tfakkar ħafna fil-logħba tat-tfal "telefon imkisser." U nista' bejn wieħed u ieħor nimmaġina kif dan il-kodiċi se jiġi inkluż fil-qalba. Fil-fatt, ħadd mhu se jara l-"rakes" (kulħadd se jmur fuqhom aktar tard). Wara bosta kwieti dwar l-istil tal-kodiċi, akkużi ta 'vjolazzjonijiet ineżistenti, eċċ., Se ssir konklużjoni dwar il-"lealtà" tal-awtur, kemm hu "jinteraġixxi" tajjeb ma' żviluppaturi oħra, u kemm dan kollu jista 'jkun b'suċċess. imbagħad jinbiegħu lill-korporazzjonijiet.

Ir-riżultat aħħari mhu se jinteressa lil ħadd. Għoxrin sena ilu, forsi, kont ninteressa ruħi, imma issa l-mistoqsijiet jitressqu b’mod differenti: se jkun possibbli li dan jiġi promoss biex ċerti nies ikunu impjegati fl-għaxar snin li ġejjin. U, sfortunatament, mhix drawwa li wieħed jistaqsi dwar ir-riżultat aħħari.

B'mod ġenerali, nagħti parir bil-qawwa li ma tibda tivvinta mill-ġdid is-sistema tal-fajls tiegħek mill-bidu. Għax anke investimenti finanzjarji sinifikanti mhux se jkunu biżżejjed biex tikseb xi ħaġa kompetittiva f'għaxar snin. Naturalment, qed nitkellem dwar proġetti serji, u mhux dwar dawk li huma maħsuba biex jiġu "imbuttati" fil-qalba. Allura, mod aktar effettiv biex tesprimi lilek innifsek huwa li tingħaqad ma 'żviluppi reali, bħalna. Dan, ovvjament, mhuwiex faċli li jsir - iżda dan huwa l-każ ta 'kull proġett ta' livell għoli.

L-ewwel, ser ikollok bżonn tegħleb b'mod indipendenti l-problema li se noffri. Wara dan, konvint mis-serjetà tal-intenzjonijiet tiegħek, nibda ngħin. Tradizzjonalment, nużaw biss l-iżviluppi tagħna stess. L-eċċezzjonijiet huma algoritmi ta 'kompressjoni u xi funzjonijiet hash. Aħna ma nibagħtux żviluppaturi biex jivvjaġġaw għal konferenzi, u mbagħad ma noqogħdux u ngħaqqdu l-ideat ta 'nies oħra ("forsi x'se jiġri"), kif soltu fil-biċċa l-kbira tal-istartups.

Aħna niżviluppaw l-algoritmi kollha aħna stess. Bħalissa ninsab interessat fl-aspetti alġebrin u kombinatorjali tax-xjenza tal-ħażna tad-dejta. B'mod partikolari, oqsma finiti, asintotiċi, prova ta 'inugwaljanzi. Hemm ukoll xogħol għal programmaturi ordinarji, imma rrid inwissik minnufih: is-suġġerimenti kollha biex "tħares lejn FS ieħor u tagħmel l-istess" huma injorati. Irqajja mmirata lejn integrazzjoni eqreb mal-Linux permezz tal-VFS se jmorru hemm ukoll.

Allura, m'għandniex rake, iżda għandna fehim ta 'fejn irridu nimxu, u għandna fiduċja li din id-direzzjoni hija dik it-tajba. Dan il-fehim ma ġiex fil-forma ta’ manna mis-sema. Ħa nfakkarkom li għandna 29 sena ta 'esperjenza ta' żvilupp warajna, żewġ sistemi ta 'fajls miktuba mill-bidu. U l-istess numru ta 'utilitajiet ta' rkupru tad-data. U dan huwa ħafna!

Sors: opennet.ru

Żid kumment