Hurukuro yechipiri naEduard Shishkin, mugadziri weReiser4 FS

Hurukuro yechipiri naEduard Shishkin, mugadziri weReiser4 faira system, yakaburitswa.

Kutanga, ndapota yeuchidza vaverengi kuti unoshandira kupi uye ndiani.

Ini ndinoshanda sePrincipal Storage Architect kuHuawei Technologies, German Research Center. Mudhipatimendi rekuonana ini ndinobata neakasiyana maficha ekuchengetedza data. Zvandinoita hazvienderane neimwe system yekushandisa.

Iwe parizvino uri kuzvipira kune main kernel bazi?

Kashoma kwazvo, uye chete kana mushandirwi wangu achida. Nguva yekupedzisira yaive makore matatu apfuura, ndakatumira zvigamba kuti ndiwedzere kuburitsa kwekuchengetera kwakagovaniswa kune vanogamuchira vachishandisa 9p protocol (rimwe zita rebhizinesi iri VirtFS). Chinhu chimwe chakakosha chinofanira kuitwa pano: kunyangwe ndanga ndichishanda neLinux kwenguva yakareba, handina kumbobvira ndave fan wayo, ndiko kuti, "ndinofema zvakaenzana," sezvimwe zvese. Kunyanya, kana ndikawona chikanganiso, ndinogona kuchinongedza kamwechete. Uye kuitira kuti iwe ugokwanisa kutevera mumwe munhu uye kuvanyengetedza - izvi hazvizoitiki.

Ndinorangarira nguva yekupedzisira, makore gumi apfuura, iwe wainyanya kushoropodza kernel yekuvandudza maitiro. Kubva pane yako (kana kuti pamwe yekambani) maonero, pane chachinja, nharaunda yave kudavirwa here kana kuti kwete? Kana zvisina kudaro, ndiani waunofunga kuti ane mhosva?

Handina kumboona shanduko yezviri nani. Dambudziko guru renharaunda ndiko kutsiviwa kwesainzi nehunyanzvi hwezvematongerwo enyika, hukama hwemunhu, maonero eruzhinji, populism, zano rinobva ku "manzwi emukati," kubvumirana kwakaora, chero chinhu kunze kwesainzi. Sainzi yekombuta, chero angataura, yekutanga uye yekutanga sainzi chaiyo. Uye kana mumwe munhu akatanga kuzivisa kukosha kwake kwe2x2, yakasiyana ne4, pasi pe "Linux way" mureza, kana pasi pemumwe mureza, saka izvi hazvigone kuunza chimwe chinhu kunze kwekukuvadza.

Matambudziko ese anonyanya kukonzerwa nekusagona uye kusadzidza kweavo vanoita sarudzo. Kana maneja asingakwanisi, haakwanisi kuita chinangwa, chisarudzo chakanaka. Kana iyewo asina tsika, haakwanisi kuwana nyanzvi ine ruzivo iyo inomupa mazano akakodzera. Neine mukana wakakura, sarudzo inowira kune scammer anoti "zvinoita senge zvinhu chaizvo." Nzvimbo yehuwori inogara ichikura yakapoteredza vatungamiri vega vasingakwanisi. Uyezve, nhoroondo haizivi kunze kweizvi, uye nharaunda ndiyo inosimbisa zvakajeka izvi.

Unoongorora sei kufambira mberi mukukura kweBtrfs? Ko iyi FS yakabvisa zvirwere zvouhwana here? Unozvimisira sei - seFS "yeimba" kana yekushandiswa kwemakambani futi?

Handina kuzvibvisa. Zvese zvandakataura makore gumi nerimwe apfuura zvichiri kushanda nanhasi. Imwe yematambudziko neBtrfs inoita kuti ive isina kukodzera kune zvakakomba zvinodiwa idambudziko remahara nzvimbo. Ini handisi kutaura nezve chokwadi chekuti mushandisi anokumbirwa kuti amhanye kuchitoro kune dhisiki nyowani mumamiriro ezvinhu apo chero imwe FS yaizoratidza yakawanda yemahara nzvimbo pachikamu. Iko kusakwanisa kupedzisa kuvhiyiwa pane inonzwisisika vhoriyamu nekuda kwekushaikwa kwemahara nzvimbo haisiwo yakaipisisa chinhu. Chinhu chakaipisisa ndechekuti mushandisi asina rusarura anogona nguva dzese, kupfuura chero disk quotas, kunyima munhu wese nzvimbo yemahara munguva pfupi yakaringana.

Inotaridzika seizvi (yakaedzwa Linux kernel 5.12). Chinyorwa chinotangwa pane ichangobva kuiswa sisitimu, iyo mu loop inogadzira mafaera ane mamwe mazita mudhairekitori repamba, inonyora dhata kwavari pane mamwe maoffset, uye yobva yadzima mafaera aya. Mushure meminiti yekumhanya iyi script, hapana chinoshamisa chinoitika. Mushure memaminitsi mashanu, chikamu chenzvimbo yakagarwa pane chikamu chinowedzera zvishoma. Mushure memaawa maviri kusvika matatu inosvika 50% (ine kukosha kwekutanga kwe15%). Uye mushure memaawa mashanu kana matanhatu ekushanda, script inopunzika nekanganiso "hapana nzvimbo yemahara pachikamu." Mushure meizvi, hauchakwanisa kunyora kunyange 4K faira kune yako partition.

Mamiriro ezvinhu anonakidza anoitika: iwe wakaguma usina kunyora chero chinhu kune chikamu, uye nzvimbo yese yemahara (inenge 85%) yakanyangarika pane imwe nzvimbo. Ongororo yechikamu chiri pasi pekurwiswa kwakadaro kucharatidza mafundo akawanda emiti ane chinhu chimwe chete (chinhu chine kiyi), akawanda mabhayiti muhukuru. Ndiko kuti, izvo zvakambotora 15% yedhisiki nzvimbo zvakazove "zvakasvibiswa" pamusoro pechikamu chose kuitira kuti pave pasina pekunyora faira idzva, nekuti kiyi yayo yakakura kupfuura zvese zviripo, uye yemahara. mabhuroko pachikamu apera.

Uyezve, izvi zvese zvinotoitika pane yekutanga Btrfs kumisikidzwa (pasina chero snapshots, subvolumes, nezvimwewo), uye hazvina basa kuti wafunga sei kuchengeta faira miviri muFS iyo (se "zvidimbu" mumuti, kana sematanho. yezvivharo zvisina kuumbwa) - mhedzisiro ichave yakafanana.

Iwe haugone kuisa mamwe ekumusoro mafaera masisitimu kukurwisa kwakadaro (zvisinei nezvavanokuudza). Ndakatsanangura chikonzero chedambudziko kare kare: uku kukanganisa kwakakwana kweB-tree pfungwa muBtrfs, iyo inoita kuti zviitike kuti zviitike kana kuti nemaune. Kunyanya, pasi pemimwe mitoro, yako faira system icharamba "ichidonha" panguva yekushanda yega, pasina rubatsiro rwekunze. Zviripachena kuti marudzi ese e "kudzvanya" kumashure maitiro achachengetedza zuva chete pamatafura ega ega.

Pamaseva akaungana, munhu anorwisa anogara achikwanisa "kuenda mberi" kwavo. Sistimu administrator haazombokwanisa kuona kuti ndiani chaizvo akamudheerera. Iyo inokurumidza nzira yekugadzirisa dambudziko iri muBtrfs ndeyekudzorera chimiro chenguva dzose B-muti, i.e. kugadzirisazve dhisiki fomati uye kunyorazve zvikamu zvakakosha zveiyo Btrfs kodhi. Izvi zvinotora makore 8-10, kusanganisira kugadzirisa, chero vagadziri vacho vakanyatsotevedzera zvinyorwa zvepakutanga pane algorithms uye zvimiro zvedata, uye havana kutamba mutambo we "foni yakaputsika", setsika (uye inokurudzirwa) mu "Linux". nzira".

Pano tinodawo kuwedzera nguva inodiwa kuti vanogadzira vanzwisise zvese izvi. Apa ndipo pazvinonyanya kuoma. Chero zvazvingava, makore gumi akanga asina kukwana kuti vanzwisise. Zvakanaka, kusvika panguva iyoyo haugone kutarisira chishamiso. Izvo hazvizoitike nenzira yekukwira sarudzo "iyo iwe neni takanga tisingazive nezvayo," kana muchimiro chechigamba chiri "ingori nyaya yebhizinesi" kugadzirira. Kune imwe neimwe yakadaro yekukurumidza "kugadzirisa" ini ndicharatidza mamiriro matsva ekuderera. B-miti ndeimwe yemisoro yandinofarira, uye ndinofanira kutaura kuti zvimiro izvi hazvibvumire rusununguko ivo pachavo!

Ndinoisa sei Btrfs kwandiri? Sechimwe chinhu chisingakwanise kunzi faira system, rega kushandiswa. Nekuti, netsanangudzo, iyo FS ndeye OS subsystem inotarisira manejimendi anobudirira e "disk space" sosi, yatisingaone mune yeBtrfs. Zvakanaka, fungidzira kuti wakauya kuchitoro kuzotenga wachi kuitira kuti usanonoka kubasa, uye panzvimbo yewachi vakakutengesa grill yemagetsi ine timer kwemaminetsi anopfuura makumi matatu. Saka, mamiriro neBtrfs akatonyanya kuipa.

Ndichitarisa kuburikidza netsamba dzetsamba, ini ndinowanzosangana neshoko rekuti kunyatso gadzirisa dhisiki nzvimbo haichabatsiri nekuda kwekudhura kwemadhiraivha. Izvi hazvina maturo zvachose. Pasina inoshanda dhisiki nzvimbo maneja, iyo OS ichava munjodzi uye isinga shandiswe. Pasinei nekuwanda kwema disks pamushini wako.

Ini ndoda kubvunza mhinduro pamusoro pekuregedzwa kweBtrfs rutsigiro muRHEL.

Hapana chakakosha kutaura pano, zvese zviri pachena. Ivo zvakare vaive nayo se "technology preview". Saka, handina kuenda ne "preview" iyi. Usarega zita iri richirembera zvachose! Asi ivo havagone kuburitsa chakakanganisika ne-dhizaini chigadzirwa nerutsigiro rwakakwana. RHEL ibhizinesi, ndiko kuti, hukama hwekutengesa nemari. Red Hat haigoni kudheerera vashandisi sezvavanoita paBtrfs tsamba yetsamba. Chimbofungidzira mamiriro acho ezvinhu: mutengi akabhadhara mari yake yakaoma-yakawana dhisiki uyewo iwe nokuda kwekutsigirwa, anoda kunzwisisa kuti nzvimbo yake ye disk yakaenda kupi mushure mokunge asina kunyora chero chinhu. Muchamupindura seiko pane izvi?

Uyezve. Vatengi veRed Hat vanosanganisira anozivikanwa mabhangi makuru uye kuchinjana. Fungidzira kuti chii chaizoitika dai vaive pasi pekurwiswa neDoS zvichienderana nekusagadzikana kwakataurwa muBtrfs. Ndiani waunofunga kuti ane mhosva yeizvi? Kune avo vava kuda kunongedza munwe wavo pamutsetse weGPL rezinesi, pakanyorwa kuti munyori haana mhosva kune chero chinhu, ini ndichabva ndati: "zvivanze kure!" Red Hat ichapindura, uye nenzira iyo haizoiti seyakakwana! Asi ini ndoziva kuti Red Hat haisi kutarisana nerudzi urwu rwedambudziko, vakapihwa timu yavo yakanyanya kusimba yeQA mainjiniya vandakawana mukana wekushanda zvakanyanya munguva yangu.

Sei mamwe makambani achiramba achitsigira Btrfs mune zvigadzirwa zvebhizinesi ravo?

Ndokumbira utarise kuti chivakashure "bhizinesi" muzita rechigadzirwa hachirevi zvakawanda. Enterprise chiyero chemutoro wakadzikwa muhukama hwekondirakiti nemutengi. Ndinoziva bhizinesi rimwe chete rakavakirwa paGNU/Linux - RHEL. Zvimwe zvese, kubva pamaonero angu, zvinongoratidzwa sebhizinesi, asi kwete. Uye pakupedzisira, kana pane kudiwa kwechimwe chinhu, ipapo pachava nekupa nguva dzose (munyaya yedu, iyi ndiyo "tsigiro" yakataurwa). Pane kudiwa kwezvese zvese, kusanganisira. uye software isingagoneki. Kuti kudiwa kwakadaro kunogadzirwa sei uye ndiani anoipisa ndeimwe musoro.

Saka, ini handingasvetuke kune chero mhedziso mushure mekunge Facebook yave nerunyerekupe rwekuti yakaisa Btrfs pamaseva ayo. Uyezve, ini ndinokurudzira kunyatsochengeta kero dzeaya maseva zvakavanzika nekuda kwezvikonzero zviri pamusoro.

Nei kuedza kwakawanda kwakaiswa mukuchenesa kodhi yeXFS nguva pfupi yadarika? Mushure mezvose, pakutanga iyi ndeyechitatu-bato faira system, uye ext4 yakagadzikana kwenguva yakareba uye ine kuenderera kubva kune dzakapfuura dzakagadzikana shanduro. Chii chinofarira Red Hat muXFS? Zvine musoro here kushingairira kugadzira maviri faira masisitimu akafanana muchinangwa - ext4 uye XFS?

Handiyeuki kuti chii chakakurudzira izvi. Zvinogoneka kuti chirongwa ichi chakabva kuRed Hat vatengi. Ndinoyeuka kuti tsvakurudzo yerudzi urwu yakaitwa: pane mamwe mafaira ekufambisa kubva kumusoro, nhamba huru yezvinhu zvakasikwa pamadhiraivha ekupedzisira echizvarwa chitsva. Zvinoenderana nemhedzisiro, XFS yakazvibata zvirinani pane ext4. Saka vakatanga kuisimudzira seyainyanya kuvimbisa. Chero zvazvingava, handingatsvage chero chinhu chinofadza pano.

Kwandiri, zvakaita sekunge vatsiva chisungo nesipo. Iko hakuna chikonzero mukugadzira ext4 uye XFS. Zvose zvakafanana uye chero ipi zvayo yekusarudza kubva. Hapana chakanaka chichauya pane izvi. Kunyange zvazvo, mumasikirwo pane kazhinji mamiriro ezvinhu apo pane zvakawanda zvingaita kukura, asi hapana nzvimbo yekukura. Muchiitiko ichi, kukura kwakasiyana-siyana kwakashata kunomuka, uko munhu wese anonongedza munwe ("O, tarisa, chii chausingaone muhupenyu huno!").

Iwe unofunga kuti nyaya yekutyorwa kwe layer yakagadziriswa (mune pfungwa isina kunaka) nekuuya kwe encryption mabasa mu ext4, F2FS (tisingarevi RAID muBtrfs)?

Kazhinji, kuiswa kwemazinga chero ipi zvayo uye kuita sarudzo pamusoro pekusaputswa kwavo kazhinji inyaya yemutemo, uye ini handiite kuti nditaure pane chero chinhu pano. Zvinangwa zvekutyorwa kwemutsetse hazvifadzi chero munhu, asi isu tinogona kufunga nezve zvimwe zvacho tichishandisa muenzaniso wekutyorwa "kubva kumusoro," kureva, kuita muFS yekushanda kwagara kuripo pane block layer. "Kukanganisa" kwakadaro kunoruramiswa kunze kwezvisingawanzoitiki. Panyaya imwe neimwe yakadaro, unofanira kutanga uratidza zvinhu zviviri: kuti zvinonyatsodiwa, uye kuti dhizaini yegadziriro yacho haizokuvadzi nokuita kudaro.

Semuenzaniso, mirroring, iyo yagara iri chiitiko cheiyo block layer, zvine musoro kuita pane iyo faira system level. Nezvikonzero zvakasiyana. Semuenzaniso, "chinyararire" data uori (bit rot) unoitika padhisiki madhiraivha. Apa ndipo apo mudziyo uri kushanda nemazvo, asi iyo block data inokuvadzwa zvisingatarisirwi pasi pesimba reiyo yakaoma gamma quantum inoburitswa neiri kure quasar, nezvimwe. Chinhu chakaipisisa ndechekuti kana ichi chivharo chikazova FS system block (superblock, bitmap block, kuchengetedza muti node, nezvimwewo), nekuti izvi zvinozotungamira kune kernel panic.

Ndapota cherechedza kuti magirazi anopiwa ne-block layer (inonzi RAID 1) haigoni kukuponesa kubva kune dambudziko iri. Zvakanaka, chaizvo: mumwe munhu anofanirwa kutarisa macheki uye averenge replica kana atadza? Uye zvakare, zvine musoro kutarisa kwete zvese zvese, asi metadata chete. Imwe data yakakosha (somuenzaniso, mafaera anoteedzeka eakakosha maapplication) anogona kuchengetwa semetadata. Muchiitiko ichi, vanogamuchira zvivimbiso zvakafanana zvekuchengeteka. Zvine musoro kupa kuchengetedza kwe data rasara kune mamwe ma subsystems (zvichida kunyangwe mashandisirwo emushandisi) - isu takapa ese anodiwa mamiriro eizvi.

Magirazi e "hupfumi" akadaro ane kodzero yekuvepo, uye anogona kurongeka chete zvinobudirira padanho refaira. Zvikasadaro, kutyorwa kwemachira kuri kuunganidza subsystem ine yakapetwa kodhi nekuda kwemamwe mabhenefiti emicroscopic. Muenzaniso unoshamisa weizvi ndeyekuitwa kweRAID-5 uchishandisa FS. Mhinduro dzakadai (yake RAID / LVM mune faira system) inouraya iyo yekupedzisira mumashoko ekuvaka. Izvo zvinofanirwa kucherechedzwa pano kuti kutyora kwekuisa "kuiswa parukova" nemhando dzakasiyana dzekushambadzira scammers. Mukushaikwa kwemazano, kushanda kwagara kuchiitwa kumatanho evavakidzani kunowedzerwa kune subsystems, izvi zvinounzwa sechinhu chitsva chinobatsira zvakanyanya uye chinosundirwa nesimba.

Reiser4 akapomerwa mhosva yekutyora mazinga "kubva pazasi". Kubva pane chokwadi chekuti faira system haisi monolithic, sevamwe vese, asi modular, fungidziro isina kusimbiswa yakaitwa kuti inoita izvo nhanho iri pamusoro (VFS) inofanirwa kuita.

Zvinoita here kutaura nezverufu rweReiserFS v3.6 uye, semuenzaniso, JFS? Munguva pfupi yapfuura ivo vakagamuchira kunenge kusina kutariswa mukati mepakati. Dzasakara here?

Pano tinoda kutsanangura kuti kufa kwechigadzirwa chesoftware kunorevei. Kune rumwe rutivi, ivo vakabudirira kushandiswa (ndizvo zvavakasikirwa, shure kwezvose), zvinoreva kuti vanorarama. Kune rumwe rutivi, ini handigoni kutaura nokuda kweJFS (handizivi zvakawanda), asi ReiserFS (v3) yakaoma zvikuru kuenderana nemaitiro matsva (akaedzwa mukuita). Izvi zvinoreva kuti mune ramangwana vagadziri vanozoteerera kwete kwazviri, asi kune izvo zviri nyore kugadzirisa. Kubva kudivi rino zvinobuda kuti, nhamo, yakafa mumashoko ekuvaka. Ini handingashandisi pfungwa ye "kusashanda" zvachose. Inoshanda zvakanaka, semuenzaniso, kune wadhirobe, asi kwete kune zvigadzirwa zvesoftware. Pane pfungwa yekuderera uye hukuru mune chimwe chinhu. Ndinogona kutaura zvachose kuti ReserFS v3 ikozvino yakaderera kune Reiser4 mune zvese, asi mune mamwe marudzi emutoro webasa iri pamusoro kune mamwe ese kumusoro kweFSs.

Unoziva here nezvekuvandudzwa kweFS Tux3 uye HAMMER/HAMMER2 (FS yeDragonFly BSD)?

Hongu, tinoziva. MuTux3 ndaimbofarira tekinoroji yemifananidzo yavo (iyo inonzi "version pointers"), asi muReiser4 isu tingangoenda neimwe nzira. Ndanga ndichifunga nezve kutsigira snapshots kwenguva yakareba uye handisati ndafunga kuti ndozvishandisa sei kune akareruka Reiser4 mavhoriyamu. Icho chokwadi ndechekuti iyo nyowani "yasimbe" yereferensi nzira yekumisikidza yakakurudzirwa naOhad Rodeh inongoshanda kune B-miti. Isu hatina. Kune izvo zvimiro zve data zvinoshandiswa muReiesr4, "simbe" zviverengero hazvitsanangurwe - kuti uzvizivise, zvinodikanwa kugadzirisa mamwe matambudziko egorgorithm, izvo zvisati zvambotorwa nemunhu.

Maererano naHAMMER: Ndakaverenga chinyorwa kubva kumusiki. Handidi. Zvakare, B-miti. Ichi chimiro chedata hachina tariro. Takazvisiya muzana remakore rapfuura.

Iwe unoongorora sei kukura kuri kudiwa kwema network cluster FSs seCephFS/GlusterFS/etc? Kudiwa uku kunoreva here kuchinjika kwezvinokosheswa nevagadziri kune network FS uye kusatarisisa kwakakwana kune yemuno FS?

Hungu, kuchinja kwakadaro kwezvinhu zvinokosha kwakaitika. Kuvandudzwa kwemafaira emunharaunda kwakamira. Maiwe, kuita chimwe chinhu chakakosha kumavhoriyamu emunharaunda ikozvino kwakaoma uye haasi munhu wese anogona kuzviita. Hapana anoda kuisa mari mukusimudzira kwavo. Izvi zvakangofanana nekukumbira sangano rekutengesa kuti rigovere mari yekutsvagisa masvomhu - pasina kana shungu ivo vanokubvunza kuti ungaita sei mari pane itsva theorem. Zvino FS yomunzvimbomo chimwe chinhu chinooneka nenzira yamashiripiti “kunze kwebhokisi” uye “chinofanira kushanda nguva dzose,” uye kana chikasashanda, chinokonzera kugunun’una kusingagadziriswi sekuti: “Hongu, vari kufungei!”

Nokudaro kushaikwa kwengwariro kuFS yomunzvimbomo, kunyange zvazvo kuchine basa rakawanda munzvimbo iyoyo. Uye hongu, munhu wese akatendeukira kune yakagoverwa chengetedzo, iyo inovakwa pahwaro hweagara aripo emunharaunda mafaira masisitimu. Zvava fashoni chaizvo zvino. Mutsara wekuti "Big Data" unokonzeresa kumhanya kweAdrenaline kune vakawanda, kuisanganisa nemisangano, maworkshop, mihoro mikuru, nezvimwe.

Zvine musoro sei mukutanga kushandisa network faira system munzvimbo yekernel kwete munzvimbo yemushandisi?

Nzira inonzwisisika zvikuru iyo isati yaitwa chero kupi zvako. Kazhinji, mubvunzo wekuti inzvimbo ipi iyo network faira system inofanirwa kuisirwa "bakatwa rinocheka kaviri." Zvakanaka, ngatitarisei muenzaniso. Mutengi akarekodha data pamushini uri kure. Vakawira mune yake peji cache muchimiro chetsvina mapeji. Iri ibasa re "yakaonda gedhi" network faira system munzvimbo yekernel. Ipapo iyo inoshanda sisitimu ichakurumidza kana gare gare kukukumbira kuti unyore iwo mapeji kudhisiki kuti uasunungure. Ipapo iyo IO-kutumira (kutumira) network FS module inouya mukutamba. Iyo inosarudza kuti ndeipi server muchina (server node) aya mapeji achaenda.

Ipapo iyo network stack inotora (uye, sezvatinoziva, inoitwa munzvimbo yekernel). Tevere, sevha node inogamuchira iyo pakiti ine data kana metadata uye inoraira iyo backend yekuchengetedza module (kureva, iyo yemuno FS inomhanya munzvimbo yekernel) kunyora zvese izvi zvinhu. Saka, isu takadzikisa mubvunzo kuti "kutumira" uye "kugamuchira" modules inofanira kushanda kupi. Kana chero yeaya mamodule achimhanya munzvimbo yemushandisi, izvi zvinozotungamira kune shanduko yemamiriro ezvinhu (nekuda kwekudiwa kwekushandisa kernel masevhisi). Huwandu hwekuchinja kwakadaro hunoenderana neruzivo rwekuita.

Kana pane zvakawanda zvekuchinja kwakadaro, ipapo kuchengetedza throughput (I / O performance) ichaderera. Kana yako yekumashure kuchengetedza yakaumbwa neanononoka dhisiki, saka iwe hauzocherechedze kudonha kwakakosha. Asi kana iwe uine dhisiki dzinokurumidza (SSD, NVRAM, nezvimwewo), ipapo shanduko yemamiriro ekunze inotova "bhodhoro" uye, nekuchengetedza pane shanduko yekuchinja, kuita kunogona kuwedzerwa zvakanyanya. Iyo yakajairwa nzira yekuchengetedza mari ndeyekufambisa mamodule munzvimbo yekernel. Semuenzaniso, takaona kuti kufambisa iyo 9p server kubva kuQEMU kuenda kune kernel pamushini wekutambira kunotungamira kuwedzera katatu mukuita kweVirtFS.

Izvi, hongu, haisi network FS, asi inonyatsoratidza kukosha kwezvinhu. Iyo yakaderera yeiyi optimization inyaya dzekutakurika. Kune vamwe, iyo yekupedzisira inogona kunge yakakosha. Semuenzaniso, GlusterFS haina ma modules mu kernel zvachose. Nekuda kweizvi, ikozvino inoshanda pamapuratifomu mazhinji, kusanganisira NetBSD.

Ndedzipi pfungwa dzinogona kukwereta maFS emuno kubva kunetiweki uye neimwe nzira?

Mazuva ano, network FSs, sekutonga, ine ma-add-ons pamusoro peFS yemuno, saka ini handisi kunyatsonzwisisa kuti iwe unogona sei kukwereta chimwe chinhu kubva kune yekupedzisira. Zvakanaka, chokwadi, ngatifungei kambani yevashandi 4, umo munhu wose anoita zvinhu zvake: mumwe anogovera, mumwe anotumira, wechitatu anogamuchira, zvitoro zvechina. Uye mubvunzo, chii icho kambani inogona kukwereta kubva kumushandi wayo anoichengeta, inonzwika neimwe nzira isina kururama (yakatova neyaikwanisa kukwereta kubva kwaari kwenguva yakareba).

Asi maFS emuno ane zvakawanda zvekudzidza kubva kune network. Chekutanga, iwe unofanirwa kudzidza kubva kwavari maitiro ekuunganidza zvine musoro mavhoriyamu pamwero wepamusoro. Zvino izvo zvinonzi "advanced" enzvimbo yemafaira masisitimu anounganidza mavhoriyamu anonzwisisika chete uchishandisa "chaiyo mudziyo" tekinoroji yakakweretwa kubva kuLVM (iyo hutachiona hwekutyorwa kwekutapukira kwakatanga kuitwa muZFS). Mune mamwe mazwi, kushandurwa kwemakero chaiwo (nhamba dzeblock) mune chaiyo uye kumashure kunoitika padanho rakaderera (kureva, mushure mekunge faira system yaburitsa chikumbiro cheI / O).

Ndokumbira utarise kuti kuwedzera nekubvisa zvishandiso kune zvine musoro mavhoriyamu (kwete magirazi) akarongwa pa block layer zvinotungamira kumatambudziko ayo vatengesi ve "maitiro" akadaro vanonyarara nezvazvo. Ndiri kutaura nezve kupatsanurwa pamidziyo chaiyo, iyo inogona kusvika kune yakashata tsika, nepo pane chaiyo mudziyo zvese zvakanaka. Nekudaro, vanhu vashoma vanofarira madhivhizheni chaiwo: munhu wese anofarira zviri kuitika pamidziyo yako chaiyo. Asi ZFS-yakafanana neFS (pamwe chete neFS yakabatana neLVM) inoshanda chete nemadhisiki edhisiki (govera madhisiki edhisiki kubva pakati peakasununguka, defragment izvi chaiwo madivayiri, nezvimwewo). Uye ivo havazive zviri kuitika pamidziyo chaiyo!

Zvino fungidzira kuti une zero kupatsanurwa pane chaiyo mudziyo (ndiko kuti, iwe unongova nehofori imwe chete yekugara ipapo), iwe unowedzera dhisiki kune yako inonzwisisika vhoriyamu, uye wozobvisa imwe isina kurongeka dhisiki kubva kune yako inonzwisisika vhoriyamu uye wobva wagadzirisa. Uye kakawanda. Hazvina kuoma kufungidzira kuti pane chaiyo mudziyo iwe unenge uchine chiyero chakafanana chekurarama, asi pamidziyo chaiyo hapana chaunoona chakanaka.

Chinhu chakaipisisa ndechekuti haugone kana kugadzirisa mamiriro aya! Chinhu chega chaunogona kuita pano kubvunza iyo faira system kuti iparadze iyo chaiyo mudziyo. Asi iye achakuudza kuti zvinhu zvese zvakanaka ipapo - pane imwe chete nhanho, kupatsanurwa ndeye zero, uye hazvigone kuve nani! Saka, mavhoriyamu ane musoro akarongedzerwa padanho rekuvhara haana kuitirwa kudzokorora kuwedzera / kubviswa kwemidziyo. Nenzira yakanaka, iwe unongoda kuunganidza vhoriyamu inonzwisisika padanho re block kamwe, uipe kune iyo faira system, uye wozoita chimwe chinhu nayo.

Pamusoro pezvo, kusanganiswa kweFS + LVM subsystems yakazvimirira haibvumire kufunga nezvemhando dzakasiyana dzemadhiraivha kubva kune zvine musoro mavhoriyamu akaunganidzwa. Chokwadi, ngatiti waunganidza vhoriyamu inonzwisisika kubva kuHDD uye yakasimba-state zvishandiso. Asi ipapo yekutanga ichada defragmentation, uye yekupedzisira haidi. Kune yekupedzisira, iwe unofanirwa kuburitsa zvikumbiro zvekurasa, asi zvekutanga, kwete, nezvimwe. Zvisinei, mukusanganiswa uku zvakaoma kuratidza kusarudza kwakadaro.

Ziva kuti mushure mekugadzira yako LVM pane faira system, mamiriro acho haaite nani. Uyezve, nekuita izvi unotopedza tarisiro yekuzoivandudza mune ramangwana. Izvi zvakaipa kwazvo. Mhando dzakasiyana dzemadhiraivha dzinogona kugara pamushini mumwe chete. Uye kana iyo faira system isingasiyanise pakati pavo, zvino ndiani achadaro?

Rimwe dambudziko nderekumirira anonzi. "Nyora-Kwese" faira masisitimu (izvi zvinosanganisirawo Reiser4, kana iwe wakatsanangura yakakodzera transaction modhi panguva yekukwira). Mafaira akadaro masisitimu anofanirwa kupa defragmentation maturusi asina kumboitika musimba rawo. Uye iyo yakaderera-level vhoriyamu maneja haabatsire pano, asi anongopinda munzira. Icho chokwadi ndechekuti nemaneja akadaro, FS yako inochengeta mepu yemabhururu emahara emudziyo mumwe chete - chaiwo. Nekuda kweizvozvo, iwe unogona chete kukanganisa mudziyo chaiwo. Izvi zvinoreva kuti defragmenter yako ichashanda kwenguva yakareba, yakareba pane imwe nzvimbo yakakura yemakero chaiwo.

Uye kana iwe uine vazhinji vashandisi vanoita zvisingaite overwrites, ipapo iyo inobatsira yeakadaro defragmenter ichaderedzwa kusvika zero. Yako sisitimu inozotanga kuderera, uye iwe unongofanira kupeta maoko ako pamberi pekuodza mwoyo kuongororwa "yakaputsika dhizaini". Vanoverengeka defragmenters vanomhanya panzvimbo imwechete yekero vanongokanganisa mumwe nemumwe. Iyo inyaya yakasiyana zvachose kana iwe ukachengetedza mepu yako yemabhuraki emahara kune yega yega mudziyo chaiwo. Izvi zvichanyatsoenderana neiyo defragmentation maitiro.

Asi izvi zvinogona kuitwa chete kana iwe uine yepamusoro-yepamusoro inonzwisisika vhoriyamu maneja. Mafaira emunharaunda masisitimu ane mamaneja akadaro akange asati avapo (zvirinani, ini handizive nezvavo). Chete network faira masisitimu (semuenzaniso GlusterFS) yaive nemamaneja akadaro. Mumwe muenzaniso wakanyanya kukosha ndeye vhoriyamu kutendeseka cheki (fsck) utility. Kana iwe ukachengeta yako yakazvimirira mepu yemabhururu emahara ega ega vhoriyamu, saka maitiro ekutarisa vhoriyamu inonzwisisika anogona kunyatsoenderana. Mune mamwe mazwi, mavhoriyamu ane musoro ane mamaneja epamusoro anokwira zvirinani.

Uye zvakare, neakaderera-level vhoriyamu mamaneja haugone kuronga yakazara-yakazara snapshots. Iine LVM neZFS-senge faira masisitimu, unogona chete kutora emuno snapshots, asi kwete epasirese snapshots. Mifananidzo yemunharaunda inokutendera iwe kuti udzose ipapo ipapo chete mashandiro efaira. Uye hapana munhu aripo anodzosera kumashure mashandiro ane zvine musoro mavhoriyamu (kuwedzera / kubvisa zvishandiso). Ngatitarisei izvi nemuenzaniso. Pane imwe nguva nekufamba kwenguva, kana uine zvine musoro vhoriyamu yezvishandiso zviviri A uye B zvine zana mafaera, unotora mufananidzo weS system wobva wagadzira mamwe zana mafaera.

Mushure meizvozvo, iwe unowedzera mudziyo C kune yako vhoriyamu, uye pakupedzisira kudzoreredza sisitimu yako kuti itore S. Mubvunzo: Mangani mafaera nemidziyo ine vhoriyamu yako inonzwisisika mushure mekudzoreredza kuS? Pachave nemafaira zana, sezvaungafungidzira, asi pachave nemidziyo mitatu - iyi ndiyo midziyo yakafanana A, B uye C, kunyangwe panguva iyo snapshot yakasikwa paingova nemidziyo miviri muhurongwa (A uye B. ) Iyo yekuwedzera mudziyo C oparesheni haina kutenderedza kumashure, uye kana iwe ikozvino wabvisa mudziyo C kubva pakombuta, inoshatisa data rako, saka usati wabvisa iwe uchafanirwa kutanga waita inodhura oparesheni kuti ubvise mudziyo kubva kune rebalance inonzwisisika vhoriyamu, iyo ichaparadzira data yose kubva kumudziyo C kuenda kumidziyo A uye B. Asi kana FS yako yakatsigira snapshots yepasi rose, kuenzanisa kwakadaro kwaisazodiwa, uye mushure mokudzokera shure kuS, unogona kubvisa zvakachengeteka mudziyo C kubva pakombiyuta.

Saka, snapshots yepasi rose yakanaka nekuti inobvumidza iwe kuti udzivise kubviswa kunodhura (kuwedzera) kwechishandiso kubva kune inonzwisisika vhoriyamu (kusvika kune inonzwisisika vhoriyamu) ine yakawanda data (zvechokwadi, kana ukarangarira "snapshot" system yako. panguva chaiyo). Rega ndikuyeuchidze kuti kugadzira snapshots uye kudzosera kumashure iyo faira system kwavari mabasa epakarepo. Mubvunzo unogona kumuka: zvinogoneka sei kuti udzore oparesheni ipapo pavhoriyamu inonzwisisika yakakutora iwe mazuva matatu? Asi zvinogoneka! Kunze kwekuti yako faira system yakagadzirwa nemazvo. Ndakauya nepfungwa yeakadaro "3D snapshots" makore matatu apfuura, uye gore rapfuura ndakapa patent iyi nzira.

Chinhu chinotevera icho maFS emuno anofanira kudzidza kubva kunetiweki kuchengetedza metadata pamidziyo yakasiyana nenzira imwechete iyo network FSs inovachengeta pamichina yakaparadzana (iyo inonzi metadata maseva). Pane maapplication anoshanda zvakanyanya nemetadata, uye aya maapplication anogona kukurumidzirwa zvakanyanya nekuisa metadata pane inodhura yepamusoro-yekuita yekuchengetedza michina. Nekusanganiswa kweFS + LVM, haugone kuratidza kusarudzika kwakadaro: LVM haizive chiri pachivharo chawakapfuura kwairi (data ipapo kana metadata).

Iwe haugone kuwana bhenefiti yakawanda kubva pakushandisa yako yakaderera-level LVM muFS kana ichienzaniswa neFS + LVM musanganiswa, asi chaunokwanisa kuita mushe kusanganisa iyo FS kuitira kuti gare gare hazvigoneke kushanda nekodhi yayo. ZFS neBtrfs, dzakamhanyidzana nemidziyo chaiyo, yese mienzaniso yakajeka yekuti kutyora kwekuisa kunouraya sei sisitimu mumagadzirirwo ezvivakwa. Saka, sei ndiri zvese izvi? Uyezve, hapana chikonzero chekuisa yako yakaderera-level LVM mufaira system. Pane kudaro, iwe unofanirwa kuunganidza zvishandiso kuita zvine musoro mavhoriyamu padanho repamusoro, sezvinoita mamwe network faira masisitimu nemakina akasiyana (node ​​dzekuchengetedza). Ichokwadi, vanoita izvi zvinosemesa nekuda kwekushandiswa kwealgorithms yakaipa.

Mienzaniso yeanotyisa algorithms ndiye muturikiri weDHT muGlusterFS faira system uye inonzi CRUSH mepu muCeph faira system. Hapana yealgorithms yandakaona yakandigutsa maererano nekureruka uye kwakanaka scalability. Saka ndaifanira kuyeuka algebra uye kugadzira zvinhu zvose ini. Muna 2015, ndichiyedza mabundle pamusoro pemabasa ehashi, ndakauya nekupa patent chimwe chinhu chinokodzera ini. Iye zvino ndinogona kutaura kuti kuedza kuisa zvose izvi mukuita kwakabudirira. Ini handisi kuona chero matambudziko ne scalability munzira itsva.

Ehe, imwe neimwe subvolume inoda chimiro chakasiyana senge superblock mundangariro. Izvi zvinotyisa here? Kazhinji, ini handizive kuti ndiani acha "fashaidza gungwa" uye kugadzira zvine musoro mavhoriyamu emazana ezviuru kana zvimwe zvishandiso pamushini mumwe wemuno. Kana paine anogona kunditsanangurira izvi, ndichatenda zvikuru. Panguva ino, kwandiri uku ndiko kutengesa bhuru.

Shanduko mu kernel block mudziyo subsystem (semuenzaniso, kutaridzika kweblk-mq) yakakanganisa sei zvinodiwa zveFS kuita?

Vakanga vasina kana simba. Handizive kuti chii chaizoitika pane block layer izvo zvaizoita kuti zvive zvakakosha kugadzira FS nyowani. Iyo yekudyidzana interface yeiyi subsystems yakashata zvakanyanya. Kubva kudivi remutyairi, iyo FS inofanirwa kungokanganiswa nekuonekwa kwemhando nyowani dzemadhiraivha, iyo iyo block layer ichagadziridzwa kutanga, uye ipapo FS (ye reiser4 izvi zvinoreva kutaridzika kwemapulagi matsva).

Kubuda kwemhando nyowani dzemidhiya (semuenzaniso, SMR, kana kuwanda kweSSD) zvinoreva matambudziko matsva ekugadzira faira system?

Ehe. Uye izvi zvinokurudzira zvakajairika zvekuvandudzwa kweFS. Matambudziko anogona kunge akasiyana uye asingatarisirwi zvachose. Semuenzaniso, ndakanzwa nezve madhiraivha uko kumhanya kweI/O oparesheni kunoenderana zvakanyanya nehukuru hwechidimbu che data uye kumisa kwayo. MuLinux, uko saizi yeFS block haigone kudarika saizi yepeji, dhiraivha yakadaro hairatidze kugona kwayo kuzere nekukasira. Nekudaro, kana yako faira system yakagadzirwa nemazvo, saka pane mukana wekuwana zvakawanda kubva mairi.

Vangani vanhu vari kushanda neReiser4 kodhi kunze kwako?

Zvishoma pane zvandinoda, asi ini handione kushomeka kwakanyanya kwezviwanikwa. Ndiri kugutsikana nekumhanya kwekuvandudza kweReiser4. Ini handisi kuzo "kutyaira mabhiza" - iyi haisi iyo nzvimbo chaiyo. Pano, "kana iwe ukatyaira wakanyarara, ucharamba uchienda!" Iyo yemazuva ano faira sisitimu ndiyo yakanyanya kuomarara kernel subsystem, isiriyo dhizaini sarudzo inogona kugadzirisa anotevera makore ebasa revanhu.

Nekupa vanozvipira kuita chimwe chinhu, ini ndinogara ndichivimbisa kuti kuedza kunozotungamira kune chaiyo mhedzisiro, inogona kunge iri mukudiwa kwezvido zvakakomba. Sezvaunonzwisisa, hapagone kuve nevimbiso dzakawanda dzakadaro panguva imwe chete. Panguva imwecheteyo, ini handigoni kumira "nhamba" iyo inonyadzisa inosimudzira "maitiro" epachena asingashandisi software, achinyengedza mazana evashandisi nevagadziri, uye panguva imwechete kugara uye kunyemwerera pamisangano yekernel.

Pane kambani yakaratidza kuda kutsigira kuvandudzwa kweReiser4?

Hongu, pakanga paine zvikumbiro zvakadaro, kusanganisira. uye kubva kumutengesi mukuru. Asi nokuda kweizvi ndaifanira kutamira kune imwe nyika. Sezvineiwo, handichisiri makore makumi matatu, handikwanise kubvaruka ndokusiya zvakadaro pakuridza muridzo.

Ndeapi maficha aripo parizvino kubva kuReiser4?

Iko hakuna "resize" basa remavhoriyamu akareruka, akafanana neanowanikwa muReiserFS(v3). Pamusoro pezvo, mafaera ane DIRECT_IO mureza aisazokuvadza. Zvadaro, ndinoda kukwanisa kuparadzanisa vhoriyamu mu "semantic subvolumes", iyo isina hukuru hwakatarwa, uye inogona kuiswa semavhoriyamu akazvimiririra. Aya matambudziko akanaka kune vanotanga vanoda kuedza ruoko rwavo pa "chinhu chaicho."

Uye pakupedzisira, ndinoda kuva netiweki inonzwisisika mavhoriyamu ane nyore kuita uye kutonga (azvino maalgorithms atotendera izvi). Asi izvo Reiser4 isingazombofi yave nazvo ndeye RAID-Z, kukwesha, yemahara nzvimbo cache, 128-bit machinjiro uye humwe hunhu hwekushambadzira hwakamuka zvichipesana nekushomeka kwemazano pakati pevagadziri vemamwe mafaera masisitimu.

Zvese zvingangodiwa zvinogona kuitwa nemaplugins?

Kana tikangotaura chete maererano nemainterfaces uye plugins (modules) anoashandisa, saka kwete zvese. Asi kana iwe ukasumawo hukama pane aya mainterfaces, saka, pakati pezvimwe zvinhu, iwe uchave uine pfungwa dzepamusoro mapolymorphisms, aunogona kutopfuura nawo. Fungidzira iwe uchifungidzira kuti wakaomesa chinhu-yakatarisana neruntime system, yakashandura kukosha kweinongedza yekunongedza kune imwe plugin inoshandisa yakafanana X interface, uye wozosunungura sisitimu kuti irambe ichiita.

Kana mushandisi wekupedzisira akasaona "kutsiva" kwakadai, tobva tati iyo system ine zero-odha polymorphism muX interface (kana iyo system ine heterogeneous mu X interface, inova chinhu chimwe chete). Kana ikozvino iwe usina chete seti yezvibvumirano, asiwo uine hukama pavari (interface graph), saka iwe unogona kuunza mapolymorphisms emirairo yepamusoro, iyo inozoratidza iyo heterogeneity yehurongwa hwatove mu "muvakidzani" wechero interface. Ndakaunza kupatsanurwa kwakadaro kare kare, asi, zvinosuruvarisa, hazvina kumboitika.

Saka, nerubatsiro rwema plugins uye akadaro akakwirira mapolymorphisms, unogona kutsanangura chero chinozivikanwa chimiro, pamwe ne "kufanotaura" izvo zvisati zvambotaurwa. Ini handisati ndakwanisa kunyatso kuratidza izvi, asi ini handisati ndaziva nezveimwe counteremuenzaniso parizvino. Kazhinji, mubvunzo uyu wakandiyeuchidza nezve "Erlangen Program" yaFelix Klein. Pane imwe nguva akaedza kumiririra geometry yese sebazi re algebra (kunyanya, dzidziso yeboka).

Zvino kumubvunzo mukuru - zvinhu zviri kufamba sei nekusimudzirwa kweReiser4 kune yakakosha musimboti? Paive nechero zvinyorwa pakuvaka kweiyi faira system zvawakataura nezvazvo mubvunzurudzo yekupedzisira? Mubvunzo uyu wakakosha zvakadii kubva pamaonero ako?

Kazhinji, tanga tichikumbira kubatanidzwa mubazi guru kwemakore matatu. Reiser's yekupedzisira kutaura mune yeruzhinji tambo uko chikumbiro chekudhonza chakaitwa chakaramba chisina kupindurwa. Saka mimwe mibvunzo yese haisi yedu. Ini pachangu handinzwisise kuti nei tichifanira "kubatanidza" mune chaiyo inoshanda sisitimu. PaLinux, mwenje hauna kutenderera seweji. Saka, kune yakaparadzana repository umo pachave neanoverengeka bazi-zviteshi zvemaOS akasiyana. Ani nani anoida anogona kubatanidza chiteshi chinoenderana uye kuita chero chaunoda nacho (mukati merezinesi, hongu). Zvakanaka, kana mumwe munhu asingadi, saka haisi dambudziko rangu. Panguva ino, ndinofunga kufunga nezvemubvunzo we "kusimudzira muLinux kernel" sekugadziriswa.

Zvinyorwa paFS architecture zvine basa, asi kusvika ikozvino ndangowana nguva yezvitsva zvangu zvitsva, izvo zvandinoona sechinhu chinonyanya kukosha. Chimwe chinhu ndechekuti ini ndiri nyanzvi yemasvomhu, uye mumasvomhu chero chinyorwa ipfupiso yedzidziso neumbowo hwadzo. Kutsikisa chero chinhu ipapo pasina humbowo chiratidzo chekuravira kwakashata. Kana ndikanyatso ratidza kana kuramba chero chirevo nezve mavakirwo eFS, zvino mhedzisiro ichave mirwi zvekuti zvichave zvakaoma kupfuura. Ndiani anoida? Ichi ndicho chikonzero nei zvese zvichiramba zvichiramba zviri muchimiro chayo chekare - iyo kodhi kodhi uye makomendi kwairi.

Chii chitsva muReiser4 mumakore mashoma apfuura?

Kugadzikana kwanga kwakamirirwa kwenguva refu kwave kuoneka. Imwe yekupedzisira kuoneka yaive bug yakatungamira kune "zvisingadzike" madhairekitori. Chinetso chaive chekuti yaingooneka ichipesana nemashure ekudhumhana kwemazita uye neimwe nzvimbo yedhairekitori rekodhi mumuti node. Nekudaro, ini ndichiri kukwanisa kukurudzira Reiser4 yekugadzira: pane izvi iwe unofanirwa kuita rimwe basa nekuita kudyidzana nevagadziri vekugadzira system.

Takazokwanisa kuita zano redu renguva refu - mhando dzakasiyana dzekutengeserana. Pakutanga, Reiser4 yaingomhanyisa imwe hardcoded Macdonald-Reiser modhi. Izvi zvakagadzira matambudziko ekugadzira. Kunyanya, snapshots hazvigoneke mune yakadaro transaction modhi - ivo vanozoshatiswa neatomu chikamu chinodaidzwa kuti "OVERWRITE SET". Reiser4 parizvino inotsigira matatu ekutengesa modhi. Mune chimwe chazvo (Nyora-Kwese), chikamu cheatomic OVERWRITE SET chinosanganisira mapeji ehurongwa chete (mifananidzo ye disk bitmaps, nezvimwewo), iyo isingagoni "kutorwa" (dambudziko rehuku nezai).

Saka iyo mifananidzo ikozvino inogona kuitika nenzira yakanakisa inogoneka. Mune imwe transactional modhi, ese akagadziridzwa mapeji anongoenda kune OVERWRITE SET (kureva kuti, inyaya yakachena). Iyi modhi ndeyeavo vakanyunyuta nezve kukurumidza kupatsanuka kweReiser4 zvikamu. Iye zvino mune iyi modhi chikamu chako hachizotsemuka nekukurumidza kupfuura neReiserFS (v3). Ese matatu mamodheru aripo, ane kumwe kusachengetedzwa, anovimbisa atomicity yekushanda, asi modhi ine kurasikirwa kweatomiki uye kuchengetedza chete kutendeseka kwechikamu kunogona zvakare kubatsira. Mhando dzakadaro dzinogona kubatsira kune ese marudzi ekushandisa (databases, nezvimwewo), ayo akatotora mamwe emabasa aya. Zviri nyore kuwedzera aya mamodheru kuReiser4, asi ini handina kuzviita, nekuti hapana akandibvunza, uye ini pachangu handizvide.

Metadata checksums yakaonekwa uye ini nguva pfupi yadarika ndakavawedzera ne “economical” magirazi” (zvichiri zvisina kugadzikana). Kana iyo cheki yechero block ikatadza, Reiser4 inongoverenga inoenderana block kubva kune replica mudziyo. Ziva kuti ZFS neBtrfs haigone kuita izvi: dhizaini haibvumire. Ikoko iwe unofanirwa kumhanyisa yakasarudzika yekuseri yekuongorora inonzi "scrub" uye womirira kuti isvike kune dambudziko block. Vagadziri vezvirongwa nenzira yokufananidzira vanodana zviitiko zvakadaro kuti “madondoro.”

Uye pakupedzisira, heterogeneous zvine musoro mavhoriyamu aonekwa, achipa zvese izvo ZFS, Btrfs, block layer, pamwe neFS + LVM musanganiswa musimboti haugone kupa - parallel scaling, O (1) dhisiki kero allocator, pachena data kutama pakati pe subvolumes. Iyo yekupedzisira zvakare ine mushandisi interface. Iye zvino unogona kufambisa nyore nyore iyo inopisa data kune yepamusoro-yekuita dhiraivha pavhoriyamu yako.

Pamusoro pezvo, zvinokwanisika kumhanyisa nekukasira chero mapeji akasviba kudhiraivha yakadaro, nekudaro ichimhanyisa zvakanyanya maapplication anowanzo kudana fsync(2). Ini ndinocherekedza kuti iyo block layer inoshanda, inonzi bcache, haipe rusununguko rwakadaro rwekuita zvachose. Mavhoriyamu matsva anonzwisisika akavakirwa pane angu algorithms (kune anoenderana patents). Iyo software yatove yakagadzikana, zvinokwanisika kuiedza, kuyera kuita, nezvimwe. Izvo chete zvinokanganisa ndezvekuti ikozvino iwe unofanirwa kugadzirisa nemaoko vhoriyamu gadziriso uye kuichengeta kumwe kunhu.

Kusvika pari zvino ndakwanisa kushandisa pfungwa dzangu nezvikamu gumi kubva muzana. Zvisinei, ndakabudirira pane zvandaiona sechinhu chakaoma zvikuru - kubatanidza mavhoriyamu anonzwisisika nekamwe flash process inoita zviito zvese zvakaverengerwa mu reiser10. Izvi zvese zvichiri mubazi rekuyedza "format4".

Reiser4 inopfuura xfstests here?

Zvirinani zvakandiitira pandakanga ndichigadzirira kuburitswa kwekupedzisira.

Zvinoita here musimboti kuita Reiser4 network (cluster) FS uchishandisa plugins?

Zvinogoneka, uye zvinotofanira! Kana iwe ukagadzira faira retiweki zvichibva pane yakanyatsogadzirirwa yemuno faira system, mhedzisiro ichave inonakidza kwazvo! Mune yemazuva ano network FSs, ini handigutsikane nekuvapo kweiyo backend yekuchengetedza level, iyo inoshandiswa uchishandisa chero yemuno FS. Kuvapo kwechinhanho ichi hakuna kurongeka zvachose. Iyo network FS inofanirwa kupindirana zvakananga neiyo block layer, uye kwete kubvunza iyo yemuno FS kuti igadzire chero mamwe mafaera ebasa!

Muzhinji, kupatsanura masisitimu emafaira munzvimbo uye network kunobva kune wakaipa. Yakasimuka kubva mukusakwana kwealgorithms yakashandiswa makore makumi matatu apfuura, uye panzvimbo payo hapana chave kutaurwa. Ichi zvakare chikonzero chekuonekwa kwehuwandu hwezvisingakoshi zvesoftware zvikamu (akasiyana masevhisi, nezvimwewo). Nenzira yakanaka, panofanirwa kuve neFS imwe chete muchimiro chekernel module uye seti yezvishandiso zvevashandisi yakaiswa pamushini wega wega - cluster node. Iyi FS ndeyese yemuno uye network. Uye hapana chimwe!

Kana pasina chinoshanda neReiser4 paLinux, ndinoda kupa FS yeFreeBSD (quote kubva mubvunzurudzo yapfuura: "... FreeBSD ... ine midzi yezvidzidzo ... Uye izvi zvinoreva kuti nehupamhi hwepamusoro hwezvingabvira isu uchawana mutauro wakajairika nevagadziri")?

Saka, sezvatakangoona, zvese zvakatoshanda zvakakwana neLinux: kune yakaparadzana inoshanda Reiser4 chiteshi chayo muchimiro chebazi rebazi renzvimbo yedu. Ini handina kukanganwa nezve FreeBSD! Offer! Ini ndakagadzirira kushanda padhuze nevaya vanoziva mukati meFreeBSD zvakanaka. Nenzira: izvo zvandinoda chaizvo pamusoro penharaunda yavo ndezvokuti zvisarudzo zviripo zvinogadzirwa nekanzuru yakagadziridzwa yenyanzvi dzakazvimiririra, iyo isina chekuita nehunyengeri hwehurumende hwemunhu mumwe anogara.

Unoyera sei nharaunda yevashandisi veLinux nhasi? Yave yakawanda "pop" here?

Tichifunga nezvemhando yebasa rangu, zvakandiomera kuti ndiongorore izvi. Vazhinji vashandisi vanouya kwandiri nebug mishumo uye zvikumbiro zvekugadzirisa chikamu. Vashandisi sevashandisi. Vamwe vane ruzivo, vamwe vashoma. Munhu wese anobatwa zvakafanana. Zvakanaka, kana mushandisi akaregeredza mirairo yangu, saka ndiregerereiwo: iyo yekuregeredza odha ichapinzwa neniwo.

Zvinokwanisika here kufanotaura kugadzirwa kwemafaira emafaira kwemakore mashanu kusvika gumi anotevera? Iwe unofunga kuti ndeapi matambudziko makuru ayo vanogadzira FS vangatarisana nawo?

Hongu, hazvina kuoma kuita kufanotaura kwakadaro. Pakave pasina kuvandudzwa kwemafaira masisitimu kumusoro kwerwizi kwenguva yakareba. Kuonekwa kwezvakadai chete ndiko kunosikwa. Vagadziri vemafaira emunharaunda vakasangana nematambudziko ane chekuita nekugadzirwa kwakashata. A caveat inoda kuitwa pano. Ini handitarise izvo zvinonzi "kuchengetera", "kunanzva" uye kutakurwa kwekodhi sekusimudzira nekusimudzira. Uye ini handisanisi kusanzwisisa kunonzi "Btrfs" sekusimudzira nekuda kwezvikonzero zvandatotsanangura.

Chigamba chimwe nechimwe chinongowedzera matambudziko acho. Zvakanaka. uye kune nguva dzose marudzi akasiana-siana a“vaevhangeri” avo “zvose zvinoshanda” kwavari. Chaizvoizvo, ava vana vechikoro uye vadzidzi vanosvetuka zvidzidzo. Chimbofungidzira: inoshanda kwaari, asi purofesa haaiti. Uku kumhanya kwakadini kweadrenaline! Kubva pakuona kwangu, kukuvadza kukuru kunokonzerwa ne "mhizha" dzakamhanyira "kutsvaira" nechido maficha eBtrfs pane ese marudzi ematanho senge systemd, docker, nezvimwe. - izvi zvakatofanana nemetastases.

Ngatiedzei kuita fungidziro yemakore mashanu kusvika gumi. Ini ndatonyora muchidimbu zvatichaita muReiser4. Dambudziko guru revagadziri veFS vemunharaunda kubva kumusoro richava (hongu, rakatove) kusakwanisa kuita basa rakanaka remuhoro. Pasina chero mazano mumunda wekuchengetedza data, ivo vacharamba vachiedza kupeta izvi zvisina kunaka VFS, XFS uye ext4. Mamiriro ezvinhu neVFS anotarisa kunyanya kusekesa pakatarisana nemamiriro ezvinhu aya, achiyeuchidza nezvechizvino-zvino cheimwe resitorendi umo musina vabiki, uye pasina mabiki anotarisirwa.

Zvino iyo VFS kodhi, isina chero mamiriro, inokiya akati wandei mapeji endangariro panguva imwe chete uye inokoka iyo iri pasi peFS kuti ishande paari. Izvi zvakaunzwa kuvandudza mashandiro eExt4 pakudzima mashandiro, asi sezviri nyore kunzwisisa, kukiya kwakadaro panguva imwe chete hakuenderane nemhando dzepamusoro dzekutengesa. Ndokunge, haugone kungowedzera rutsigiro rweimwe smart faira system mukernel. Ini handizive kuti mamiriro akaita sei mune dzimwe nzvimbo dzeLinux, asi sekureva kwemafaira masisitimu, chero budiriro pano haifanire kuenderana nemutemo unotevedzwa naTorvalds mukuita (mapurojekiti edzidzo anodzingwa, uye scammers handina ruzivo rwekuti B-muti, zvikwereti zvisingaperi zvekuvimba zvinopihwa). Naizvozvo, nzira yakarongwa nokuda kwokuora kunononoka. Hongu, ivo vachaedza nesimba ravo rose kuipfuudza se "budiriro."

Uyezve, "vatariri" vemafaira emafaira, vachiziva kuti haugoni kuwana mari yakawanda kubva "kuchengetedza" chete, vachaedza ruoko rwavo kune bhizinesi rinobhadhara. Aya ndiwo, sekutonga, akagovera faira masisitimu uye virtualization. Pamwe ivo vanozotakura iyo fashoni ZFS kumwe kunhu kwaisati kwavepo. Asi iyo, seFS yose kubva kumusoro, inofanana nemuti weGore Idzva: kana iwe ukakwanisa kusungirira zvimwe zvinhu zviduku pamusoro, saka haugoni kuwana zvakadzika. Ini ndinobvuma kuti zvinogoneka kuvaka yakakomba bhizinesi system yakavakirwa paZFS, asi sezvo tave kutaura nezveramangwana, ndinogona kungotaura zvinosuruvarisa kuti ZFS haina tarisiro panyaya iyi: nemidziyo yavo chaiyo, vakomana vakacheka oxygen. ivo pachavo uye nezvizvarwa zvinotevera kuitira imwe budiriro. ZFS chinhu chekare. Uye ext4 uye XFS haisiriyo zuva rapfuura nezuro.

Zvakakodzera kutaura zvakasiyana nezve inonakidza pfungwa ye "Linux faira system yechizvarwa chinotevera". Iyi ipurojekiti yezvematongerwo enyika uye yekushambadzira yakagadzirirwa mukana, sekutaura, "kupinza ramangwana remafaira masisitimu" muLinux kuseri kwemavara chaiwo. Chokwadi ndechekuti Linux yaimbove "yekunakidzwa chete". Asi iye zvino watova muchina wekuita mari. Ivo vakagadzirwa pane zvese zvinogoneka. Semuenzaniso, zvakaoma zvikuru kugadzira chigadzirwa chakanaka chepurogiramu, asi "vagadziri" vakachenjera vakaziva kwenguva refu kuti hapana chikonzero chekunetseka zvachose: unogona kubudirira kutengesa software isiripo iyo yakaziviswa uye yakasimudzirwa pamarudzi ose evanhu. zviitiko - chinhu chikuru ndechekuti masiraidhi emharidzo anofanira kunge aine mamwe "maficha".

Mafaira masisitimu akakwana kune izvi, nekuti iwe unogona zvakachengeteka kutengeserana kwemakore gumi pane mhedzisiro. Zvakanaka, kana mumwe munhu akazonyunyuta pamusoro pekushaikwa kweiyi mhedzisiro, saka haanzwisisi chero chinhu nezvemafaira masisitimu! Izvi zvinoyeuchidza piramidhi yemari: kumusoro kune vafambisi vakatanga mhirizhonga iyi, uye avo vashomanana vaiva "nerombo": "vakabvisa zvikamu," i.e. akagamuchira mari yekusimudzira, akawana basa rakabhadharwa zvakanaka semaneja, "akaratidzwa" pamisangano, nezvimwewo.

Tevere kunouya avo "vasina rombo rakanaka": ivo vanoverenga kurasikirwa, kubata nemhedzisiro yekuendesa isingagoneke software chigadzirwa mukugadzira, "etc. Kune akawanda akawanda awo. Zvakanaka, pazasi pepiramidhi pane huwandu hukuru hwevagadziri "vanoona" kodhi isina basa. Ndivo vakarasikirwa zvikuru, nokuti nguva yakarasika haigoni kudzorerwa. Mapiramidhi akadaro anobatsira zvakanyanya kuna Torvalds nevamwe vake. Uye kuwanda kwemapiramidhi aya, zviri nani kwavari. Kudyisa mapiramidhi akadaro, chero chinhu chinogona kutorwa mukati mepakati. Chokwadi, paruzhinji vanotaura zvakasiyana. Asi handitongi namashoko asi namabasa.

Saka, "ramangwana remafaira masisitimu muLinux" ndeimwezve inosimudzirwa zvakanyanya, asi isinga shandiswe software. Mushure meBtrfs, ine mukana wepamusoro, nzvimbo ye "ramangwana" yakadaro ichatorwa neBcachefs, iyo imwe yekuedza kuyambuka Linux block layer nefaira system (muenzaniso wakaipa unotapukira). Uye chii chakajairwa: kune matambudziko akafanana semuBtrfs. Ndakafungidzira izvi kwenguva yakareba, uye neimwe nzira handina kukwanisa kuramba uye ndakatarisa mukodhi - ichokwadi!

Vanyori veBcachefs neBtrfs, pavakagadzira FS yavo, vakashinga kushandisa zvinyorwa zvevamwe vanhu, vachinzwisisa zvishoma nezvavo. Mamiriro acho ezvinhu anoyeuchidza nezvemutambo wevana "foni yakaputsika." Uye ini ndinogona kufungidzira kuti iyi kodhi ichaverengerwa sei mu kernel. Chaizvoizvo, hapana achaona "rakes" (munhu wese anozotsika paari gare gare). Mushure mekupokana kwakawanda nezve chimiro chekodhi, kupomerwa kwekutyora kusipo, nezvimwewo, mhedziso ichaitwa nezve "kuvimbika" kwemunyori, kuti "anopindirana" sei nevamwe vanogadzira, uye kuti zvese izvi zvinogona kubudirira sei. zvozotengeswa kumakambani.

Mhedzisiro haingafariri chero munhu. Makore makumi maviri apfuura, zvichida, ndingadai ndakafarira, asi ikozvino mibvunzo inobvunzwa zvakasiyana: zvichave zvichiita here kusimudzira izvi kuitira kuti vamwe vanhu vashande mukati memakore gumi anotevera. Uye, nhamo, haisi tsika yekushamisika nezvemhedzisiro.

Kazhinji, ini ndinopa zano rakasimba kubva pakutanga kudzoreredza yako faira system kubva kutanga. Nekuti kunyange yakakosha mari yekudyara haizokwani kuwana chimwe chinhu chinokwikwidza mumakore gumi. Ehe, ndiri kutaura nezve mapurojekiti akakomba, uye kwete nezve ayo anoitirwa "kusundirwa" mu kernel. Saka, imwe nzira inoshanda yekuzviratidza ndeyekujoinha zviitiko chaizvo, sesu. Izvi, hongu, hazvisi nyore kuita - asi izvi ndizvo zvakaita chero chirongwa chepamusoro-soro.

Kutanga, iwe unozofanirwa kuzvimiririra kukunda dambudziko randichapa. Mushure mezvo, ndine chokwadi nekukosha kwezvinangwa zvako, ndichatanga kubatsira. Pachivanhu, isu tinoshandisa chete budiriro yedu pachedu. Izvo zvakasarudzika ndeye compression algorithms uye mamwe mabasa ehashi. Isu hatitumiri vanogadzira kuti vaende kumisangano, uye ipapo isu hatigari nekubatanidza pfungwa dzevamwe vanhu ("zvichida chii chichaitika"), sechinyakare mukutanga kwakawanda.

Isu tinogadzira ese algorithms isu pachedu. Ini parizvino ndiri kufarira algebraic uye combinatorial maficha ekuchengetedza data sainzi. Kunyanya, minda inogumira, asymptotics, humbowo hwekusaenzana. Kunewo basa kune vakajairwa mapurogiramu, asi ndinofanira kukuyambira pakarepo: mazano ose e "tarisa imwe FS uye uite zvakafanana" haana hanya. Mapeche akanangana nekubatana kwepedyo neLinux kuburikidza neVFS achaendawo ikoko.

Saka, isu hatina reki, asi isu tine nzwisiso yekuti tinofanira kutamira kupi, uye tine chivimbo chekuti nzira iyi ndiyo chaiyo. Kunzwisisa uku hakuna kuuya muchimiro chemana kubva kudenga. Rega ndikuyeuchidze kuti isu tine makore makumi maviri nemapfumbamwe eruzivo rwebudiriro kumashure kwedu, maviri mafaira masisitimu akanyorwa kubva pakutanga. Uye iyo yakafanana nhamba ye data kudzoreredza utilities. Uye izvi zvakawanda!

Source: opennet.ru

Voeg