Resadresaka faharoa niaraka tamin'i Eduard Shishkin, mpamorona ny Reiser4 FS

Navoaka ny tafatafa faharoa niarahana tamin'i Eduard Shishkin, mpamorona ny rafi-drakitra Reiser4.

Hanombohana, azafady ampahatsiahivo ny mpamaky hoe aiza sy iza no iasanao.

Miasa amin'ny maha-mpikatroka fitahirizana lehibe ahy aho ao amin'ny Huawei Technologies, Ivom-pikarohana Alemanina. Ao amin'ny departemanta virtoaly aho dia miatrika lafiny samihafa amin'ny fitahirizana angon-drakitra. Tsy misy ifandraisany amin'ny rafitra fiasana manokana ny asako.

Manolo-tena amin'ny sampana kernel lehibe ve ianao izao?

Tena mahalana, ary raha toa ka mitaky izany ny mpampiasa ahy. Ny fotoana farany dia tokony ho telo taona lasa izay, nandefa patch aho mba hampitomboana ny fitehirizana ho an'ny fitahirizana nozaraina amin'ny mpampiantrano mampiasa ny protocol 9p (anarana hafa amin'ity orinasa ity dia VirtFS). Fanamarihana manan-danja iray dia tsy maintsy atao eto: na dia niasa tamin'ny Linux nandritra ny fotoana ela aza aho, dia tsy mbola mpankafy an'izany mihitsy aho, izany hoe, "miaina mitovy" aho, toy ny amin'ny zavatra hafa rehetra. Indrindra indrindra, raha mahatsikaritra lesoka aho dia afaka manondro azy io indray mandeha. Ary mba hahafahanao manaraka olona iray ary mandresy lahatra azy ireo - tsy hitranga izany.

Tadidiko farany, folo taona lasa izay, tena nanakiana ny fomba fampivoarana kernel ianao. Raha ny fomba fijerinao (na angamba orinasa) dia nisy zavatra niova ve, lasa mandray andraikitra bebe kokoa ve ny fiarahamonina sa tsia? Raha tsy izany, iza no heverinao fa omena tsiny?

Tsy mbola nahita fiovana ho tsara kokoa aho. Ny olana lehibe amin'ny fiarahamonina dia ny fanoloana ny siansa amin'ny teknolojia politika, ny fifandraisan'ny tena manokana, ny hevitry ny maro an'isa, ny populisme, ny torohevitra avy amin'ny "feo anaty," marimaritra iraisana lo, na inona na inona afa-tsy ny siansa. Ny siansa informatika, na inona na inona lazain'ny olona, ​​dia ny siansa marina no voalohany indrindra. Ary raha misy olona manomboka manambara ny sandany manokana ho an'ny 2x2, tsy mitovy amin'ny 4, eo ambanin'ny saina "Linux way", na eo ambanin'ny saina hafa, dia azo inoana fa tsy hitondra zavatra hafa ankoatra ny loza izany.

Ny fahasahiranana rehetra dia noho ny tsy fahaiza-manao sy ny tsy fahampian'ny fanabeazana an'ireo izay mandray fanapahan-kevitra. Raha tsy mahay ny mpitantana iray, dia tsy afaka mandray fanapahan-kevitra tsara izy. Raha tsy manana kolontsaina koa izy, dia tsy afaka mahita manam-pahaizana manokana izay hanome azy ny torohevitra marina. Amin'ny fatiantoka be dia be, ny safidy dia ho an'ny mpisoloky milaza hoe "zavatra toa marina." Mivoatra hatrany ny tontolo misy kolikoly manodidina ny mpitondra irery tsy mahay. Ambonin'izany, ny tantara dia tsy mahalala afa-tsy amin'io lafiny io, ary ny fiaraha-monina no fanamafisana mazava indrindra an'izany.

Ahoana ny fanombanana ny fandrosoana amin'ny fampandrosoana Btrfs? Nanala ny aretin-jaza ve ity FS ity? Ahoana no ametrahanao azy ho an'ny tenanao - ho FS "ho an-trano" na ho an'ny orinasa ihany koa?

Tsy nesoriko izany. Ny zavatra rehetra nolazaiko 11 taona lasa izay dia mbola manan-danja ankehitriny. Ny iray amin'ireo olana amin'ny Btrfs izay mahatonga azy io tsy mety amin'ny filana lehibe dia ny olan'ny toerana malalaka. Tsy miresaka akory aho fa ny mpampiasa dia asaina mihazakazaka mankany amin'ny magazay ho an'ny kapila vaovao amin'ny toe-javatra misy FS hafa haneho toerana malalaka amin'ny fisarahana. Ny tsy fahafahana mamita asa amin'ny volume lojika noho ny tsy fahampian'ny toerana malalaka dia tsy ny zavatra ratsy indrindra. Ny zavatra ratsy indrindra dia ny mpampiasa tsy manana tombontsoa dia afaka mandingana ny fetran'ny kapila rehetra, manaisotra ny toerana malalaka rehetra ao anatin'ny fotoana fohy.

Toa izao (voasedra ho an'ny Linux kernel 5.12). Natomboka tamin'ny rafitra vao tafapetraka ny script iray, izay mamorona rakitra miaraka amin'ny anarana sasany ao amin'ny lahatahiry an-trano, manoratra data amin'izy ireo amin'ny offset sasany, ary mamafa ireo rakitra ireo avy eo. Taorian'ny iray minitra nanaovana ity script ity dia tsy misy zavatra hafahafa mitranga. Rehefa afaka dimy minitra, dia mitombo kely ny ampahany amin'ny toerana misy ny fisarahana. Rehefa afaka adiny roa na telo dia mahatratra 50% (miaraka amin'ny sanda voalohany 15%). Ary rehefa afaka adiny dimy na enina ny asa, ny script dia nianjera tamin'ny fahadisoana "tsy misy toerana malalaka amin'ny fisarahana." Aorian'izany dia tsy afaka manoratra intsony ianao na dia rakitra 4K aza amin'ny fisarahanao.

Misy toe-javatra mahaliana mitranga: tsy nanoratra na inona na inona tamin'ny fisarahana ianao, ary nanjavona tany ho any ny habaka malalaka rehetra (eo amin'ny 85%). Ny famakafakana ny fizarana iray iharan'ny fanafihana toy izany dia hanambara ny node hazo maro misy singa iray monja (zavatra misy fanalahidy), bita maromaro ny habeny. Izany hoe, ny votoaty izay nibodo ny 15% ny habaka kapila teo aloha dia nivadika ho "voahosotra" amin'ny fizarazarana manontolo ka tsy misy toerana hanoratana rakitra vaovao, satria ny lakileny dia lehibe noho ny efa misy rehetra, ary ny maimaim-poana. lany ny sakana amin'ny fisarahana.

Ankoatr'izay, izany rehetra izany dia efa mitranga amin'ny fanamafisana Btrfs fototra (tsy misy snapshots, subvolumes, sns.), ary tsy maninona ny manapa-kevitra ny hitahiry vatan'ny rakitra ao amin'io FS io (ho "sombiny" amin'ny hazo, na amin'ny haavony. amin'ny sakana tsy misy format) - ny vokatra farany dia ho mitovy.

Tsy ho afaka hametraka rafitra fichier ambony hafa amin'ny fanafihana toy izany ianao (na inona na inona lazainy aminao). Efa ela no nohazavaiko ny anton'ny olana: fanodikodinana tanteraka ny foto-kevitry ny B-tree ao amin'ny Btrfs io, ka mahatonga azy hikorontana ho azy na fanahy iniana. Amin'ny ankapobeny, eo ambanin'ny enta-mavesatra sasany, ny rafi-drakitrao dia "hirava" hatrany mandritra ny fandidiana azy irery, tsy misy fanampiana avy any ivelany. Mazava fa ny karazana "fanindry" rehetra dia hamonjy ny andro amin'ny birao tsirairay.

Amin'ny mpizara iombonana, ny mpanafika dia ho afaka "hialoha" azy ireo foana. Tsy ho fantatry ny mpitantana ny rafitra akory hoe iza marina no nampijaly azy. Ny fomba haingana indrindra hamahana ity olana ity ao amin'ny Btrfs dia ny famerenana ny firafitry ny hazo B mahazatra, i.e. fanavaozana ny endrika kapila ary mamerina manoratra ampahany manan-danja amin'ny kaody Btrfs. Haharitra 8-10 taona izany, anisan'izany ny debugging, raha toa ka nanaraka tanteraka ny lahatsoratra tany am-boalohany momba ny algorithm sy ny firafitry ny angon-drakitra mifandraika amin'izany ny mpamorona, ary tsy nilalao ny lalao "telefaonina tapaka", toy ny mahazatra (ary ampirisihina) ao amin'ny "Linux". fomba”.

Eto koa dia mila ampiana ny fotoana takiana amin'ny mpamorona hahatakatra izany rehetra izany. Eto no mihasarotra kokoa. Na izany na tsy izany dia tsy ampy ho azy ireo ny 10 taona. Eny ary, mandra-pahatongan'izany dia tsy afaka manantena fahagagana ianao. Tsy hitranga izany amin'ny endrika safidy "tsy fantatro sy izaho sy ianao", na amin'ny endrika patch izay "raharaham-barotra fotsiny" mba hiomanana. Ho an'ny "fanamboarana" maimaika toy izany dia hanolotra toe-javatra vaovao momba ny fahapotehana aho. Ny hazo B dia iray amin'ireo lohahevitra tiako indrindra, ary tsy maintsy lazaiko fa ireo rafitra ireo dia tsy mandefitra ny fahalalahana amin'ny tenany!

Ahoana no ametrahako ny Btrfs ho an'ny tenako? Amin'ny maha zavatra tsy azo antsoina hoe rafitra fichier, mainka fa ampiasaina. Satria, raha ny famaritana, ny FS dia subsystem OS tompon'andraikitra amin'ny fitantanana mahomby ny loharanon'ny "space disk", izay tsy hitantsika amin'ny trangan'ny Btrfs. Eny ary, alaivo sary an-tsaina hoe tonga tao amin'ny fivarotana ianao mba hividy famantaranandro mba tsy ho tara amin'ny asa, ary ho solon'ny famantaranandro dia namidiny anao ny jiro elektrika misy fameram-potoana mandritra ny 30 minitra fara-fahakeliny. Noho izany, vao mainka ratsy kokoa ny toe-javatra misy ny Btrfs.

Raha mijery ny lisitry ny mailaka aho dia matetika no mahita ny fanambarana fa ny fitantanana mahomby ny habaka kapila dia tsy misy dikany intsony noho ny tsy fahampian'ny kapila. Hadalana tanteraka izany. Raha tsy misy mpitantana ny habaka kapila mahomby, dia ho lasa marefo sy tsy azo ampiasaina ny OS. Na inona na inona fahafahan'ny kapila amin'ny milinanao.

Te hangataka fanehoan-kevitra momba ny fampitsaharana ny fanohanan'ny Btrfs ao amin'ny RHEL aho.

Tsy misy zavatra manokana holazaina eto fa mazava ny zava-drehetra. Nanana izany koa izy ireo ho toy ny "preview teknolojia". Noho izany, tsy nandalo an'io "preview" be loatra aho. Aza avela hihantona mandrakizay io marika io! Saingy tsy afaka mamoaka vokatra vita amin'ny endrika tsy mety izy ireo miaraka amin'ny fanohanana feno. RHEL dia orinasa, izany hoe fifandraisana ara-barotra sy vola. Red Hat dia tsy afaka mampijaly ireo mpampiasa tahaka ny ataon'izy ireo amin'ny lisitry ny mailaka Btrfs. Alaivo sary an-tsaina fotsiny ny toe-javatra: mpanjifa iray izay nandoa ny volany mafy ho an'ny kapila ary koa ianao ho fanohanana, dia te-hahatakatra ny toerana nalehan'ny kapilany rehefa tsy nanoratra na inona na inona izy. Inona no havalinao azy amin'izany?

Fanampiny. Ny mpanjifan'ny Red Hat dia ahitana banky lehibe sy fifanakalozana malaza. Alaivo sary an-tsaina izay mety hitranga raha iharan'ny fanafihana DoS izy ireo mifototra amin'ny vulnerability voalaza ao amin'ny Btrfs. Iza araka ny hevitrao no tompon'andraikitra amin'izany? Ho an'ireo izay saika hanondro ny rantsan-tànany amin'ny tsipika fahazoan-dàlana GPL, izay voasoratra fa tsy tompon'andraikitra amin'ny zavatra rehetra ny mpanoratra, dia holazaiko avy hatrany hoe: "afeno izany!" Red Hat dia hamaly, ary amin'ny fomba izay toa tsy ampy! Saingy fantatro fa tsy miatrika io karazana olana io ny Red Hat, raha jerena ny ekipany matanjaka indrindra amin'ny injeniera QA izay nananako fahafahana niara-niasa akaiky tamin'ny fotoako.

Nahoana ny orinasa sasany no manohy manohana ny Btrfs amin'ny vokatra orinasany?

Mariho fa ny prefix "orinasa" amin'ny anaran'ny vokatra dia tsy midika firy. Ny orinasa dia fandrefesana andraikitra tafiditra ao anatin'ny fifandraisana ara-barotra amin'ny mpanjifa. Orinasa iray mifototra amin'ny GNU/Linux - RHEL ihany no fantatro. Ny zavatra hafa rehetra, raha ny fahitako azy, dia aseho ho toy ny orinasa ihany, fa tsy iray. Ary farany, raha misy fitakiana zavatra, dia hisy foana ny famatsiana (amin'ny tranga misy antsika, io ilay voalaza hoe "fanohanana"). Tena ilaina ny zavatra rehetra, anisan'izany. ary logiciel tsy azo ampiasaina. Lohahevitra hafa ny fomba fiforonan'izany fitakiana izany ary iza no mamelona azy.

Noho izany, tsy hitsambikina amin'ny fanatsoahan-kevitra aho taorian'ny filazana fa nandefa Btrfs tao amin'ny lohamiliny ny Facebook. Ambonin'izany, manoro hevitra aho ny hitazona tsara ny adiresin'ireo mpizara ireo ho tsiambaratelo noho ireo antony voalaza etsy ambony ireo.

Nahoana no betsaka ny ezaka natao tamin'ny fanadiovana ny kaody XFS tato ho ato? Raha ny marina, tamin'ny voalohany dia rafitra fichier an'ny antoko fahatelo ity, ary ny ext4 dia efa stable nandritra ny fotoana ela ary manana fitohizana amin'ny dikan-teny stable teo aloha. Inona no mahaliana ny Red Hat amin'ny XFS? Misy dikany ve ny mamolavola rafitra rakitra roa mitovy tanjona - ext4 sy XFS?

Tsy tadidiko izay nanosika an'izany. Azo heverina fa avy amin'ny mpanjifa Red Hat ilay hetsika. Tsaroako fa natao ny fikarohana toy izany: tamin'ny rafitra fichier sasany avy any ambony, dia nisy zavatra maro be noforonina tamin'ny kapila avo lenta an'ny taranaka vaovao. Araka ny valiny, ny XFS dia nitondra tsara kokoa noho ny ext4. Noho izany dia nanomboka nampiroborobo izany ho toy ny fampanantenana indrindra izy ireo. Na izany na tsy izany dia tsy hitady zavatra mampitolagaga eto aho.

Amiko dia toy ny nosoloan'izy ireo savony ny savony. Tsy misy dikany ny fampivoarana ext4 sy XFS. Na mifanindran-dalana na izay azo isafidianana. Tsy hisy soa ho avy amin'izany. Na izany aza, eo amin'ny natiora dia matetika misy toe-javatra izay be dia be ny mety ho fitomboana, nefa tsy misy toerana hitombo. Amin'ity tranga ity, misy fitomboana vaovao hafahafa hafahafa, izay manondro ny rantsantanana rehetra ("Oh, jereo, inona no tsy ho hitanao amin'ity fiainana ity!").

Heverinao ve fa voavaha ny olana momba ny fanitsakitsahana ny sosona (amin'ny heviny ratsy) miaraka amin'ny fahatongavan'ireo fiasa encryption amin'ny ext4, F2FS (tsy lazaina intsony ny RAID amin'ny Btrfs)?

Amin'ny ankapobeny, ny fampidirana ny ambaratonga rehetra sy ny fanapahan-kevitra momba ny tsy fanitsakitsahana azy ireo dia mazàna resaka politika, ary tsy manaiky ny haneho hevitra momba na inona na inona eto aho. Ny lafiny tanjona amin'ny fanitsakitsahana sosona dia tsy dia mahaliana na iza na iza, fa afaka mandinika ny sasany amin'izy ireo isika amin'ny fampiasana ny ohatra amin'ny fanitsakitsahana "avy any ambony", izany hoe ny fampiharana amin'ny FS ny fiasa izay efa misy eo amin'ny sosona sakana. Ny "fanitsakitsahana" toy izany dia ara-drariny amin'ny tranga tsy fahita firy. Ho an'ny tranga tsirairay toy izany, dia tsy maintsy manaporofo zavatra roa aloha ianao: tena ilaina izany, ary tsy hanimba ny famolavolana ny rafitra amin'ny fanaovana izany.

Ohatra, ny fitaratra, izay efa fanao mahazatra ho an'ny sosona sakana, dia misy dikany ny fampiharana eo amin'ny sehatry ny rafi-drakitra. Noho ny antony samihafa. Ohatra, ny kolikoly angona "mangina" (bit rot) dia mitranga amin'ny kapila. Izany dia rehefa mandeha tsara ny fitaovana, fa ny angon-drakitra sakana dia simba tampoka eo ambany fitarihan'ny gamma quantum mafy avoakan'ny quasar lavitra, sns. Ny zavatra ratsy indrindra dia raha toa ka lasa rafitra rafitra FS (superblock, bitmap block, node hazo fitehirizana, sns) ity sakana ity, satria azo antoka fa hitarika ho amin'ny korontana kernel izany.

Mariho tsara fa ny fitaratra atolotry ny sosona sakana (antsoina hoe RAID 1) dia tsy hamonjy anao amin'ity olana ity. Eny ary, tena: tokony hisy hijery ny checksums ary hamaky ny kopia raha sendra tsy fahombiazana? Ankoatr'izay, misy dikany ny mitaratra tsy ny zava-drehetra, fa ny metadata ihany. Ny angona manan-danja sasany (ohatra, rakitra azo tanterahana amin'ny rindranasa mitsikera) dia azo tehirizina ho metadata. Amin'ity tranga ity dia mahazo antoka mitovy amin'ny fiarovana izy ireo. Misy dikany ny manankina ny fiarovana ny angon-drakitra sisa amin'ny subsystems hafa (angamba fampiasa amin'ny mpampiasa) - nanome ny fepetra ilaina rehetra amin'izany izahay.

Ny fitaratra "ara-toekarena" toy izany dia manan-jo hisy, ary amin'ny sehatry ny rafi-drakitra ihany no azo alamina tsara. Raha tsy izany, ny fanitsakitsahana ny layering dia manakorontana subsystem miaraka amin'ny code duplicated noho ny tombontsoa bitika sasany. Ohatra iray miavaka amin'izany ny fampiharana ny RAID-5 mampiasa FS. Ny vahaolana toy izany (RAID / LVM manokana ao amin'ny rafi-drakitra) dia mamono ity farany amin'ny teny ara-javakanto. Marihina eto ihany koa fa ny fanitsakitsahana ny layering dia "apetraka amin'ny stream" ataon'ireo karazana mpisoloky ara-barotra. Raha tsy misy hevitra dia ampidirina ao amin'ny subsystems ny fiasa izay efa nampiharina hatry ny ela teo amin'ny ambaratonga mifanolo-bodirindrina, izany dia aseho ho endri-javatra vaovao tena ilaina ary atosika mavitrika.

Reiser4 dia voampanga ho nandika ny ambaratonga “avy any ambany”. Mifototra amin'ny hoe ny rafi-drakitra dia tsy monolithic, toy ny hafa rehetra, fa modular, dia nisy fiheverana tsy voamarina fa manao izay tokony hataon'ny ambaratonga ambony (VFS).

Azo atao ve ny miresaka momba ny fahafatesan'ny ReiserFS v3.6 ary, ohatra, ny JFS? Tato ho ato dia saika tsy voasarika loatra izy ireo tao anatin'ny fotony. Lany andro ve izy ireo?

Eto isika dia mila mamaritra ny dikan'ny fahafatesan'ny vokatra rindrambaiko. Amin'ny lafiny iray, ampiasaina amim-pahombiazana izy ireo (izany no namoronana azy ireo, raha ny marina), izay midika fa velona izy ireo. Amin'ny lafiny iray, tsy afaka miteny ho an'ny JFS aho (tsy haiko loatra), fa ny ReiserFS (v3) dia tena sarotra ny mampifanaraka ny fironana vaovao (voasedra amin'ny fampiharana). Midika izany fa amin'ny ho avy developer dia tsy handinika izany, fa ho an'ireo izay mora kokoa ny mampifanaraka. Avy amin'io lafiny io dia hita fa, indrisy, dia maty amin'ny lafiny maritrano. Tsy hanodikodina ny foto-kevitra hoe "lany ara-moraly" mihitsy aho. Mihatra tsara, ohatra, amin'ny garderobe, fa tsy amin'ny vokatra rindrambaiko. Misy ny hevitra hoe ambany sy ambony amin'ny zavatra iray. Azoko lazaina tanteraka fa ny ReserFS v3 dia ambany noho ny Reiser4 amin'ny zava-drehetra, fa amin'ny karazana enta-mavesatra sasany dia ambony noho ny FS hafa ambony rehetra.

Fantatrao ve ny fivoaran'ny FS Tux3 sy HAMMER/HAMMER2 (FS ho an'ny DragonFly BSD)?

Eny, fantatsika. Tao amin'ny Tux3 aho indray mandeha dia liana tamin'ny teknolojian'ny sarin'izy ireo (ilay antsoina hoe "torohevitra version"), fa amin'ny Reiser4 dia mety handeha amin'ny lalana hafa isika. Efa ela aho no nieritreritra ny hanohana snapshots ary tsy mbola nanapa-kevitra ny hampiharana azy ireo amin'ny boky Reiser4 tsotra. Ny zava-misy dia ny teknikan'ny fanondroana "kamo" vaovao naroson'i Ohad Rodeh dia miasa ho an'ny hazo B ihany. Tsy manana azy ireo isika. Ho an'ireo rafitra angon-drakitra ampiasaina ao amin'ny Reiesr4 dia tsy voafaritra ny kaontera "kamo" - mba hampidirana azy ireo dia ilaina ny mamaha olana algorithmika sasany, izay tsy mbola nisy noraisina.

Araka ny voalazan'i HAMMER: Namaky lahatsoratra avy amin'ny mpamorona aho. Tsy liana. Indray, B-hazo. Lany andro tsy misy antenaina ity rafitra data ity. Nandao azy io izahay tamin'ny taonjato farany.

Ahoana ny fanombanana ny fitomboan'ny fangatahana ho an'ny FS cluster tambajotra toa ny CephFS/GlusterFS/etc? Midika fiovàna amin'ny laharam-pahamehan'ny mpamorona mankany amin'ny tambajotra FS ve io fitakiana io ary tsy ampy ny fiheverana ny FS eo an-toerana?

Eny, nisy fiovana toy izany eo amin'ny laharam-pahamehana. Nihantona ny fivoaran'ny rafi-drakitra eo an-toerana. Indrisy, sarotra ny manao zavatra manan-danja amin'ny boky eo an-toerana ary tsy ny rehetra no mahavita izany. Tsy misy olona te hampiasa vola amin'ny fampandrosoana azy. Izany dia mitovy amin'ny fangatahana fikambanana ara-barotra mba hanokana vola ho an'ny fikarohana matematika - tsy misy hafanam-po izy ireo dia hanontany anao ny fomba hahazoanao vola amin'ny teôrema vaovao. Ankehitriny ny FS eo an-toerana dia zavatra miseho amin'ny fomba mahagaga "avy ao anaty boaty" ary "tokony hiasa foana", ary raha tsy mandeha izany, dia miteraka fimenomenonana tsy voavaha toy ny hoe: "Eny, inona no eritreretin'izy ireo!"

Noho izany ny tsy fisian’ny fifantohana amin’ny FS any an-toerana, na dia mbola betsaka aza ny asa any amin’io faritra io. Ary eny, nitodika tany amin'ny fitehirizana voazara ny rehetra, izay miorina amin'ny rafitra fichier efa misy eo an-toerana. Tena lamaody ankehitriny. Ny andian-teny hoe "Data lehibe" dia miteraka adrenalinina ho an'ny maro, mampifandray izany amin'ny fihaonambe, atrikasa, karama be, sns.

Manao ahoana ny maha-ara-dalàna ny fampiharana ny rafitra fichier network amin'ny habaka kernel fa tsy amin'ny habaka mpampiasa?

Fomba fiasa tena mitombina izay tsy mbola nampiharina na taiza na taiza. Amin'ny ankapobeny, ny fanontaniana hoe amin'ny toerana inona no tokony hampiharana ny rafi-drakitra tambajotra dia "sady roa lela." Andeha isika hijery ohatra iray. Ny mpanjifa dia nandrakitra angona tamin'ny milina lavitra. Nianjera tao amin'ny cache pejiny tamin'ny endrika pejy maloto izy ireo. Ity no asa ho an'ny rafi-drakitra tambajotra "vavahady manify" ao amin'ny habaka kernel. Avy eo ny rafitra miasa na ho ela na ho haingana dia hangataka anao hanoratra ireo pejy ireo amin'ny kapila hanafaka azy ireo. Avy eo dia miditra amin'ny lalao ny maody FS tambajotra IO-mandroso (mandefa). Izy io no mamaritra izay milina mpizara (server node) ho any amin'ireo pejy ireo.

Avy eo dia maka ny tamba-jotra (ary, araka ny fantatsika, dia ampiharina amin'ny habaka kernel). Manaraka izany, ny node mpizara dia mandray an'io fonosana io miaraka amin'ny angona na metadata ary mampianatra ny mody fitehirizana backend (izany hoe ny FS eo an-toerana izay miasa amin'ny habaka kernel) mba handrakitra ireo zavatra rehetra ireo. Noho izany, nahenanay ny fanontaniana hoe aiza no tokony hiasa ny maody "mandefa" sy "mandray". Raha misy amin'ireo maodely ireo mandeha amin'ny habaka mpampiasa, dia tsy maintsy hitarika amin'ny fiovan'ny contexte izany (noho ny filana mampiasa serivisy kernel). Ny isan'ny switch toy izany dia miankina amin'ny antsipiriany fampiharana.

Raha maro ny switch toy izany, dia hihena ny fitehirizana entana (fampisehoana I/O). Raha misy kapila miadana ny fitahirizanao any ambadika, dia tsy ho hitanao ny fihenan-danja lehibe. Fa raha manana kapila haingana ianao (SSD, NVRAM, sns.), dia efa lasa "bottleneck" ny fiovan'ny contexte ary, amin'ny alàlan'ny fitahirizana ny fiovan'ny contexte, dia mety hampitombo be ny fampisehoana. Ny fomba mahazatra amin'ny fitahirizana vola dia ny mamindra modules amin'ny habaka kernel. Ohatra, hitanay fa ny famindrana ny mpizara 9p avy amin'ny QEMU mankany amin'ny kernel amin'ny milina fampiantranoana dia mitarika amin'ny fitomboana avo telo heny amin'ny zava-bita VirtFS.

Mazava ho azy fa tsy tambajotra FS izany, fa maneho tanteraka ny maha-zava-dehibe ny zavatra. Ny tsy fahampian'ity optimization ity dia ny olan'ny portability. Ho an'ny sasany, ity farany dia mety ho fanakianana. Ohatra, GlusterFS dia tsy manana modules amin'ny kernel mihitsy. Noho izany dia miasa amin'ny sehatra maro izy izao, anisan'izany ny NetBSD.

Inona no hevitra azon'ny FS an-toerana hindrana amin'ny tambajotra ary ny mifamadika amin'izany?

Amin'izao fotoana izao, ny tambajotra FSs, amin'ny ankapobeny, dia manana add-ons amin'ny FSs eo an-toerana, noho izany dia tsy azoko tsara hoe ahoana no ahafahanao mindrana zavatra amin'ny farany. Eny ary, andeha hojerentsika ny orinasa misy mpiasa 4, izay samy manao ny azy avy: ny iray mizara, ny iray mandefa, ny fahatelo mandray, ny fivarotana fahefatra. Ary ny fanontaniana, inona no azon'ny orinasa indramina amin'ny mpiasany izay mitahiry azy, toa tsy mety (efa nanana izay azony nindramina taminy hatry ny ela).

Saingy ny FSs eo an-toerana dia manana fianarana betsaka amin'ny tambajotra. Voalohany, tokony hianaranao avy amin'izy ireo ny fomba hanangonana boky lojika amin'ny ambaratonga avo. Ankehitriny ilay antsoina hoe Ny rafitra fichier eo an-toerana "advanced" dia manangom-bokatra lojika amin'ny fampiasana fotsiny ny teknolojia "fitaovana virtoaly" nindramina tamin'ny LVM (izay fanitsakitsahana ny fametahana virosy izay nampiharina voalohany tao amin'ny ZFS). Raha lazaina amin'ny teny hafa, ny fandikana ny adiresy virtoaly (isaky ny sakana) ho amin'ny tena izy sy aoriana dia mitranga amin'ny ambaratonga ambany (izany hoe, rehefa avy namoaka fangatahana I/O ny rafitra rakitra).

Mariho fa ny fampidirana sy fanesorana ireo fitaovana amin'ny boky lojika (fa tsy fitaratra) voalamina eo amin'ny sosona sakana dia miteraka olana izay mangina amin'ny fomba maotina ny mpamatsy "endri-javatra" toy izany. Miresaka momba ny fizarazarana amin'ny fitaovana tena izy aho, izay mety hahatratra ny soatoavina goavambe, raha amin'ny fitaovana virtoaly dia tsara ny zava-drehetra. Na izany aza, vitsy ny olona liana amin'ny fitaovana virtoaly: ny rehetra dia liana amin'ny zava-mitranga amin'ny tena fitaovanao. Fa ny FS mitovy amin'ny ZFS (ary koa ny FS rehetra miaraka amin'ny LVM) dia tsy miasa afa-tsy amin'ny fitaovana kapila virtoaly (manome adiresy kapila virtoaly avy amin'ireo maimaim-poana, defragment ireo fitaovana virtoaly ireo, sns.). Ary tsy fantatr'izy ireo izay mitranga amin'ny fitaovana tena izy!

Alaivo sary an-tsaina izao fa tsy misy fizarazarana aotra amin'ny fitaovana virtoaly ianao (izany hoe, manana velarana goavambe iray ianao mipetraka ao), ampio kapila amin'ny volume lojikao ianao, ary esory avy eo ny kapila kisendrasendra hafa amin'ny volume lojika ary avy eo avereno indray. Ary imbetsaka. Tsy sarotra ny mieritreritra fa amin'ny fitaovana virtoaly dia mbola hanana fiainana mitovy amin'izany ianao, fa amin'ny fitaovana tena izy dia tsy hahita zavatra tsara ianao.

Ny tena ratsy dia tsy vitanao akory ny manitsy ity toe-javatra ity! Ny hany azonao atao eto dia ny mangataka amin'ny rafitra fichier mba hamafa ny fitaovana virtoaly. Saingy holazainy aminao fa tsara ny zava-drehetra ao - iray ihany ny halehibeny, ny fisarahana dia aotra, ary tsy mety ho tsara kokoa izany! Noho izany, ny boky lojika nalamina amin'ny haavon'ny sakana dia tsy natao ho an'ny fanampiana / fanesorana fitaovana miverimberina. Amin'ny fomba tsara dia mila manangona boky lojika amin'ny haavon'ny sakana ianao indray mandeha, omeo ny rafi-drakitra, ary tsy manao zavatra hafa miaraka aminy.

Fanampin'izany, ny fampifangaroana ireo subsystems FS+LVM tsy miankina dia tsy mamela ny fiheverana ny toetra samihafa amin'ny fiara izay aggregate ny boky lojika. Raha ny marina, eritrereto hoe nanangona boky lojika avy amin'ny HDD sy fitaovana matanjaka ianao. Fa ny teo aloha dia mitaky defragmentation, ary ny farany tsy. Ho an'ity farany dia mila mamoaka fangatahana fanariana ianao, fa ho an'ny voalohany, tsy, sns. Na izany aza, amin'ity fitambarana ity dia sarotra ny mampiseho ny fifantenana toy izany.

Mariho fa aorian'ny famoronana LVM anao manokana amin'ny rafi-drakitra dia tsy mihatsara ny toe-javatra. Ambonin'izany, amin'ny fanaovanao izany dia tena manafoana ny fahatsinjovana hanatsara izany ianao amin'ny ho avy. Tena ratsy izany. Ny karazana fiara samihafa dia afaka miaina amin'ny milina iray ihany. Ary raha tsy manavaka azy ireo ny rafitra fichier dia iza no hanavaka azy?

Olana iray hafa koa ny miandry an’ilay antsoina hoe. Rafitra fichier "Write-Anywhere" (anisan'izany koa ny Reiser4, raha nanondro ny maodely transactional mety ianao mandritra ny tendrombohitra). Ny rafitra rakitra toy izany dia tsy maintsy manome fitaovana defragmentation izay tsy mbola nisy hatrizay tamin'ny heriny. Ary ny mpitantana ny volume ambany dia tsy manampy eto, fa miditra amin'ny lalana ihany. Ny zava-misy dia miaraka amin'ny mpitantana toy izany, ny FS anao dia hitahiry sarintany misy sakana maimaim-poana amin'ny fitaovana iray ihany - virtoaly. Arak'izany, azonao atao ny defragment fitaovana virtoaly. Midika izany fa hiasa mandritra ny fotoana maharitra ny defragmenter anao amin'ny habaka tokana misy adiresy virtoaly.

Ary raha manana mpampiasa be dia be ianao manao overwrite kisendrasendra, dia hihena ho aotra ny vokatry ny defragmenter toy izany. Ny rafitrao dia tsy maintsy manomboka miadana, ary ny tananao dia tsy maintsy miforitra eo anoloan'ilay diagnosy mahakivy "famolavolana tapaka". Defragmenter maromaro mandeha amin'ny habaka adiresy mitovy ihany no hifanelanelana. Raharaha hafa tanteraka izany raha mitazona ny sarintaninao manokana misy sakana maimaim-poana ho an'ny fitaovana tena izy. Izany dia hampitoviana tsara ny fizotran'ny defragmentation.

Saingy tsy azo atao izany raha tsy manana mpitantana boky lojika avo lenta ianao. Ny rafitra rakitra eo an-toerana misy mpitantana toy izany dia tsy nisy teo aloha (farafaharatsiny, tsy fantatro ny momba azy ireo). Ny rafi-drakitra tambajotra ihany (ohatra GlusterFS) no nanana mpitantana toy izany. Ohatra iray manan-danja iray hafa dia ny fampiasam-bolan'ny integrity check (fsck). Raha mitahiry ny sarintany tsy miankina misy sakana maimaim-poana ho an'ny subvolume tsirairay ianao, dia azo ampitoviana tsara ny fomba fanaraha-maso ny boky lojika. Raha lazaina amin'ny teny hafa, ny volume lojika miaraka amin'ny mpitantana avo lenta dia tsara kokoa.

Ankoatr'izay, miaraka amin'ny mpitantana ny volume ambany dia tsy ho afaka handamina sary feno ianao. Miaraka amin'ny rafitra rakitra mitovy amin'ny LVM sy ZFS, dia azonao atao ny maka sary eo an-toerana ihany, fa tsy maka sary manerantany. Ny sary eo an-toerana dia ahafahanao mamerina avy hatrany ny fampandehanana rakitra mahazatra. Ary tsy misy olona hamerenana ny asa miaraka amin'ny boky lojika (fanampiana / fanesorana fitaovana). Andeha hojerentsika izany miaraka amin'ny ohatra iray. Amin'ny fotoana iray, rehefa manana boky lojika misy fitaovana roa A sy B misy rakitra 100 ianao, dia maka sary ny rafitra S ary avy eo mamorona rakitra zato hafa.

Aorian'izay, ampidiro ny fitaovana C amin'ny habenao, ary avereno amin'ny farany ny rafitrao amin'ny snapshot S. Fanontaniana: Firy ny rakitra sy fitaovana misy ny boky lojikanao aorian'ny fiverenana amin'ny S? Hisy rakitra 100, araka ny efa noeritreretinao, fa hisy fitaovana 3 - ireo dia fitaovana mitovy A, B ary C, na dia tamin'ny fotoana namoronana ny snapshot aza dia fitaovana roa ihany no tao amin'ny rafitra (A sy B. ). Tsy nihemotra ny fandidiana add device C, ary raha esorinao amin'ny ordinatera izao ny fitaovana C dia hanimba ny angon-drakitrao izany, ka alohan'ny famafana dia mila manao fandidiana lafo aloha ianao mba hanesorana ilay fitaovana amin'ny volume lojika rebalance, izay hanaparitaka ny angon-drakitra rehetra avy amin'ny fitaovana C mankany amin'ny fitaovana A sy B. Fa raha nanohana sary eran-tany ny FS-nao, dia tsy ilaina ny fampifandanjana toy izany, ary aorian'ny fiverenana haingana amin'ny S dia azonao atao ny manala ny fitaovana C amin'ny solosaina.

Noho izany, tsara ny snapshots maneran-tany satria mamela anao hisoroka ny fanesorana lafo (fanampiana) fitaovana iray avy amin'ny volume lojika (ho an'ny volume lojika) miaraka amin'ny angon-drakitra be dia be (mazava ho azy, raha tadidinao ny "snapshot" ny rafitrao. amin'ny fotoana mety). Mamelà ahy hampahatsiahy anao fa ny famoronana snapshots sy ny famerenana ny rafitra fichier ho azy ireo dia asa avy hatrany. Mety hipetraka ny fanontaniana: ahoana no ahafahana mamerina avy hatrany ny fandidiana amin'ny boky lojika izay naharitra telo andro? Saingy azo atao izany! Raha toa ka natao araka ny tokony ho izy ny rafitra fichier anao. Tonga tamin'ny hevitra momba ny "sary 3D" toy izany aho telo taona lasa izay, ary tamin'ny taon-dasa dia nanao patanty ity teknika ity aho.

Ny zavatra manaraka tokony hianaran'ny FS eo an-toerana avy amin'ny tambajotra dia ny fitehirizana metadata amin'ny fitaovana samihafa mitovy amin'ny fitahirizan'ny FSs tambajotra azy amin'ny milina misaraka (ireo antsoina hoe mpizara metadata). Misy fampiharana izay miasa voalohany indrindra amin'ny metadata, ary ireo fampiharana ireo dia azo ahafaingana be amin'ny fametrahana ny metadata amin'ny fitaovana fitahirizana lafo vidy. Miaraka amin'ny fitambaran'ny FS+LVM dia tsy ho afaka haneho ny fifantenana toy izany ianao: Tsy fantatr'i LVM izay ao amin'ny sakana izay nampidinao azy (angona ao na metadata).

Tsy hahazo tombony be ianao amin'ny fampiharana ny LVM ambany anao manokana ao amin'ny FS raha oharina amin'ny fitambaran'ny FS+LVM, fa ny azonao atao tsara dia ny manakorontana ny FS ka lasa tsy azo atao ny miasa miaraka amin'ny code-ny any aoriana. ZFS sy Btrfs, izay nirohotra niaraka tamin'ny fitaovana virtoaly, dia ohatra mazava tsara amin'ny fomba namonoan'ny fanitsakitsahana sosona ny rafitra amin'ny teny ara-javakanto. Ankoatra izany, tsy ilaina ny mametraka ny LVM ambany anao manokana ao amin'ny rafi-drakitra. Fa kosa, mila manangona fitaovana ho boky lojika amin'ny ambaratonga avo ianao, toy ny ataon'ny rafi-drakitra sasany amin'ny milina samihafa (nodes fitehirizana). Marina fa manao izany amin'ny fomba maharikoriko izy ireo noho ny fampiasana algorithm ratsy.

Ohatra amin'ny algorithm tena mahatsiravina dia ny mpandika teny DHT ao amin'ny rafitra fichier GlusterFS sy ilay antsoina hoe CRUSH sarintany ao amin'ny rafitra rakitra Ceph. Tsy nisy na iray aza tamin'ireo algorithm hitako nahafa-po ahy tamin'ny resaka fahatsorana sy scalability tsara. Noho izany dia tsy maintsy nitadidy algebra aho ary nanamboatra ny zava-drehetra. Tamin'ny taona 2015, nandritra ny fanandraman'ny fehezam-boninkazo momba ny asa hash, dia nahita sy nanao patanty aho izay mety amiko. Ankehitriny dia afaka milaza aho fa nahomby ny fikasana hampihatra izany rehetra izany. Tsy mahita olana amin'ny scalability amin'ny fomba vaovao aho.

Eny, ny subvolume tsirairay dia mitaky rafitra misaraka toy ny superblock amin'ny fitadidiana. Tena mampatahotra ve izany? Amin'ny ankapobeny, tsy fantatro hoe iza no "hanandratra ny ranomasina" ary hamorona boky lojika misy fitaovana an'hetsiny na mihoatra amin'ny milina iray eo an-toerana. Raha misy afaka manazava izany amiko dia ho feno fankasitrahana aho. Mandra-pahatongan'izany, ho ahy dia resaka marketing izany.

Ahoana no fiantraikan'ny fiovan'ny subsystem fitaovana sakana kernel (ohatra, ny endriky ny blk-mq) amin'ny fepetra takiana amin'ny fampiharana FS?

Tsy nisy fiantraikany izy ireo. Tsy fantatro izay hitranga amin'ny sosona sakana izay hahatonga azy ho ilaina amin'ny famolavolana FS vaovao. Tena ratsy ny fifandraisan'ireo subsystem ireo. Avy amin'ny lafiny mpamily, ny FS dia tokony hisy fiantraikany amin'ny fisehoan'ny karazana fiara vaovao, izay ahitsy aloha ny sosona sakana, ary avy eo ny FS (ho an'ny reiser4 dia midika izany ny fisehoan'ny plugins vaovao).

Moa ve ny firongatry ny karazana haino aman-jery vaovao (ohatra, SMR, na ny ubiquity ny SSDs) dia midika fanamby vaovao fototra ho an'ny famolavolana rafitra rakitra?

Eny. Ary ireo dia famporisihana ara-dalàna ho an'ny fampandrosoana ny FS. Ny fanamby dia mety ho samy hafa ary tsy ampoizina tanteraka. Ohatra, naheno momba ny fiara izay miankina betsaka amin'ny haben'ny angona iray sy ny offset ny hafainganam-pandehan'ny asa I/O. Ao amin'ny Linux, izay tsy afaka mihoatra ny haben'ny pejy ny haben'ny sakana FS, ny fiara toy izany dia tsy hampiseho ny fahaizany feno amin'ny alàlan'ny default. Na izany aza, raha ny rafitra fichier dia natao tsara, dia misy ny fahafahana hahazo bebe kokoa avy amin'izany.

Firy amin'izao fotoana izao ny olona miasa amin'ny kaody Reiser4 ankoatra anao?

Latsa-danja noho izay tiako, saingy tsy mahatsapa ny tsy fahampian'ny loharanon-karena koa aho. Tena afa-po amin'ny hafainganan'ny fivoaran'ny Reiser4 aho. Tsy handeha "hamily soavaly" aho - tsy io no faritra mety. Eto, "raha mitondra fiara mangina kokoa ianao dia hanohy!" Ny rafi-drakitra maoderina no subsystem kernel sarotra indrindra, ny fanapahan-kevitra diso momba ny famolavolana izay afaka manafoana ny asan'ny olombelona.

Amin'ny fanolorana mpilatsaka an-tsitrapo hampihatra zavatra iray, dia manome toky foana aho fa ny ezaka dia azo antoka fa hitarika ho amin'ny vokatra marina, izay mety ho takiana amin'ny filàna lehibe. Araka ny azonao dia tsy azo atao ny miantoka betsaka toy izany indray mandeha. Amin'izay fotoana izay ihany koa, tsy zakako ny “tarehimarika” izay mampiroborobo tsy misy henatra “endri-javatra” amin'ny rindrambaiko mazava ho azy tsy azo ampiasaina, mamitaka mpampiasa sy mpamorona an-jatony, ary miaraka amin'izay koa, mipetraka sy mitsiky amin'ny fihaonan'ny kernel.

Misy orinasa naneho fahavononana hanohana ny fampandrosoana ny Reiser4 ve?

Eny, nisy tolo-kevitra toy izany, anisan'izany. ary avy amin'ny mpivarotra lehibe. Saingy noho izany dia tsy maintsy nifindra tany an-tany hafa aho. Indrisy anefa fa tsy 30 taona intsony aho, tsy afaka miala sy miala toy izany amin'ny sioka voalohany.

Inona no endri-javatra tsy hita ao amin'ny Reiser4 amin'izao fotoana izao?

Tsy misy fiasa "manova habe" ho an'ny boky tsotra, mitovy amin'ny hita ao amin'ny ReiserFS(v3). Fanampin'izany, tsy handratra ny fampandehanana rakitra miaraka amin'ny saina DIRECT_IO. Manaraka izany dia tiako ny afaka manasaraka boky iray ho "subvolumes semantika", izay tsy manana habe raikitra, ary azo apetraka ho boky tsy miankina. Ireo olana ireo dia tsara ho an'ireo vao manomboka te hanandrana ny tanany amin'ny "zavatra tena izy".

Ary farany, tiako ny hanana volume lojika amin'ny tambajotra miaraka amin'ny fampiharana tsotra sy fitantanana (efa mamela an'io ny algorithm maoderina). Fa ny tena tsy hananan'i Reiser4 na oviana na oviana dia ny RAID-Z, scrubs, toerana malalaka malalaka, 128-bit variables ary tsy misy dikany ara-barotra hafa izay nipoitra noho ny tsy fahampian'ny hevitra teo amin'ireo mpamorona ny rafitra rakitra sasany.

Afaka ampiharina amin'ny plugins ve ny zavatra rehetra ilaina?

Raha miresaka momba ny interface sy ny plugins (modules) izay mampihatra azy ireo fotsiny isika, dia tsy ny zava-drehetra. Saingy raha mampiditra fifandraisana amin'ireo fifandraisana ireo ihany koa ianao, dia, ankoatra ny zavatra hafa, dia hanana ny foto-kevitry ny polymorphisme ambony, izay efa azonao atao. Alaivo sary an-tsaina fa nopotehinao ny rafitra fandehanana miompana amin'ny zavatra, nanova ny sandan'ny tondro torolalana mba hanondro plugin iray hafa izay mampiasa ny interface X mitovy, ary avy eo dia mamaha ny rafitra mba hanohy ny fanatanterahana.

Raha toa ka tsy mahatsikaritra ny "fanoloana" toy izany ny mpampiasa farany, dia milaza isika fa ny rafitra dia manana polymorphism tsy misy baiko ao amin'ny interface X (na heterogène ny rafitra ao amin'ny interface X, izay zavatra mitovy). Raha toa ianao ka tsy manana andian-tsarimihetsika fotsiny, fa manana fifandraisana amin'izy ireo ihany koa (kisary interface tsara), dia azonao atao ny mampiditra polymorphisms amin'ny baiko ambony, izay mampiavaka ny heterogeneity ny rafitra efa ao amin'ny "tanàna" misy interface tsara. Efa ela aho no nampiditra fanasokajiana toy izany, saingy, indrisy, tsy nisy izany.

Noho izany, miaraka amin'ny fanampian'ny plugins sy polymorphism avo kokoa toy izany, dia azonao atao ny mamaritra ny endri-javatra fantatra rehetra, ary koa ny "maminavina" ireo izay mbola tsy voalaza mihitsy aza. Tsy mbola afaka nanaporofo an'io aho, saingy tsy mbola fantatro ny ohatra mifanohitra amin'izany. Amin'ny ankapobeny, io fanontaniana io dia mampahatsiahy ahy ny "Program Erlangen" an'i Felix Klein. Nisy fotoana izy nanandrana naneho ny jeometrika rehetra ho toy ny sampan'ny algebra (indrindra ny teoria vondrona).

Ankehitriny amin'ny fanontaniana lehibe - ahoana ny fandehan'ny fampiroboroboana ny Reiser4 ho amin'ny fototra fototra? Moa ve nisy boky momba ny maritrano an'ity rafitra fichier ity noresahinao tamin'ny tafatafa farany? Tena mifanaraka amin'ny fomba fijerinao io fanontaniana io?

Amin'ny ankapobeny, efa telo taona no nangatahanay ny hampidirana ny sampana lehibe. Ny fanehoan-kevitra farany nataon'i Reiser tao amin'ny lohahevitra ho an'ny daholobe izay nanaovana ny fangatahana fisintonana dia mbola tsy voavaly. Noho izany, ny fanontaniana fanampiny rehetra dia tsy natao ho antsika. Izaho manokana dia tsy azoko hoe nahoana isika no mila "mitambatra" ao anaty rafitra fiasana manokana. Amin'ny Linux, ny hazavana dia tsy nifandona toy ny wedge. Noho izany, misy tahiry mitokana izay hisy seranan-tsampana maromaro ho an'ny OS samihafa. Na iza na iza mila izany dia afaka manao clone ny seranan-tsambo mifanaraka aminy ary manao izay tianao amin'izany (ao anatin'ny fahazoan-dàlana, mazava ho azy). Eny, raha tsy mila izany ny olona iray dia tsy olana amiko izany. Amin'izao fotoana izao, manoro hevitra ny handinika ny fanontaniana momba ny "fampiroboroboana amin'ny kernel Linux lehibe" aho rehefa mipetraka.

Ny famoahana momba ny maritrano FS dia manan-danja, saingy hatramin'izao dia tsy nahita fotoana ho an'ny valiny vaovao aho, izay heveriko ho laharam-pahamehana kokoa. Ny zavatra iray hafa dia ny hoe matematika aho, ary amin'ny matematika ny famoahana rehetra dia famintinana ny theorem sy ny porofon'izy ireo. Ny famoahana na inona na inona ao tsy misy porofo dia mariky ny tsiro ratsy. Raha porofoiko na mandà tanteraka ny fanambarana momba ny maritrano ao amin'ny FS, dia ho antontam-bato toy izany ny vokatr'izany ka ho sarotra ny hidirana. Iza no mila izany? Izany angamba no mahatonga ny zava-drehetra hijanona amin'ny endriny taloha - ny kaody loharano sy ny fanehoan-kevitra momba azy.

Inona no vaovao ao amin'ny Reiser4 tato anatin'ny taona vitsivitsy?

Nipoitra ihany ny fitoniana nandrasana hatry ny ela. Ny iray tamin'ireo farany niseho dia ny bug izay nitarika ho amin'ny lahatahiry "tsy voafafa". Ny fahasarotana dia ny fisehoany fotsiny amin'ny fiafaran'ny fifandonan'ny tenifototra anarana sy ny toerana misy ny lahatahiry firaketana ao anaty node hazo. Na izany aza, mbola tsy afaka manoro ny Reiser4 amin'ny famokarana aho: noho izany dia mila manao asa miaraka amin'ny fifandraisana mavitrika amin'ny mpitantana ny rafitra famokarana ianao.

Nahavita nampihatra ny hevitray efa hatry ny ela izahay - maodely fifampiraharahana samihafa. Teo aloha, Reiser4 ihany no nihazakazaka modely Macdonald-Reiser hardcode iray. Niteraka olana momba ny famolavolana izany. Indrindra indrindra, tsy azo atao ny maka sary amin'ny maodely transactional toy izany - ho simbain'ny singa atomika antsoina hoe "OVERWRITE SET". Reiser4 dia manohana modely telo amin'izao fotoana izao. Ao amin'ny iray amin'izy ireo (Soraty-Na aiza na aiza), ny singa atomika OVERWRITE SET dia tsy misy afa-tsy ny pejin'ny rafitra (sary misy bitmaps kapila, sns.), izay tsy azo "sary" (ny olana amin'ny akoho sy atody).

Noho izany dia azo tanterahina amin'ny fomba tsara indrindra izao ireo sary. Ao amin'ny maodely transactional hafa, ny pejy novaina rehetra dia mandeha any amin'ny OVERWRITE SET (izany hoe, diary tena madio izy io). Ity modely ity dia ho an'ireo izay nitaraina momba ny fizarazarana haingana ny fizarana Reiser4. Amin'ity modely ity dia hisaraka haingana kokoa noho ny ReiserFS (v3) ny fizaranao. Ireo maodely telo efa misy, miaraka amin'ny famandrihana sasany, dia miantoka ny fahatomombanan'ny asa, fa ny modely misy fahaverezan'ny atomika ary tsy mitahiry afa-tsy ny fahamendrehan'ny fizarana dia mety ilaina ihany koa. Ny modely toy izany dia mety ho ilaina amin'ny karazana fampiharana rehetra (databases, sns.), izay efa nandray ny sasany amin'ireo fiasa ireo. Tena mora ny manampy ireo modely ireo amin'ny Reiser4, saingy tsy nanao izany aho, satria tsy nisy nanontany ahy, ary izaho manokana dia tsy mila izany.

Nipoitra ny fanamarinana metadata ary vao haingana aho no nameno azy ireo tamin'ny fitaratra "ara-toekarena" (fitaovana mbola tsy miorina). Raha tsy mahomby ny checksum amin'ny sakana rehetra, dia mamaky avy hatrany ny sakana mifanaraka amin'izany avy amin'ny fitaovana kopia ny Reiser4. Mariho fa tsy afaka manao izany ny ZFS sy Btrfs: tsy mamela izany ny famolavolana. Any ianao dia tsy maintsy manao dingana famandrihana manokana antsoina hoe "scrub" ary miandry azy ho tonga any amin'ny sakana misy olana. Antsoin’ny mpandrindra fandaharana amin’ny heviny an’ohatra hoe “tehina” ireny fisehoan-javatra ireny.

Ary farany, nipoitra ny boky lojika heterogène, manolotra izay rehetra ZFS, Btrfs, layer block, ary koa ny fitambaran'ny FS + LVM amin'ny foto-kevitra dia tsy afaka manome - scaling parallèle, allocator adiresy disk O(1), fifindra-monina data mangarahara eo anelanelan'ny subvolumes. Ity farany koa dia manana interface interface. Ankehitriny ianao dia afaka mamindra mora foana ny angon-drakitra mafana indrindra mankany amin'ny fiara manatontosa avo indrindra amin'ny volumenao.

Ho fanampin'izany, azo atao ny manadio haingana izay pejy maloto amin'ny fiara toy izany, ka manafaingana ny fampiharana izay matetika antsoina hoe fsync(2). Marihiko fa tsy manome fahalalahan'ny asa toy izany mihitsy ny fiasan'ny layer block, antsoina hoe bcache. Ny boky lojika vaovao dia mifototra amin'ny algorithm-ko (misy patanty mifanaraka amin'izany). Ny logiciel dia efa milamina tsara, azo atao tsara ny manandrana azy, mandrefy ny fahombiazany, sns. Ny hany fahasahiranana dia ny amin'izao fotoana izao dia mila manavao amin'ny tanana ny fanamafisana ny volume ianao ary mitahiry izany any amin'ny toerana iray.

Hatreto dia afaka nampihatra ny hevitro tamin'ny 10 isan-jato aho. Na izany aza, nahomby tamin'ny zavatra noheveriko ho sarotra indrindra aho - ny fampifandraisana ireo boky lojika amin'ny fomba tselatra izay manatanteraka ny hetsika rehetra nahemotra amin'ny reiser4. Izany rehetra izany dia mbola ao amin'ny sampana "format41" andrana.

Mandalo xfstests ve ny Reiser4?

Farafaharatsiny izany dia natao ho ahy fony aho nanomana ny famoahana farany.

Azo atao ve ny manao Reiser4 ho tambajotra (cluster) FS mampiasa plugins?

Azo atao izany, ary ilaina mihitsy aza! Raha mamorona rakitra tambajotra mifototra amin'ny rafitra rakitra eo an-toerana novolavolaina araka ny tokony ho izy, dia ho tena mahavariana ny vokatra! Ao amin'ny tambajotra maoderina FSs, tsy afa-po amin'ny fisian'ny sehatra fitahirizana backend aho, izay ampiharina amin'ny FS eo an-toerana. Tsy mitombina tanteraka ny fisian’io ambaratonga io. Ny tambajotra FS dia tsy maintsy mifandray mivantana amin'ny sosona sakana, ary tsy mangataka amin'ny FS eo an-toerana hamorona rakitra serivisy hafa!

Amin'ny ankapobeny, ny fizarazarana ny rafitra fichier ho eo an-toerana sy ny tambajotra dia avy amin'ny ratsy. Nipoitra avy amin'ny tsy fahatomombanan'ny algorithm izay nampiasaina telopolo taona lasa izay, ary tsy mbola nisy naroso ho solon'izany. Izany ihany koa no mahatonga ny fisehon'ireo singa rindrambaiko tsy ilaina (serivisy isan-karazany, sns.). Amin'ny fomba tsara dia tsy tokony hisy afa-tsy FS iray amin'ny endriky ny maody kernel sy andiana fitaovana ampiasain'ny mpampiasa napetraka amin'ny milina tsirairay - node cluster. Ity FS ity dia sady eo an-toerana no tambazotra. Ary tsy misy hafa!

Raha tsy misy na inona na inona mandeha amin'ny Reiser4 amin'ny Linux, dia te-hanolotra FS ho an'ny FreeBSD aho (teny avy amin'ny tafatafa teo aloha: "...FreeBSD ... dia manana faka akademika ... hahita fiteny iraisana miaraka amin'ireo mpamorona") ?

Noho izany, araka ny hitantsika teo, dia efa niasa tsara tamin'ny Linux ny zava-drehetra: misy seranan-tsambo Reiser4 miasa mitokana ho azy amin'ny endrika sampana tompon'ny tahiry. Tsy nanadino ny momba ny FreeBSD aho! Tolotra! Vonona ny hiara-hiasa akaiky amin'ireo izay mahafantatra tsara ny ao anatin'ny FreeBSD aho. Etsy ankilany: ny tena tiako amin'ny vondrom-piarahamonina misy azy ireo dia ny fanapahan-kevitry ny filan-kevitry ny manampahaizana mahaleo tena nohavaozina, izay tsy misy ifandraisany amin'ny fitaka ataon'ny governemanta amin'ny olona iray maharitra.

Ahoana ny fomba fijerinao ny vondrom-piarahamonina mpampiasa Linux ankehitriny? Lasa "pop" kokoa ve izany?

Raha jerena ny toetry ny asako dia sarotra ho ahy ny manombana izany. Ny ankamaroan'ny mpampiasa dia manatona ahy miaraka amin'ny tatitra momba ny bug sy ny fangatahana hanamboarana ilay fizarana. Mpampiasa ho mpampiasa. Ny sasany savvy kokoa, ny sasany kely kokoa. Mitovy ny fitondrana ny rehetra. Eny ary, raha tsy miraharaha ny torolalako ny mpampiasa dia miala tsiny aho: ny baiko tsy miraharaha dia hiditra amin'ny anjarako ihany koa.

Azo atao ve ny maminavina ny fivoaran'ny rafitra rakitra mandritra ny dimy ka hatramin'ny folo taona manaraka? Inona araka ny eritreritrao no olana lehibe atrehan'ny mpamorona FS?

Eny, tsy sarotra ny manao vinavina toy izany. Efa hatry ny ela no tsy nisy fivoarana ny rafitra fichier any an-tampony. Ny endriky ny toy izany ihany no noforonina. Nisedra olana mifandraika amin'ny endrika ratsy ny mpamorona ny rafi-drakitra eo an-toerana. Mila fanairana eto. Tsy heveriko ho fampandrosoana sy fampandrosoana ilay antsoina hoe "fitehirizam-bokatra", "milelaka" ary ny fandefasana code. Ary tsy sokajiko ho fampandrosoana ny tsy fifankahazoana atao hoe "Btrfs" noho ny antony efa nohazavaiko.

Ny patch tsirairay dia vao mainka mampitombo ny olana. Eny ary. ary misy foana ny karazana “evanjelistra” isan-karazany izay “miasa ny zava-drehetra”. Amin'ny ankapobeny, ireo dia mpianatra sy mpianatra mandingana lahateny. Alaivo sary an-tsaina fotsiny hoe: mety aminy izany, fa ny profesora tsy manao izany. Tena firotsahana adrenalinina tokoa izany! Raha ny fijeriko azy, ny fahavoazana lehibe indrindra dia vokatry ny "mpanao asa tanana" izay nirohotra "maniry" tamin-kafanam-po ireo endri-javatra mahafinaritra an'ny Btrfs amin'ny karazana sosona rehetra toa ny systemd, docker, sns. - efa mitovitovy amin'ny metastazy io.

Andeha isika izao hiezaka hanao vinavina mandritra ny dimy na folo taona. Efa notanisaiko fohifohy izay hataontsika ao amin'ny Reiser4. Ny fanamby lehibe ho an'ny mpamorona FS eo an-toerana avy any ambony dia (eny, efa lasa izany) ny tsy fahafahana manao asa mendrika amin'ny karama. Raha tsy misy hevitra eo amin'ny sehatry ny fitahirizana angon-drakitra, dia hanohy hanandrana mametaka ireo VFS, XFS ary ext4 mampalahelo ireo izy ireo. Ny zava-misy amin'ny VFS dia toa mahatsikaiky indrindra manoloana ity fiaviana ity, mampahatsiahy ny fanavaozana ny trano fisakafoanana izay tsy misy chef ary tsy misy chef andrasana.

Ankehitriny ny kaody VFS, tsy misy fepetra, dia manidy pejy fahatsiarovana maromaro miaraka ary manasa ny FS fototra hiasa amin'izy ireo. Nampidirina izany mba hanatsarana ny fampandehanan'ny Ext4 amin'ny asa famafana, saingy raha mora takarina dia tsy mifanaraka tanteraka amin'ny maodely fifampiraharahana mandroso izany fanidiana izany. Izany hoe, tsy afaka manampy fanohanana fotsiny ho an'ny rafi-drakitra maranitra sasany ao amin'ny kernel ianao. Tsy fantatro ny zava-misy any amin'ny faritra hafa amin'ny Linux, fa raha ny momba ny rafi-drakitra, ny fivoarana rehetra eto dia mety tsy hifanaraka amin'ny politika arahin'i Torvalds amin'ny fampiharana (voadaka ny tetikasa akademika, ary ireo mpisoloky izay tsy fantatro hoe inona ny hazo B, crédit amin'ny fitokisana tsy misy fiafarana navoaka). Noho izany, nisy lalana natsangana ho an'ny fahalovana miadana. Mazava ho azy fa hiezaka amin’ny heriny rehetra izy ireo hampita izany ho “fampandrosoana”.

Fanampin'izany, ireo "mpitandrina" ny rafi-drakitra, mahatsapa fa tsy afaka mahazo vola be amin'ny "fitehirizana" irery ianao, dia hanandrana ny tanany amin'ny orinasa mahasoa kokoa. Ireo dia, amin'ny maha-fitsipika, rafitra fichier mizara sy virtoaly. Angamba izy ireo handefa ny ZFS lamaody any amin'ny toerana hafa izay mbola tsy misy azy. Saingy izy io, toy ny FS rehetra avy any ambony, dia mitovy amin'ny hazo taom-baovao: raha afaka manantona zavatra kely hafa eny ambony ianao, dia tsy afaka miditra lalina kokoa ianao. Miaiky aho fa azo atao ny manangana rafitra orinasa matotra miorina amin'ny ZFS, saingy noho isika miresaka momba ny ho avy izao, dia afaka milaza aho fa tsy misy antenaina intsony ny ZFS amin'io lafiny io: miaraka amin'ny fitaovana virtoaly, dia nanapaka ny oksizenina ry zalahy. ho an'ny tenany sy ho an'ny taranaka ho avy ho fampandrosoana. ZFS dia zavatra taloha. Ary ny ext4 sy XFS dia tsy ny omalin'ny omaly.

Tsara ny manamarika manokana momba ny foto-kevitra mampitolagaga momba ny "Linux file system of next generation". Tetikasa ara-politika sy ara-barotra tanteraka ity natao ho an'ny fahafahana, raha lazaina, "mametraka ny hoavin'ny rafi-drakitra" ao amin'ny Linux ao ambadiky ny endri-tsoratra manokana. Ny zava-misy dia ny Linux taloha dia "fotsiny". Fa izao dia milina fanaovana vola voalohany indrindra. Izy ireo dia natao amin'ny zavatra rehetra azo atao. Ohatra, sarotra be ny mamorona vokatra rindrambaiko tsara, fa ny "developer" marani-tsaina dia efa nahatsapa hatry ny ela fa tsy ilaina ny manenjana mihitsy: afaka mivarotra amim-pahombiazana ny rindrambaiko tsy misy izay nambara sy nampiroboroboina tamin'ny karazan'olona rehetra ianao. zava-nitranga - ny zava-dehibe indrindra dia ny fampisehoana dia tokony ahitana "endri-javatra" bebe kokoa.

Ny rafitra fisie dia tonga lafatra amin'izany, satria afaka manao fifampiraharahana azo antoka ianao mandritra ny folo taona amin'ny vokatra. Eny, raha misy olona mitaraina momba ny tsy fahampian'io vokatra io, dia tsy azony na inona na inona momba ny rafi-drakitra! Izany dia mampahatsiahy ny piramida ara-bola: eo an-tampony dia ireo mpitsangatsangana izay nanomboka ity korontana ity, ary ireo vitsivitsy izay "tsara vintana": "nisintona dividends", izany hoe. nahazo vola ho an’ny fampandrosoana, nahazo asa karama tsara ho mpitantana, “niseho” tamin’ny fihaonambe, sns.

Manaraka izany dia ho avy ireo izay "tsy vintana": hanisa ny fatiantoka, hiatrika ny voka-dratsin'ny fandefasana vokatra rindrambaiko tsy azo ampiasaina amin'ny famokarana, "sns. Mbola maro kokoa izy ireo. Eny ary, eo am-pototry ny piramida dia misy andian-dahatsary goavam-be "manamboatra" code tsy misy ilana azy. Izy ireo no tena resy, satria ny fotoana lany dia tsy azo averina. Ny piramida toy izany dia tena mahasoa an'i Torvalds sy ireo mpiara-miasa aminy. Ary ny betsaka amin'ireo piramida ireo no tsara kokoa ho azy ireo. Mba hamelomana ny piramida toy izany, dia azo alaina ao anaty fotony ny zavatra rehetra. Mazava ho azy fa mifanohitra amin’izany no lazain’izy ireo ampahibemaso. Fa izaho tsy mitsara amin'ny teny, fa amin'ny atao.

Noho izany, "ny hoavin'ny rafitra fisie ao amin'ny Linux" dia rindrambaiko iray hafa tena fampiroboroboana, saingy zara raha azo ampiasaina. Aorian'ny Btrfs, miaraka amin'ny mety hitranga, ny toeran'ny "ho avy" toy izany dia horaisin'ny Bcachefs, izay fikasana iray hafa hiampitana ny sakan'ny Linux miaraka amin'ny rafitra rakitra (ohatra ratsy dia mifindra). Ary ny mahazatra: misy olana mitovy amin'ny ao amin'ny Btrfs. Niahiahy an'izany aho nandritra ny fotoana ela, ary avy eo dia tsy nahatohitra aho ary nijery ny code - marina izany!

Ny mpanoratra ny Bcachefs sy Btrfs, rehefa namorona ny FS, dia nampiasa ny loharanon'olon-kafa, tsy nahatakatra firy momba azy ireo. Ny toe-javatra dia tena mampahatsiahy ny lalaon'ny ankizy "telefaonina tapaka." Ary azoko sary an-tsaina ny fomba hampidirana ity code ity ao amin'ny kernel. Raha ny marina, tsy misy olona hahita ny "rake" (dia hanitsaka azy ny rehetra any aoriana). Taorian'ny quibbles maro momba ny fomba ny fehezan-dalàna, ny fiampangana ny tsy misy fanitsakitsahana, sns., dia hisy fehin-kevitra horaisina momba ny "fahatokiana" ny mpanoratra, ny fomba tsara ny "fifandraisana" amin'ny developer hafa, ary ny fahombiazan'izany rehetra izany. dia hamidy amin'ny orinasa.

Tsy hahaliana na iza na iza ny vokatra farany. Roapolo taona lasa izay angamba no nahaliana ahy, saingy izao no fanontaniana mipetraka: azo atao ve ny mampiroborobo an'izany ka hisy olona sasany hiasa ao anatin'ny folo taona manaraka. Ary, indrisy, tsy mahazatra ny manontany tena momba ny vokatra farany.

Amin'ny ankapobeny, manoro hevitra mafy aho mba tsy hanomboka hanova ny rafitra fichier anao hatrany am-boalohany. Satria na dia ny fampiasam-bola ara-bola lehibe aza dia tsy ho ampy hahazoana zavatra mifaninana ao anatin'ny folo taona. Mazava ho azy, miresaka momba ny tetikasa matotra aho, fa tsy momba ireo izay natao "hanosika" ao anaty kernel. Noho izany, ny fomba mahomby kokoa hanehoana ny tenanao dia ny manatevin-daharana ny fivoarana tena izy, toa anay. Mazava ho azy fa tsy mora ny manao izany - fa izany no mitranga amin'ny tetikasa avo lenta.

Voalohany, mila mandresy tsy miankina amin'ny olana izay hatolotro ianao. Aorian'izay, resy lahatra amin'ny maha-zava-dehibe ny fikasanao aho dia hanomboka hanampy. Amin'ny fomba mahazatra, ny fivoarantsika manokana ihany no ampiasaintsika. Ny maningana dia algorithm famandrihan-toerana sy fiasa hash sasany. Tsy mandefa mpandrindra izahay handeha amin'ny fihaonambe, ary avy eo dia tsy mipetraka sy manambatra ny hevitry ny hafa ("angamba izay hitranga"), toy ny mahazatra amin'ny ankamaroan'ny fanombohana.

Mamolavola ny algorithm rehetra izahay. Liana amin'ny lafiny algebra sy combinatorial amin'ny siansa fitahirizana data aho amin'izao fotoana izao. Indrindra indrindra, sehatra voafetra, asymptotics, porofon'ny tsy fitoviana. Misy ihany koa ny asa ho an'ny mpandrindra programa tsotra, saingy tsy maintsy mampitandrina anao avy hatrany aho: ny soso-kevitra rehetra momba ny "mijery FS hafa dia manao toy izany koa" dia tsy raharahaina. Ny patches mikendry ny fampidirana akaiky kokoa amin'ny Linux amin'ny VFS dia handeha any ihany koa.

Noho izany, tsy manana rake izahay, fa manana fahatakarana ny toerana tokony hifindranay, ary matoky izahay fa io lalana io no mety. Tsy tonga tamin’ny endrika mana avy any an-danitra izany fahatakarana izany. Mamelà ahy hampahatsiahy anao fa manana traikefa 29 taona amin'ny fampandrosoana izahay, rafitra rakitra roa nosoratana hatrany am-boalohany. Ary mitovy ny isan'ny angona fanarenana fitaovana. Ary be dia be izany!

Source: opennet.ru

Add a comment