Puisano ea bobeli le Eduard Shishkin, moqapi oa Reiser4 FS

Puisano ea bobeli le Eduard Shishkin, moqapi oa sistimi ea faele ea Reiser4, e phatlalalitsoe.

Ho qala, ka kopo, hopotsa babali hore na u sebeletsa hokae le hore na u sebeletsa mang.

Ke sebetsa ke le Setsebi se ka Sehloohong sa Polokelo ho Huawei Technologies, Setsing sa Lipatlisiso sa Jeremane. Lefapheng la virtualization ke sebetsana le likarolo tse sa tšoaneng tsa polokelo ea data. Mesebetsi ea ka ha e amane le sistimi e itseng ea ts'ebetso.

Na ha joale u itlama lekaleng la kernel e kholo?

Ke ka seoelo, 'me hafeela mohiri oa ka a e hloka. Lekhetlo la ho qetela e ne e le lilemo tse ka bang tharo tse fetileng, ke ile ka romela li-patches ho eketsa phallo bakeng sa polokelo e arolelanoang ho mabotho a sebelisang protocol ea 9p (lebitso le leng la khoebo ena ke VirtFS). Ntlha e le 'ngoe ea bohlokoa e tlameha ho etsoa mona: le hoja esale ke sebetsa le Linux ka nako e telele, ha ke e-s'o ka ke e rata, ke hore, ke "hema ka ho lekana," joalo ka ntho e 'ngoe le e' ngoe. Haholo-holo, haeba ke hlokomela phoso, nka e supa hang-hang. 'Me e le hore u ka latela motho e mong le ho ba kholisa - sena se ke ke sa etsahala.

Ke hopola lekhetlo la ho qetela, lilemong tse leshome tse fetileng, u ne u nyatsa mokhoa oa nts'etsopele ea kernel. Ho latela maikutlo a hau (kapa mohlomong a khoebo), na ho na le letho le fetohileng, na sechaba se fetohile se arabelang haholoanyane kapa che? Haeba ha ho joalo, u nahana hore ke mang ea molato?

Ha ho mohla nkileng ka bona liphetoho leha e le life tsa ho ntlafatsa. Bothata bo boholo ba sechaba ke ho nkela saense sebaka ka theknoloji ea lipolotiki, likamano tsa botho, maikutlo a bongata, populism, keletso e tsoang ho "mantsoe a ka hare," ho sekisetsa ho bolileng, ntho e 'ngoe le e' ngoe ntle le saense. Saense ea k'homphieutha, eng kapa eng eo motho a ka e buang, ke ea pele le saense e nepahetseng. 'Me haeba motho e mong a qala ho phatlalatsa boleng ba hae bakeng sa 2x2, ho fapana le 4, tlas'a folakha ea "Linux way", kapa tlas'a folakha e' ngoe, joale sena ha se na monyetla oa ho tlisa ntho leha e le efe ntle le kotsi.

Mathata 'ohle a bakoa haholo-holo ke ho hloka tsebo le ho hloka thuto ha ba etsang liqeto. Haeba mookameli a se na bokhoni, ha a khone ho etsa qeto e nang le sepheo, e lekaneng. Haeba le eena a sa ruteha, ha a khone ho fumana setsebi se nang le bokhoni se tla mo fa keletso e nepahetseng. Ka monyetla o moholo, khetho e tla oela ho motho ea bolotsana ea reng "lintho tse bonahalang li nepahetse." Tikoloho e bolileng e lula e le teng ho baeta-pele ba se nang bokhoni. Ho feta moo, histori ha e tsebe mekhelo tabeng ena, 'me sechaba ke tiiso e hlakileng ka ho fetisisa ea sena.

U lekola tsoelopele joang ho nts'etsopele ea Btrfs? Na FS ee e ile ea felisa mafu a bana? U e beha joang bakeng sa hau - joalo ka FS "bakeng sa lehae" kapa bakeng sa ts'ebeliso ea likhoebo hape?

Ha kea ka ka e lahla. Ntho e 'ngoe le e 'ngoe eo ke e boletseng lilemong tse 11 tse fetileng e ntse e sebetsa le kajeno. E 'ngoe ea mathata a Btrfs a etsang hore e se ke ea tšoanela litlhoko tse tebileng ke bothata ba sebaka sa mahala. Ha ke bue le taba ea hore mosebelisi o kopuoa ho mathela lebenkeleng bakeng sa disk e ncha maemong ao FS e 'ngoe e ka bonts'ang sebaka se sengata sa mahala ho karohano. Ho se khone ho phetha ts'ebetso ka molumo o utloahalang ka lebaka la ho hloka sebaka sa mahala le hona ha se ntho e mpe ka ho fetisisa. Ntho e mpe ka ho fetesisa ke hore mosebelisi ea se nang tokelo hoo e ka bang kamehla, a ka feta quotas efe kapa efe ea disk, a amoha motho e mong le e mong sebaka sa mahala ka nako e khuts'oane.

E shebahala tjena (e lekoa bakeng sa Linux kernel 5.12). Script e qalisoa ka mokhoa o sa tsoa kenngoa, oo ka loop o etsang lifaele tse nang le mabitso a itseng bukeng ea lapeng, o ngolla data ho tsona ka li-offsets tse itseng, ebe o hlakola lifaele tsena. Ka mor'a metsotso e seng mekae ea ho sebelisa script, ha ho letho le sa tloaelehang le etsahalang. Kamora metsotso e mehlano, karolo ea sebaka se tšoaretsoeng karohanong e eketseha hanyane. Kamora lihora tse peli ho isa ho tse tharo e fihla ho 50% (ka boleng ba pele ba 15%). 'Me ka mor'a lihora tse hlano kapa tse tšeletseng tsa mosebetsi, sengoloa se oela ka phoso "ha ho na sebaka sa mahala ho karohano." Ka mor'a sena, ha u sa khona ho ngola esita le faele ea 4K karolong ea hau.

Boemo bo thahasellisang bo etsahala: u qetelle u sa ngole letho ho karohano, 'me sebaka sohle sa mahala (hoo e ka bang 85%) se ile sa nyamela kae-kae. Tlhahlobo ea karolo e tlas'a tlhaselo e joalo e tla senola li-node tse ngata tsa lifate tse nang le ntho e le 'ngoe feela (ntho e nang le senotlolo), li-byte tse ngata ka boholo. Ka mantsoe a mang, litaba tseo pele li neng li tšoaretsoe 15% ea sebaka sa disk li ile tsa fetoha "smeared" ka mokhoa o ts'oanang holim'a karohano eohle e le hore ho se ke ha e-ba le moo u ka ngolang faele e ncha, hobane senotlolo sa eona se seholo ho feta tsohle tse teng, le mahala. diboloko tse karohanong di fedile.

Ho feta moo, sena sohle se se se ntse se etsahala ho tlhophiso ea mantlha ea Btrfs (ntle le li-snapshots, subvolumes, joalo-joalo), 'me ha ho tsotellehe hore na u etsa qeto ea ho boloka lihlopha tsa faele ho FS eo (e le "likaroloana" sefateng, kapa ka boholo. ea li-blocks tse sa hlophisitsoeng) - sephetho se tla tšoana.

U ke ke ua khona ho beha litsamaiso tse ling tse holimo tsa faele tlhaselong e joalo (ho sa tsotelehe seo ba u bolellang sona). Ke hlalositse sesosa sa bothata nako e telele e fetileng: ena ke ho sotha ka ho feletseng ha mohopolo oa B-tree ho Btrfs, e leng se etsang hore ho khonehe hore ka boomo kapa ka boomo bo fokotsehe. Haholo-holo, tlas'a meroalo e itseng, sistimi ea hau ea faele e tla lula e "senyeha" nakong ea ts'ebetso ka boeona, ntle le thuso ea kantle. Ho hlakile hore mefuta eohle ea "tobetsa" lits'ebetso tsa morao-rao li tla boloka letsatsi feela ho li-desktops tsa motho ka mong.

Ho li-server tse kopanetsoeng, mohlaseli o tla lula a khona ho "ba etella pele" ho bona. Motsamaisi oa tsamaiso a ke ke a khona le ho tseba hore na hantle-ntle ke mang ea mo hlorisitseng. Tsela e potlakileng ea ho lokisa bothata bona ho Btrfs ke ho tsosolosa sebopeho sa sefate se tloaelehileng sa B, ke hore. ho hlophisa bocha sebopeho sa disk le ho ngola bocha likarolo tsa bohlokoa tsa khoutu ea Btrfs. Sena se tla nka lilemo tse 8-10, ho kenyelletsa le ho lokisa liphoso, ha feela bahlahisi ba latetse ka tieo lingoliloeng tsa mantlha mabapi le li-algorithms le libopeho tsa data, mme ba sa bapale papali ea "fono e robehileng", joalo ka tloaelo (le ho khothaletsoa) ho "Linux". tsela”.

Mona re boetse re hloka ho eketsa nako e hlokahalang hore bahlahisi ba utloisise sena sohle. Mona ke moo ho ba thata le ho feta. Leha ho le joalo, lilemo tse 10 li ne li sa lekana hore ba utloisise. Hantle, ho fihlela ka nako eo u ke ke ua tšepa mohlolo. E ke ke ea etsahala ka mokhoa oa khetho e ntseng e eketseha "eo 'na le uena re neng re sa e tsebe," kapa ka mokhoa oa patch e leng "taba feela ea khoebo" ho itokisetsa. Bakeng sa "lokiso" e 'ngoe le e' ngoe e joalo ka potlako ke tla hlahisa boemo bo bocha ba ho senyeha. Lifate tsa B ke e 'ngoe ea lihlooho tseo ke li ratang haholo,' me ke tlameha ho bolela hore meaho ena ha e mamelle tokoloho ka bobona!

Ke ipehela li-Btrfs joang? E le ntho eo ho hang e ke keng ea bitsoa tsamaiso ea faele, re se re sa re letho ka ho sebelisoa. Hobane, ka tlhaloso, FS ke tsamaiso e nyenyane ea OS e ikarabellang bakeng sa tsamaiso e sebetsang ea "sebaka sa disk" mohloli, oo re sa o boneng tabeng ea Btrfs. Ak'u nahane u tlile lebenkeleng ho tla reka oache e le hore u se ke ua lieha mosebetsing, 'me ho e-na le oache ba u rekisetsa grill ea motlakase e nang le sebali sa nako bakeng sa metsotso e ka bang 30. Kahoo, boemo ba Btrfs bo bobe le ho feta.

Ha ke sheba lethathamong la mangolo, ke atisa ho kopana le polelo ea hore ho laola sebaka sa disk ka katleho ha ho sa sebetsa ka lebaka la theko e tlaase ea likoloi. Sena ke bohlanya bo felletseng. Ntle le mookameli oa sebaka sa disk se sebetsang, OS e tla ba tlokotsing le e sa sebelisoeng. Ho sa tsotelehe boholo ba li-disk mochining oa hau.

Ke kopa ho fana ka maikutlo mabapi le ho felisoa ha tšehetso ea Btrfs ho RHEL.

Ha ho letho le ikhethang la ho fana ka maikutlo mona, ntho e 'ngoe le e' ngoe e hlakile haholo. Ba ne ba boetse ba e-na le eona e le "ponelopele ea theknoloji". Kahoo, ha kea ka ka feta "ponelopele" ena. Se ke oa lumella label ena hore e fanyehe ka ho sa feleng! Empa ha ba khone ho hlahisa sehlahisoa se nang le phoso se entsoeng ka tšehetso e feletseng. RHEL ke khoebo, ke hore, likamano tse behiloeng pakeng tsa thepa le chelete. Red Hat e ke ke ea hlorisa basebelisi joalo ka ha ba etsa lethathamong la mangolo la Btrfs. Ak'u nahane feela ka boemo: mofani ea ileng a lefa chelete ea hae e thata bakeng sa disk le uena bakeng sa tšehetso, o batla ho utloisisa hore na sebaka sa hae sa disk se ile sa ea hokae ka mor'a hore a se ke a ngola letho. O tla mo araba ka eng tabeng ee?

Ho feta moo. Bareki ba Red Hat ba kenyelletsa libanka tse kholo tse tsebahalang le phapanyetsano. Ak'u inahanele hore na ho ka etsahala'ng haeba ba ne ba ka hlaseloa ke DoS ho ipapisitse le ho ba kotsing ho boletsoeng ho Btrfs. U nahana hore ke mang ea ikarabellang tabeng ee? Ho ba seng ba le mothating oa ho supa mohala oa laesense ea GPL, moo ho ngotsoeng hore mongoli ha a ikarabelle bakeng sa letho, hang-hang ke tla re: "e pate!" Red Hat e tla araba, 'me ka tsela eo e ke keng ea bonahala e lekana! Empa kea tseba hore Red Hat ha e tobane le bothata ba mofuta ona, ho fanoe ka sehlopha sa bona se matla ka ho khetheha sa baenjiniere ba QA bao ke ileng ka ba le monyetla oa ho sebetsa haufi-ufi nakong ea ka.

Hobaneng ha lik'hamphani tse ling li tsoela pele ho tšehetsa Btrfs lihlahisoa tsa bona tsa likhoebo?

Ka kopo hlokomela hore sehlomathiso "enterprise" lebitsong la sehlahisoa ha se bolele haholo. Khoebo ke tekanyo ea boikarabello e kentsoeng kamanong ea konteraka le moreki. Ke tseba ka khoebo e le 'ngoe feela e thehiloeng ho GNU/Linux - RHEL. Lintho tse ling tsohle, ho ea ka pono ea ka, li hlahisoa feela e le khoebo, empa ha se e 'ngoe. 'Me qetellong, haeba ho na le tlhokahalo ea ntho e itseng, joale ho tla lula ho e-na le phepelo (ho rona, ena ke "tšehetso" e boletsoeng). Ho na le tlhoko ea ntho e 'ngoe le e' ngoe, ho kenyeletsoa. le software e sa sebetseng. Hore na tlhoko e joalo e thehoa joang le hore na ke mang ea e fehlang ke sehlooho se seng.

Kahoo, nke ke ka potlakela ho fihlela liqeto leha e le life ka mor'a hore Facebook ho boleloe hore e kentse Btrfs ho li-server tsa eona. Ho feta moo, ke khothaletsa ho boloka liaterese tsa li-server tseo ka hloko ka mabaka a ka holimo.

Hobaneng ho entsoe boiteko bo bokaale ba ho hloekisa khoutu ea XFS morao tjena? Ntle le moo, qalong ena ke sistimi ea faele ea motho oa boraro, 'me ext4 e tsitsitse nako e telele mme e na le tsoelo-pele ho tsoa liphetolelong tse fetileng tse tsitsitseng ka ho lekana. Red Hat e na le thahasello efe ho XFS? Na hoa utloahala ho nts'etsapele lits'ebetso tse peli tsa faele tse ts'oanang ka sepheo - ext4 le XFS?

Ha ke hopole hore na sena se susumelitsoe ke eng. Ho ka etsahala hore ebe mohato ona o tsoa ho bareki ba Red Hat. Ke hopola hore lipatlisiso tsa mofuta ona li ne li etsoa: lits'ebetsong tse ling tsa lifaele tse tsoang holimo, ho ile ha bōptjoa palo e kholo ea lintho ka li-drive tse phahameng tsa moloko o mocha. Ho latela liphetho, XFS e itšoere hantle ho feta ext4. Kahoo ba ile ba qala ho e buella e le eona e tšepisang ka ho fetisisa. Leha ho le joalo, ke ne nke ke ka batla letho le monate mona.

Ho 'na, ho tšoana le ha ba nketse sesepa sebaka ka sesepa. Ha ho na thuso ho nts'etsapele ext4 le XFS. Ka bobeli ka tsela e tšoanang le efe kapa efe ea tsona eo u ka khethang ho eona. Ha ho letho le molemo le tla tsoa ho sena. Le hoja, ka tlhaho hangata ho na le maemo ha ho na le menyetla e mengata ea ho hōla, empa ha ho na sebaka sa ho hōla. Tabeng ena, ho hlaha limela tse ncha tse sa tloaelehang, tseo bohle ba li supang ka monoana ("Oh, bona, seo u ke keng ua se bona bophelong bona!").

Na u nahana hore taba ea tlolo ea lera e rarollotsoe (ka kutloisiso e mpe) ka ho fihla ha mesebetsi ea encryption ho ext4, F2FS (re sa bue ka RAID ho Btrfs)?

Ka kakaretso, ho hlahisoa ha maemo leha e le afe le ho etsa qeto mabapi le ho se tlōle molao hangata ke taba ea leano, 'me ha ke ikemisetse ho fana ka maikutlo holim'a letho mona. Likarolo tsa sepheo sa tlolo ea lera ha li na thahasello e nyane ho mang kapa mang, empa re ka nahana ka tse ling tsa tsona re sebelisa mohlala oa ho tlola "ho tloha holimo," e leng, ts'ebetsong ho FS ea ts'ebetso e seng e ntse e le teng ho block layer. "Tlhaloso" e joalo e lokafatsoa ka mekhelo e sa tloaelehang feela. Tabeng e 'ngoe le e 'ngoe e joalo, u tlameha ho qala ka ho paka lintho tse peli: hore e hlile ea hlokahala, le hore moralo oa tsamaiso o ke ke oa senyeha ka ho etsa joalo.

Ka mohlala, seipone, seo ka tloaelo e 'nileng ea e-ba mosebetsi oa block layer, hoa utloahala ho kenya ts'ebetsong boemong ba tsamaiso ea lifaele. Ka mabaka a fapaneng. Mohlala, bobolu ba data bo "khutsitseng" (bit rot) bo hlaha ho li-disk drive. Sena ke ha sesebelisoa se sebetsa hantle, empa data thibela e senyehile ka tsela e sa lebelloang tlas'a tšusumetso ea gamma quantum e thata e hlahisoang ke quasar e hōle, joalo-joalo. Ntho e mpe ka ho fetisisa ke haeba thibela ena e fetoha FS ea tsamaiso thibela (superblock, bitmap block, node ea sefate sa polokelo, joalo-joalo), hobane ka sebele sena se tla lebisa tšabong ea kernel.

Ka kopo hlokomela hore liipone tse fanoang ke block layer (tse bitsoang RAID 1) li ke ke tsa u pholosa bothateng bona. Ha e le hantle, motho o lokela ho hlahloba li-checksums le ho bala replica haeba a hlōleha? Ho phaella moo, hoa utloahala ho bonahatsa eseng feela ntho e 'ngoe le e' ngoe, empa ke metadata feela. Lintlha tse ling tsa bohlokoa (mohlala, lifaele tse sebetsang tsa lits'ebetso tsa bohlokoa) li ka bolokoa joalo ka metadata. Tabeng ena, ba fumana litiiso tse tšoanang tsa polokeho. Hoa utloahala ho beha ts'ireletso ea data e setseng ho litsamaiso tse ling (mohlomong le lits'ebetso tsa basebelisi) - re fane ka maemo ohle a hlokahalang bakeng sa sena.

Liipone tse joalo tsa "moruo" li na le tokelo ea ho ba teng, 'me li ka hlophisoa ka katleho feela boemong ba tsamaiso ea lifaele. Ho seng joalo, tlōlo ea molao ke ho kopanya tsamaiso e nyenyane e nang le khoutu e kopitsoang molemong oa melemo e meng ea microscopic. Mohlala o tsotehang oa sena ke ho kenngoa ha RAID-5 ho sebelisa FS. Litharollo tse joalo (RAID / LVM ea hau tsamaisong ea lifaele) li bolaea tsa morao-rao ka mantsoe a meralo. Hape hoa lokela ho hlokomeloa mona hore tlolo ea molao e "ketsoa" ke mefuta e fapaneng ea scammers ea papatso. Ha ho se na mehopolo, ts'ebetso eo e leng khale e sebelisoa maemong a boahelani e eketsoa lits'ebetsong, sena se hlahisoa e le karolo e ncha ea bohlokoa haholo mme e sutumetsoa ka mafolofolo.

Reiser4 o ile a qosoa ka ho tlola maemo "ho tloha tlase". Ho ipapisitsoe le taba ea hore sistimi ea faele ha e na monolithic, joalo ka tse ling kaofela, empa e le modular, ho entsoe monahano o sa netefatsoang oa hore o etsa seo boemo bo kaholimo (VFS) bo lokelang ho se etsa.

Na hoa khoneha ho bua ka lefu la ReiserFS v3.6 le, mohlala, JFS? Morao tjena ba fumane hoo e batlang e se tlhokomelo ea mantlha. Na li siiloe ke nako?

Mona re hloka ho hlalosa hore na lefu la sehlahisoa sa software le bolela eng. Ka lehlakoreng le leng, li sebelisoa ka katleho (ke seo li se bōpiloeng, ka mor'a tsohle), ho bolelang hore li phela. Ka lehlakoreng le leng, ha ke khone ho bua bakeng sa JFS (ha ke tsebe haholo), empa ReiserFS (v3) e thata haholo ho ikamahanya le mekhoa e mecha (e lekoa ka mokhoa o sebetsang). Sena se bolela hore nakong e tlang bahlahisi ba ke ke ba e ela hloko, empa ho ba bonolo ho ikamahanya le maemo. Ho tloha ka lehlakoreng lena hoa etsahala hore, oho, e shoele ka mantsoe a meralo. Ke ne nke ke ka fetola mohopolo oa "boitšoaro bo sa sebetseng" ho hang. E sebetsa hantle, ka mohlala, ho liaparo, empa eseng ho lihlahisoa tsa software. Ho na le maikutlo a ho ba tlaase le ho phahamela ntho e itseng. Nka bolela ka botlalo hore ReserFS v3 e se e le tlase ho Reiser4 nthong e 'ngoe le e' ngoe, empa mefuteng e meng ea mosebetsi e phahametse tse ling kaofela tsa FS tse ka holimo.

Na o tseba ka ntshetsopele ya FS Tux3 le HAMMER/HAMMER2 (FS for DragonFly BSD)?

E, rea tseba. Ho Tux3 ke kile ka thahasella theknoloji ea linepe tsa bona (tse bitsoang "version pointers"), empa ho Reiser4 ho ka etsahala hore re tsamaee ka tsela e fapaneng. Ke ntse ke nahana ka ho ts'ehetsa linepe ka nako e telele mme ha ke so nke qeto ea ho li kenya ts'ebetsong bakeng sa meqolo e bonolo ea Reiser4. 'Nete ke hore mokhoa o mocha oa "botsoa" oa litšupiso o hlahisitsoeng ke Ohad Rodeh o sebetsa feela bakeng sa lifate tsa B. Ha re na tsona. Bakeng sa meralo ea data e sebelisoang ho Reiesr4, li-counter "tse botsoa" ha li hlalosoe - ho li tsebisa, ho hlokahala ho rarolla mathata a itseng a algorithmic, ao ho seng motho ea kileng a sebetsana le ona.

Ho ea ka HAMMER: Ke balile sehlooho se tsoang ho moetsi. Ha ke na thahasello. Hape, lifate tsa B. Sebopeho sena sa data se siiloe ke nako. Re e lahlile lekholong le fetileng la lilemo.

U lekola joang tlhoko e ntseng e hola ea sehlopha sa marang-rang sa FSs joalo ka CephFS/GlusterFS/etc? Na tlhokahalo ee e bolela phetoho ea lintho tse tlang pele ho bahlahisi ho ea ho marang-rang a FS le tlhokomelo e sa lekaneng ho FS ea lehae?

E, ho bile le phetoho e joalo ea lintho tse tlang pele. Ntlafatso ea litsamaiso tsa lifaele tsa lehae e theohile. Oho, ho etsa ntho ea bohlokoa bakeng sa meqolo ea lehae hona joale ho thata haholo 'me ha se bohle ba ka e etsang. Ha ho motho ea batlang ho tsetela ntlafatsong ea bona. Sena se batla se tšoana le ho kopa mokhatlo oa khoebo hore o fane ka chelete bakeng sa lipatlisiso tsa lipalo - ntle le cheseho leha e le efe ba tla u botsa hore na u ka etsa chelete joang ka theorem e ncha. Hona joale FS ea lehae ke ntho eo ka boselamose e hlahang “ka ntle ho lebokose” le “kamehla e lokelang ho sebetsa,” ’me haeba e sa sebetse, e baka ho korotla ho sa rarolloeng joaloka: “E, ba nahana’ng!”

Kahoo ho hloka tlhokomelo ho FS ea lehae, leha ho ntse ho e-na le mosebetsi o mongata sebakeng seo. 'Me e, e mong le e mong o retelehetse ho polokelo e ajoang, e hahiloeng motheong oa litsamaiso tsa lifaele tsa lehae tse seng li ntse li le teng. E feshene haholo hona joale. Poleloana "Big Data" e baka ho potlaka ha adrenaline ho ba bangata, ho e amahanya le likopano, lithupelo, meputso e meholo, joalo-joalo.

Ke ho utloahalang hakae ho kenya ts'ebetsong tsamaiso ea faele ea marang-rang sebakeng sa kernel ho e-na le sebakeng sa mosebedisi?

Mokhoa o utloahalang haholo o so kang o kengoa tšebetsong kae kapa kae. Ka kakaretso, potso ea hore na tsamaiso ea faele ea marang-rang e lokela ho kenngoa sebakeng sefe ke "sabole e sehang ka nģa tse peli." Hantle, a re shebeng mohlala. Moreki o ngotse data mochining o hole. Li ile tsa oela ka har'a cache ea leqephe la hae ka mokhoa oa maqephe a litšila. Ona ke mosebetsi oa "thin gateway" ea "network" file system sebakeng sa kernel. Ebe sistimi e sebetsang haufinyane e tla u kopa hore u ngole maqephe ao ho disk ho a lokolla. Ebe mojule oa FS oa marang-rang oa IO-forwarding (sending) oa kena. E etsa qeto ea hore na ke mochini ofe oa seva (node ​​ea seva) maqephe ana a tla ea ho ona.

Ebe sethala sa marang-rang se nka sebaka ('me, joalo ka ha re tseba, se sebelisoa sebakeng sa kernel). Ka mor'a moo, node ea seva e amohela pakete eo e nang le data kapa metadata 'me e laela mochine oa polokelo ea backend (ke hore, FS ea sebakeng seo e sebetsang sebakeng sa kernel) ho tlaleha lintho tsena kaofela. Kahoo, re fokolitse potso hore na li-module tsa "ho romela" le "ho amohela" li lokela ho sebetsa hokae. Haeba e 'ngoe ea li-module tseo e sebetsa sebakeng sa mosebelisi, sena se tla lebisa phetohong ea maemo (ka lebaka la tlhoko ea ho sebelisa lits'ebeletso tsa kernel). Palo ea li-switches tse joalo e itšetlehile ka lintlha tsa ts'ebetsong.

Haeba ho na le li-switches tse joalo tse ngata, joale mokhoa oa ho boloka (I / O tshebetso) o tla fokotseha. Haeba polokelo ea hau ea morao-rao e entsoe ka li-disk tse liehang, joale u ke ke ua hlokomela ho theoha ho hoholo. Empa haeba u na le li-disk tse potlakileng (SSD, NVRAM, joalo-joalo), joale phetoho ea moelelo e se e fetohile "botlolo" 'me, ka ho boloka ho fetola moelelo, tshebetso e ka eketsoa haholo. Mokhoa o tloaelehileng oa ho boloka chelete ke ho tsamaisa li-module sebakeng sa kernel. Ka mohlala, re fumane hore ho tsamaisa seva sa 9p ho tloha QEMU ho ea ho kernel mochine o amohelang baeti ho lebisa ho eketseha ha VirtFS ka makhetlo a mararo.

Sena, ha e le hantle, ha se FS ea marang-rang, empa e bonahatsa ka botlalo moelelo oa lintho. Taba e nyahamisang ea ntlafatso ena ke litaba tsa portability. Ho ba bang, taba ea ho qetela e ka 'na ea e-ba ea bohlokoa. Mohlala, GlusterFS ha e na li-module ho kernel ho hang. Ka lebaka la sena, joale e sebetsa lipolaneteng tse ngata, ho kenyeletsoa NetBSD.

Ke mehopolo efe eo li-FS tsa lehae li ka li alimang ho tsa marang-rang le ka tsela e fapaneng?

Matsatsing ana, li-FS tsa marang-rang, joalo ka molao, li na le li-add-on holim'a li-FS tsa lehae, kahoo ha ke utloisise hantle hore na u ka alima ho hong ho tsoa ho tse latelang. Ha e le hantle, a re nahaneng ka k'hamphani ea basebetsi ba 4, eo e mong le e mong a iketsetsang eona: e mong o aba, e mong o romela, oa boraro o amohela, mabenkele a bone. 'Me potso, k'hamphani e ka alima eng ho mosebeletsi oa eona ea e bolokang, e utloahala ka tsela e itseng e fosahetse (e se e ntse e e-na le seo e ka se alimang ho eena ka nako e telele).

Empa li-FS tsa lehae li na le ho hongata hoo li ka ithutang tsona ho tsoa ho marang-rang. Taba ea pele, o lokela ho ithuta ho bona mokhoa oa ho kopanya melumo e utloahalang maemong a holimo. Hona joale ho thoeng ke Litsamaiso tsa "faele tse tsoetseng pele" tsa lehae li kopanya melumo e utloahalang e sebelisa theknoloji ea "virtual device" e alimiloeng ho tsoa ho LVM (eona tlolo ea ts'oaetso e tšoaetsanoang e ileng ea kengoa ts'ebetsong pele ho ZFS). Ka mantsoe a mang, ho fetoleloa ha liaterese tsa sebele (linomoro tsa li-block) ho ea ho ea sebele le ka morao ho etsahala boemong bo tlaase (ke hore, ka mor'a hore tsamaiso ea faele e fane ka kopo ea I / O).

Ka kopo hlokomela hore ho eketsa le ho tlosa lisebelisoa ho li-volumes tse utloahalang (eseng liipone) tse hlophisitsoeng holim'a block layer ho lebisa mathateng ao bafani ba "likarolo" tse joalo ba khutsitseng ka mokhoa o itekanetseng. Ke bua ka karohano ea lisebelisoa tsa 'nete, tse ka fihlelang litekanyetso tse nyarosang, ha ntho e ngoe le e ngoe e le hantle ka sesebelisoa sa nnete. Leha ho le joalo, ke batho ba fokolang ba thahasellang lisebelisoa tsa sebele: bohle ba thahasella se etsahalang lisebelisoa tsa hau tsa sebele. Empa ZFS-joaloka FS (hammoho le FS efe kapa efe hammoho le LVM) e sebetsa feela ka lisebelisoa tsa disk (abela liaterese tsa disk tse fumanehang har'a tse sa lefelloeng, senya lisebelisoa tsena tsa sebele, joalo-joalo). 'Me ha ba tsebe se etsahalang ka lisebelisoa tsa sebele!

Joale ak'u nahane hore u na le ho arohana ha zero ho sesebelisoa sa sebele (ke hore, u na le tekanyo e le 'ngoe feela e kholo ea ho lula moo), u eketsa disk ho molumo oa hau o utloahalang, ebe u tlosa disk e' ngoe e sa tloaelehang ho tloha molumo oa hau o utloahalang ebe u leka-lekanya hape. Le ka makhetlo a mangata. Ha ho thata ho nahana hore sesebelisoa sa sebele u tla be u ntse u phela ka tsela e tšoanang, empa ka lisebelisoa tsa sebele u ke ke ua bona letho le molemo.

Ntho e mpe ka ho fetisisa ke hore ha u khone le ho lokisa boemo bona! Ntho feela eo u ka e etsang mona ke ho kopa sistimi ea faele ho senya sesebelisoa sa nnete. Empa o tla u joetsa hore ntho e 'ngoe le e' ngoe e ntle moo - ho na le tekanyo e le 'ngoe feela, karohano ke zero,' me e ka se be betere! Kahoo, li-volumes tse utloahalang tse hlophisitsoeng boemong ba li-block ha li reretsoe ho eketsa / ho tlosoa ha lisebelisoa khafetsa. Ka tsela e ntle, o hloka feela ho bokella molumo o utloahalang boemong ba li-block hang, u fane ka oona tsamaisong ea faele, ebe u etsa letho le leng ka eona.

Ho phaella moo, motsoako oa li-subsystems tse ikemetseng tsa FS + LVM ha li lumelle ho ela hloko mefuta e fapaneng ea li-drive tseo ho tsona li-volumes tse utloahalang li kopantsoeng. Ehlile, ha re re o bokelletse molumo o hlakileng ho tsoa ho HDD le lisebelisoa tsa boemo bo tiileng. Empa joale ea pele e tla hloka defragmentation, 'me ea morao e ke ke ea. Bakeng sa ho qetela, o hloka ho fana ka likopo tsa ho lahla, empa bakeng sa tsa pele, eseng, joalo-joalo. Leha ho le joalo, ka motsoako ona ho thata haholo ho bontša khetho e joalo.

Hlokomela hore ka mor'a ho iketsetsa LVM tsamaisong ea lifaele, boemo ha bo ntlafatse haholo. Ho feta moo, ka ho etsa sena ha e le hantle u felisa tebello ea ho e ntlafatsa nakong e tlang. Sena se mpe haholo. Mefuta e fapaneng ea li-drive e ka phela mochining o le mong. 'Me haeba tsamaiso ea faele e sa khetholle pakeng tsa bona, joale ke mang ea tla etsa joalo?

Bothata bo bong ke ho letela seo ho thoeng ke. Sistimi ea faele ea "Ngola-Kae kapa kae" (sena se kenyelletsa Reiser4, haeba u boletse mofuta o nepahetseng oa transaction nakong ea mount). Litsamaiso tse joalo tsa lifaele li tlameha ho fana ka lisebelisoa tsa defragmentation tseo ho seng mohla li kileng tsa e-ba teng matleng a tsona. 'Me mookameli oa boemo bo tlaase ha a thuse mona, empa o kena tseleng feela. 'Nete ke hore ka mookameli ea joalo, FS ea hau e tla boloka' mapa oa li-blocks tsa mahala tsa sesebelisoa se le seng feela - sa sebele. Ka hona, o ka senya sesebelisoa sa sebele feela. Sena se bolela hore defragmenter ea hau e tla sebetsa nako e telele, e telele sebakeng se le seng sa liaterese tse fumanehang.

'Me haeba u na le basebelisi ba bangata ba ngolang ka mokhoa o sa reroang, phello e molemo ea mofolisi e joalo e tla fokotsoa ho zero. Ha ho pelaelo hore tsamaiso ea hau e tla qala ho fokotseha, 'me u tla tlameha feela ho phutha matsoho a hau ka pel'a tlhahlobo e soabisang "moralo o robehileng". Li-defragmenters tse 'maloa tse sebetsang sebakeng se le seng sa liaterese li tla kena-kenana feela. Ke taba e fapaneng ka ho felletseng haeba u boloka 'mapa oa hau oa li-blocks tsa mahala bakeng sa sesebelisoa ka seng sa nnete. Sena se tla tsamaisana hantle le ts'ebetso ea defragmentation.

Empa sena se ka etsoa feela haeba u e-na le mookameli oa boemo bo phahameng ba utloahalang. Litsamaiso tsa lifaele tsa lehae tse nang le batsamaisi ba joalo li ne li le sieo pele (bonyane, ha ke tsebe ka tsona). Ke litsamaiso tsa lifaele tsa marang-rang feela (mohlala GlusterFS) tse neng li e-na le batsamaisi ba joalo. Mohlala o mong oa bohlokoa haholo ke ts'ebeliso ea boleng ba boleng ba molumo (fsck). Haeba u boloka 'mapa oa hau o ikemetseng oa li-blocks tsa mahala bakeng sa subvolume e' ngoe le e 'ngoe, joale mokhoa oa ho lekola molumo o utloahalang o ka bapisoa hantle. Ka mantsoe a mang, li-volumes tse utloahalang tse nang le batsamaisi ba boemo bo phahameng li eketseha hamolemo.

Ho phaella moo, ka batsamaisi ba molumo o tlaase u ke ke ua khona ho hlophisa linepe tse felletseng. Ka litsamaiso tsa faele tse kang LVM le ZFS, o ka nka linepe tsa lehae feela, empa eseng linepe tsa lefats'e. Lits'oants'o tsa lehae li u lumella ho khutlisa hang-hang lits'ebetso tse tloaelehileng tsa faele. 'Me ha ho motho ea tla khutlisa ts'ebetso ka meqolo e utloahalang (ho eketsa / ho tlosa lisebelisoa). Ha re shebe sena ka mohlala. Ka nako e itseng, ha u e-na le molumo o utloahalang oa lisebelisoa tse peli A le B tse nang le lifaele tse 100, u nka setšoantšo sa tsamaiso ea S ebe u etsa lifaele tse ling tse lekholo.

Ka mor'a moo, o eketsa mochine oa C ho molumo oa hau, 'me qetellong o khutlisetsa tsamaiso ea hau ho snapshot S. Potso: Ke lifaele le lisebelisoa tse kae tseo molumo oa hau o utloahalang o nang le tsona ka mor'a hore u khutlele ho S? Ho tla ba le lifaele tse 100, joalo ka ha u ka be u nahanne, empa ho tla ba le lisebelisoa tse 3 - tsena ke lisebelisoa tse tšoanang A, B le C, le hoja ka nako eo setšoantšo se neng se etsoa ho ne ho e-na le lisebelisoa tse peli feela tsamaisong (A le B). ). Ts'ebetso ea ho eketsa sesebelisoa sa C ha ea ka ea khutlela morao, 'me haeba joale u tlosa mochine oa C ho tloha khomphuteng, o tla senya data ea hau, kahoo pele o hlakola o tla hloka ho qala ts'ebetso e theko e boima ea ho tlosa sesebelisoa ho tloha molumo o utloahalang oa ho leka-lekanya. e tla hasanya lintlha tsohle ho tloha ho sesebelisoa sa C ho ea ho lisebelisoa tsa A le B. Empa haeba FS ea hau e tšehetsa li-snapshots tsa lefats'e, ho leka-lekanya ho joalo ho ne ho ke ke ha hlokahala, 'me ka mor'a ho khutlisa hang-hang ho S, u ka tlosa sesebelisoa sa C ka mokhoa o sireletsehileng khomphuteng.

Kahoo, li-snapshots tsa lefats'e li ntle hobane li u lumella ho qoba ho tlosoa ho theko e boima (ho eketsa) sesebelisoa ho tloha ho molumo o utloahalang (ho ea ho molumo o utloahalang) o nang le boitsebiso bo bongata (ehlile, haeba u hopola ho "snapshot" tsamaiso ea hau. ka nako e nepahetseng). E re ke u hopotse hore ho etsa linepe le ho khutlisa sistimi ea faele ho bona ke ts'ebetso ea hang-hang. Potso e ka hlaha: ho ka khoneha joang ho khutlisetsa ts'ebetso hang-hang ka molumo o utloahalang o u nkileng matsatsi a mararo? Empa hoa khoneha! Ha feela tsamaiso ea faele ea hau e entsoe ka nepo. Ke ile ka ba le mohopolo oa "lits'oants'o tse joalo tsa 3D" lilemong tse tharo tse fetileng, mme selemong se fetileng ke ile ka fana ka tumello ea mokhoa ona.

Ntho e latelang eo li-FS tsa lehae li lokelang ho ithuta tsona ho tsoa ho marang-rang ke ho boloka metadata ho lisebelisoa tse arohaneng ka tsela e tšoanang le eo marang-rang a FS a li bolokang ka eona mechineng e fapaneng (tse bitsoang li-server tsa metadata). Ho na le lits'ebetso tse sebetsang haholo-holo ka metadata, 'me lits'ebetso tsena li ka potlakisoa haholo ka ho beha metadata lisebelisoa tse turang tse sebetsang hantle haholo tsa polokelo. Ka motsoako oa FS + LVM, u ke ke ua khona ho bonts'a khetho e joalo: LVM ha e tsebe hore na ho na le eng ho thibela eo u e fetisitseng ho eona (data moo kapa metadata).

U ke ke ua fumana molemo o moholo ka ho kenya ts'ebetsong LVM ea hau ea boemo bo tlaase ho FS ha e bapisoa le motsoako oa FS + LVM, empa seo u ka se etsang hantle ke ho kopanya FS e le hore hamorao ho se ke ha khoneha ho sebetsa ka khoutu ea eona. ZFS le Btrfs, tse ileng tsa potlaka ka lisebelisoa tsa sebele, kaofela ke mehlala e hlakileng ea kamoo tlōlo ea molao e bolaeang tsamaiso ka mekhoa ea meralo. Ho feta moo, ha ho na tlhoko ea ho iketsetsa LVM ea boemo bo tlase tsamaisong ea faele. Ho e-na le hoo, o hloka ho kopanya lisebelisoa hore e be li-volumes tse utloahalang ka tekanyo e phahameng, joalo ka ha litsamaiso tse ling tsa lifaele tsa marang-rang li etsa ka mechine e fapaneng (li-node tsa polokelo). Ke 'nete, ba etsa sena ka mokhoa o nyonyehang ka lebaka la tšebeliso ea li-algorithms tse mpe.

Mehlala ea li-algorithms tse mpe ka ho fetesisa ke mofetoleli oa DHT ho sistimi ea faele ea GlusterFS le seo ho thoeng ke 'mapa oa CRUSH ho sistimi ea faele ea Ceph. Ha ho le e 'ngoe ea li-algorithms eo ke e boneng e nkhotsofatsang mabapi le bonolo le scalability e ntle. Kahoo ke ile ka tlameha ho hopola algebra le ho iqapela ntho e ’ngoe le e ’ngoe ka bonna. Ka 2015, ha ke ntse ke leka ka bongata ka mesebetsi ea hash, ke ile ka tla le ho fana ka patent ntho e ntšoanelang. Joale nka re boiteko ba ho sebelisa sena sohle bo atlehile. Ha ke bone mathata leha e le afe ka scalability mokhoeng o mocha.

Ee, subvolume e 'ngoe le e' ngoe e tla hloka sebopeho se arohaneng joalo ka superblock mohopolong. Na see se tšosa haholo? Ka kakaretso, ha ke tsebe hore na ke mang ea tla "belisa leoatle" le ho etsa meqolo e utloahalang ea lisebelisoa tse likete tse makholo kapa ho feta mochine o le mong oa lehae. Haeba mang kapa mang a ka ntlhalosetsa sena, ke tla leboha haholo. Khabareng, ho 'na sena ke ho bapatsa.

Liphetoho ho kernel block device subsystem (mohlala, ponahalo ea blk-mq) li ile tsa ama litlhoko tsa ts'ebetsong ea FS joang?

Ba ne ba sena tshusumetso ya letho. Ha ke tsebe hore na ho ne ho tla etsahala'ng ka block layer e neng e tla etsa hore ho hlokahale ho qapa FS e ncha. Khokahano ea tšebelisano ea li-subsystem tsena e fokola haholo. Ho tloha ka lehlakoreng la mokhanni, FS e lokela ho angoa feela ke ponahalo ea mefuta e mecha ea li-drive, tseo ho tsona ho tla lokisoa lera la thibela pele, ebe FS (bakeng sa reiser4 sena se tla bolela ponahalo ea li-plugins tse ncha).

Na ho hlaha ha mefuta e mecha ea mecha ea litaba (mohlala, SMR, kapa ho ata ha li-SSD) ho bolela mathata a macha bakeng sa moralo oa sistimi ea lifaele?

Ee. 'Me tsena ke likhothatso tse tloaelehileng bakeng sa nts'etsopele ea FS. Mathata a ka fapana le a sa lebelloang ho hang. Mohlala, ke utloile ka li-drive moo lebelo la ts'ebetso ea I/O le itšetlehileng haholo ka boholo ba sekhechana sa data le offset ea sona. Ho Linux, moo boholo ba FS block bo ke keng ba feta boholo ba leqephe, koloi e joalo e ke ke ea bontša bokhoni ba eona bo feletseng ka ho feletseng. Leha ho le joalo, haeba sistimi ea hau ea faele e entsoe ka nepo, ho na le monyetla oa ho fumana ho hongata ho eona.

Ke batho ba bakae hajoale ba sebetsang ka khoutu ea Reiser4 ntle le uena?

Ka tlase ho kamoo nka ratang, empa le 'na ha ke na khaello e matla ea lisebelisoa. Ke khotsofetse ho feta lebelo la nts'etsopele ea Reiser4. Ha ke na "ho khanna lipere" - sena ha se sebaka se nepahetseng. Mona, "haeba u khanna ka khutso haholoanyane, u tla tsoela pele!" Sistimi ea sejoale-joale ea faele ke sistimi e rarahaneng ka ho fetisisa ea kernel, liqeto tse fosahetseng tsa moralo tse ka etsollang lilemo tse latelang tsa mosebetsi oa motho.

Ka ho fana ka baithaopi ho kenya ts'ebetsong ntho e itseng, kamehla ke tiisa hore boiteko bo tla lebisa sephethong se nepahetseng, se ka ba tlhokahalo ea litlhoko tse tebileng. Joalokaha u utloisisa, ho ke ke ha e-ba le litiiso tse joalo tse ngata ka nako e le 'ngoe. Ka nako e ts'oanang, ha ke khone ho ema "lipalo" tseo ka mokhoa o sa hlajoeng ke lihlong li khothalletsang "likarolo" tsa software e hlakileng e ke keng ea sebelisoa, e thetsang makholo a basebelisi le bahlahisi, 'me ka nako e ts'oanang ba lula le ho bososela likopanong tsa kernel.

Na ho na le k'hamphani e bontšitseng boikemisetso ba ho ts'ehetsa nts'etsopele ea Reiser4?

E, ho ne ho e-na le litlhahiso tse joalo, ho kenyeletsa. le ho tsoa ho morekisi ea ka sehloohong. Empa bakeng sa sena ke ile ka tlameha ho fallela naheng e ’ngoe. Ka bomalimabe, ha ke sa le lilemo li 30, ha ke khone ho arohana le ho tsamaea joalo ka mololi oa pele.

Ke likarolo life tse haellang hajoale ho Reiser4?

Ha ho na ts'ebetso ea "resize" bakeng sa meqolo e bonolo, e ts'oanang le e fumanoang ho ReiserFS(v3). Ntle le moo, ts'ebetso ea faele e nang le folakha ea DIRECT_IO e ke ke ea utloisa bohloko. Ka mor'a moo, nka rata ho khona ho arola molumo ho "semantic subvolumes", e se nang boholo bo tsitsitseng, 'me e ka kenngoa e le meqolo e ikemetseng. Mathata ana a molemo ho ba qalang ba batlang ho leka letsoho la bona "ntho ea sebele."

'Me qetellong, ke rata ho ba le meqolo e utloahalang ea marang-rang e nang le ts'ebetsong e bonolo le tsamaiso (li-algorithms tsa morao-rao li se li ntse li lumella sena). Empa seo Reiser4 e ke keng ea hlola e e-ba le sona ke RAID-Z, li-scrubs, li-cache tsa sebaka sa mahala, mefuta-futa ea 128-bit le tse ling tse se nang thuso tsa papatso tse ileng tsa hlaha khahlano le mokokotlo oa khaello ea mehopolo har'a baetsi ba litsamaiso tse ling tsa lifaele.

Na ntho e 'ngoe le e' ngoe e ka hlokahalang e ka kenngoa ts'ebetsong ka li-plugins?

Haeba re bua feela ka li-interfaces le li-plugins (module) tse li kenyang ts'ebetsong, ha se ntho e 'ngoe le e' ngoe. Empa haeba u boetse u kenyelletsa likamano ho li-interfaces tsena, joale, har'a lintho tse ling, u tla ba le likhopolo tsa li-polymorphisms tse phahameng, tseo u seng u ntse u ka li fumana. Ak'u inahanele hore ka boikaketsi u ile ua emisa tsamaiso ea nako ea ho sebetsa e shebaneng le ntho, u fetotse boleng ba pointer ea litaelo ho supa plugin e 'ngoe e sebelisang sebopeho se tšoanang sa X, ebe oa theola sistimi hore e tsoelepele ho sebetsa.

Haeba mosebeletsi oa ho qetela a sa hlokomele "phatlalatso" e joalo, joale re re tsamaiso e na le polymorphism ea zero-order ho X interface (kapa tsamaiso e fapane le X interface, e leng ntho e le 'ngoe). Haeba hona joale ha u na sete ea li-interfaces feela, empa hape u na le likamano ho tsona (seferefere sa graph), joale u ka hlahisa li-polymorphisms tsa litaelo tse phahameng, tse tla khetholla ho fapana ha tsamaiso e seng e ntse e le "moahelani" oa sebopeho leha e le sefe. Ke tsebisitse sehlopha se joalo khale, empa, ka bomalimabe, ha sea ka sa etsahala.

Kahoo, ka thuso ea li-plugins le li-polymorphisms tse phahameng joalo, u ka hlalosa tšobotsi leha e le efe e tsejoang, hammoho le "ho bolela esale pele" tse e-s'o ka li boleloa. Ha ke so khone ho paka sena ka tieo, empa hape ha ke tsebe ka mohlala o mong. Ka kakaretso, potso ena e ile ea nkhopotsa "Lenaneo la Erlangen" la Felix Klein. Ka nako e 'ngoe o ile a leka ho emela geometry eohle e le lekala la algebra (ka ho khetheha, khopolo ea sehlopha).

Joale ho potso ea mantlha - lintho li tsamaea joang ka papatso ea Reiser4 ho ea mantlha? Na ho na le lingoliloeng mabapi le meralo ea sistimi ee ea lifaele tseo u buileng ka tsona puisanong e fetileng? Potso ee e bohlokoa hakae ho latela pono ea hau?

Ka kakaretso ke lilemo tse tharo re kopa ho kenyeletsoa lekaleng le leholo. Maikutlo a ho qetela a Reiser khoeleng ea sechaba moo kopo ea ho hula e ileng ea etsoa e ile ea lula e sa arajoa. Kahoo lipotso tsohle tse ling ha li molemong oa rona. 'Na ka bonna ha ke utloisise hore na ke hobane'ng ha re hloka ho "kopanya" tsamaisong e itseng ea ts'ebetso. Ho Linux, leseli ha lea ka la fetoha joalo ka lekhalo. Kahoo, ho na le polokelo e arohaneng moo ho tla ba le likou tse 'maloa tsa makala bakeng sa li-OS tse fapaneng. Mang kapa mang ea e hlokang a ka kopanya boema-kepe bo lumellanang 'me a etsa eng kapa eng eo u e batlang ka eona (ka har'a laesense, ehlile). Hantle, haeba motho a sa e hloke, joale ha se bothata ba ka. Mothating ona, ke etsa tlhahiso ea ho nahana ka potso ea "khothatso ho Linux kernel" joalo ka ha e rarollotsoe.

Lingoliloeng tse mabapi le meralo ea FS li bohlokoa, empa ho fihlela hajoale ke fumane feela nako ea liphetho tsa ka tse ncha, tseo ke li nkang e le tsa bohlokoa haholo. Ntho e 'ngoe ke hore ke setsebi sa lipalo,' me ho lipalo sengoliloeng leha e le sefe ke kakaretso ea likhopolo-taba le bopaki ba tsona. Ho phatlalatsa ntho leha e le efe moo ntle le bopaki ke pontšo ea tatso e mpe. Haeba ke paka ka botlalo kapa ke hana polelo efe kapa efe mabapi le meaho ea FS, sephetho e tla ba liqubu tse ngata hoo ho tla ba thata ho feta. Ke mang ea e hlokang? Mohlomong ke ka lebaka lena ntho e 'ngoe le e' ngoe e ntseng e tsoela pele ho lula ka mokhoa oa eona oa khale - khoutu ea mohloli le litlhaloso ho eona.

Ke eng e ncha ho Reiser4 lilemong tse 'maloa tse fetileng?

Botsitso boo e leng khale bo letetsoe bo se bo phethahetse. E 'ngoe ea ho qetela e hlahileng e ne e le kokoana e lebisitseng ho li-directory tse "ke keng tsa hlakoloa". Bothata e ne e le hore e ne e hlaha feela khahlano le semelo sa likhohlano tsa hash le sebaka se itseng sa lirekoto tsa directory node ea sefate. Leha ho le joalo, ha ke khone ho khothaletsa Reiser4 bakeng sa tlhahiso: bakeng sa sena o hloka ho etsa mosebetsi o itseng ka tšebelisano e sebetsang le batsamaisi ba sistimi ea tlhahiso.

Qetellong re khonne ho kenya tšebetsong mohopolo oa rona oa nako e telele - mefuta e fapaneng ea transaction. Pejana, Reiser4 e ne e tsamaisa mofuta o le mong feela o thata oa Macdonald-Reiser. Sena se ile sa baka mathata a moralo. Haholo-holo, li-snapshots ha li khonehe ka mokhoa o joalo oa transaction - li tla silafatsoa ke karolo ea athomo e bitsoang "OVERWRITE SET". Reiser4 hajoale e ts'ehetsa mefuta e meraro ea transaction. Ho e 'ngoe ea tsona (Ngola-Kae kapa kae), karolo ea atomic OVERWRITE SET e kenyelletsa maqephe a tsamaiso feela (litšoantšo tsa disk bitmaps, joalo-joalo), tse ke keng tsa "fotoa" (bothata ba likhoho le lehe).

Kahoo joale litšoantšo li ka phethahala ka tsela e molemo ka ho fetisisa. Moetsong o mong oa transaction, maqephe ohle a fetotsoeng a ea feela ho OVERWRITE SET (ke hore, ha e le hantle ke koranta e hloekileng). Mohlala ona ke oa ba neng ba tletleba ka ho arohana ka potlako ha likarolo tsa Reiser4. Hona joale mofuteng ona karohano ea hau e ke ke ea arohana ka potlako ho feta ka ReiserFS (v3). Mefuta eohle e meraro e teng, e nang le lipeeletso tse itseng, e tiisa atomicity ea ts'ebetso, empa mehlala e nang le tahlehelo ea atomicity le ho boloka feela botšepehi ba karolo le eona e ka ba molemo. Mefuta e joalo e ka ba molemo bakeng sa mefuta eohle ea lits'ebetso (li-database, joalo-joalo), tse seng li nkile tse ling tsa mesebetsi ena. Ho bonolo haholo ho kenyelletsa mehlala ena ho Reiser4, empa ha kea e etsa, hobane ha ho motho ea ileng a mpotsa, 'me ka bonna ha ke e hloke.

Ho ile ha hlaha li-checksums tsa metadata 'me ke sa tsoa li tlatselletsa ka liipone tsa "moruo" (tse ntseng li sa tsitsa). Haeba cheke ea block efe kapa efe e hloleha, Reiser4 hang-hang e bala boloko bo lumellanang ho sesebelisoa sa replica. Hlokomela hore ZFS le Btrfs ha li khone ho etsa sena: moralo ha o o lumelle. Ha u le moo u tlameha ho tsamaisa ts'ebetso e khethehileng ea "scanning" e bitsoang "scrub" ebe u emela hore e fihle moo ho nang le bothata. Baetsi ba mananeo ka tsela ea tšoantšetso ba bitsa liketsahalo tse joalo “lithupa.”

'Me qetellong, ho hlahile meqolo e mengata e utloahalang, e fanang ka ntho e' ngoe le e 'ngoe eo ZFS, Btrfs, block layer, hammoho le motsoako oa FS + LVM ka molao-motheo o ke keng oa fana ka - parallel scaling, O (1) disk address allocator, transparent data migration between subvolumes. Ea ho qetela e boetse e na le sebopeho sa mosebedisi. Hona joale o ka tsamaisa data e chesang ka ho fetesisa habonolo ho drive e sebetsang ka ho fetesisa ea molumo oa hau.

Ntle le moo, hoa khoneha ho hlakola maqephe afe kapa afe a litšila ka potlako ho drive e joalo, ka hona ho potlakisa lits'ebetso tse atisang ho bitsa fsync(2). Kea hlokomela hore ts'ebetso ea block layer, e bitsoang bcache, ha e fane ka tokoloho e joalo ea ketso ho hang. Li-volumes tse ncha tse utloahalang li ipapisitse le li-algorithms tsa ka (ho na le litokelo tsa molao tse tsamaellanang). Software e se e ntse e tsitsitse, ho ka khoneha ho e leka, ho lekanya ts'ebetso, joalo-joalo. Tšitiso e le 'ngoe feela ke hore hajoale o hloka ho nchafatsa sebopeho sa molumo le ho e boloka kae-kae.

Ho fihlela joale ke khonne ho kenya ts'ebetsong maikutlo a ka ka liphesente tse 10. Leha ho le joalo, ke atlehile ho seo ke neng ke se nka e le ntho e thata ka ho fetisisa - ho kopanya li-volumes tse utloahalang ka mokhoa oa flash o etsang liketso tsohle tse fetisitsoeng ho reiser4. Sena sohle se ntse se le lekaleng la liteko la "format41".

Na Reiser4 e feta xfstests?

Bonyane e ile ea nketsahalla ha ke ntse ke lokisetsa tokollo ea ho qetela.

Na hoa khoneha ho etsa Reiser4 marang-rang (sehlopha) FS ho sebelisa li-plugins?

Hoa khoneha, ebile hoa hlokahala! Haeba u theha faele ea marang-rang ho latela sistimi e hlophisitsoeng hantle ea lehae, sephetho se tla ba se tsotehang haholo! Mecheng ea morao-rao ea marang-rang a FS, ha ke khotsofatsoe ke boteng ba boemo ba polokelo ea morao-rao, bo sebelisoang ho sebelisa FS leha e le efe ea lehae. Boteng ba boemo bona ha bo na toka ka ho feletseng. FS ea marang-rang e tlameha ho sebelisana ka ho toba le block layer, 'me e se ke ea botsa FS ea moo ho etsa lifaele tse ling tsa tšebeletso!

Ka kakaretso, ho arola litsamaiso tsa lifaele sebakeng sa lehae le marang-rang ho tsoa ho e mobe. E hlahile ho se phethahale ha li-algorithms tse neng li sebelisoa lilemong tse mashome a mararo tse fetileng, 'me sebakeng sa eona ha ho letho le e-s'o buelloe. Hona hape ke lebaka la ho hlaha ha bongata ba lisebelisoa tsa software tse sa hlokahaleng (litšebeletso tse fapaneng, joalo-joalo). Ka mokhoa o motle, ho lokela ho ba le FS e le 'ngoe feela ka mokhoa oa kernel module le sete sa lisebelisoa tsa mosebedisi tse kentsoeng mochine o mong le o mong - node ea lihlopha. FS ena ke ea lehae le marang-rang. Mme ha ho letho le leng!

Haeba ho se letho le sebetsang le Reiser4 ho Linux, ke kopa ho fana ka FS bakeng sa FreeBSD (qotso e tsoang lipuisanong tse fetileng: "...FreeBSD ... e na le metso ea thuto ... 'Me sena se bolela hore ka tekanyo e phahameng ea menyetla re e tla fumana puo e tšoanang le bahlahisi")?

Kahoo, joalo ka ha re sa tsoa tseba, ntho e 'ngoe le e' ngoe e se e ntse e sebetsa hantle le Linux: ho na le kou e arohaneng ea Reiser4 bakeng sa eona ka sebopeho sa lekala le hloahloa la polokelo ea rona. Ha ke e-so lebale ka FreeBSD! Tlhahiso! Ke ikemiselitse ho sebetsa haufi-ufi le ba tsebang ka hare ho FreeBSD hantle. Ka tsela: seo ke hlileng ke se ratang ka sechaba sa habo bona ke hore liqeto tsa teng li etsoa ke lekhotla le nchafalitsoeng la litsebi tse ikemetseng, tse sa amane le ho thetsoa ke ’muso hoa motho a le mong oa ka mehla.

U lekanya joang sechaba sa basebelisi ba Linux kajeno? Na e fetohile "pop" ho feta?

Ho latela mofuta oa mosebetsi oa ka, ho thata haholo ho 'na ho lekola sena. Boholo ba basebelisi ba tla ho 'na ka litlaleho tsa bug le likopo tsa ho lokisa karolo. Basebelisi joalo ka basebelisi. Ba bang ba tseba haholoanyane, ba bang ba tlase. Batho bohle ba tšoaroa ka tsela e tšoanang. Hantle, haeba mosebedisi a hlokomoloha litaelo tsa ka, joale ntšoarele: taelo ea ho hlokomoloha e tla kenngoa le ho 'na.

Na hoa khoneha ho bolela esale pele tsoelo-pele ea mekhoa ea lifaele bakeng sa lilemo tse hlano ho isa ho tse leshome tse latelang? U nahana hore mathata a maholo ao bahlahisi ba FS ba ka tobanang le ona ke afe?

E, ha ho thata ho etsa ponelo-pele e joalo. Ha ho na tsoelo-pele ea litsamaiso tsa lifaele sebakeng se ka holimo ka nako e telele. Ho bōptjoa ponahalo ea tse joalo feela. Baetsi ba litsamaiso tsa lifaele tsa lehae ba ile ba tobana le mathata a amanang le moralo o fosahetseng. Ho hlokahala tlhokomeliso mona. Ha ke nke seo ho thoeng ke "polokelo", "licking" le porting ea khoutu e le nts'etsopele le nts'etsopele. 'Me ha ke khetholle ho se utloisisane ho bitsoang "Btrfs" e le tsoelo-pele ka mabaka ao ke seng ke a hlalositse.

Patch e 'ngoe le e' ngoe e mpefatsa mathata a eona feela. Hantle. ’me kamehla ho na le mefuta e sa tšoaneng ea “baevangeli” bao “tsohle li sebetsang” bakeng sa bona. Ha e le hantle, bana ke bana ba sekolo le baithuti ba tlolang lipuo. Ak'u nahane feela: e sebetsa ho eena, empa moprofesa ha a etse joalo. Ke lebelo la adrenaline le lekaakang! Ho ea ka pono ea ka, kotsi e kholo ka ho fetisisa e bakoa ke "baetsi ba mesebetsi ea matsoho" ba ileng ba potlakela ho "sekere" ka cheseho likarolo tse babatsehang tsa Btrfs holim'a mefuta eohle ea lihlopha tse kang systemd, docker, joalo-joalo. - sena se se se tšoana le metastase.

Ha re lekeng joale ho etsa forecast bakeng sa lilemo tse hlano ho isa ho tse leshome. Ke se ke thathamisitse ka bokhutšoanyane seo re tla se etsa ho Reiser4. Phephetso e ka sehloohong bakeng sa bahlahisi ba FS ba lehae ba tsoang holimo e tla ba (e, e se e fetohile) ho se khone ho etsa mosebetsi o motle bakeng sa moputso. Ntle le mehopolo leha e le efe tšimong ea polokelo ea data, ba tla tsoelapele ho leka ho pata VFS ena e malimabe, XFS le ext4. Boemo ba VFS bo shebahala bo qabola haholo khahlano le semelo sena, se re hopotsa ka mokhoa oa sejoale-joale oa reschorente eo ho eona ho se nang baapehi, 'me ho sa lebeletsoe hore ho be le baapehi.

Hona joale khoutu ea VFS, ntle le maemo leha e le afe, e notlela maqephe a 'maloa a memori ka nako e le' ngoe 'me e mema FS e ka tlaase ho sebetsa ho 'ona. Sena se hlahisitsoe ho ntlafatsa ts'ebetso ea Ext4 mabapi le ts'ebetso ea ho hlakola, empa joalo ka ha ho le bonolo ho utloisisa, ho notlela joalo ka nako e le 'ngoe ha ho lumellane ka botlalo le mefuta e tsoetseng pele ea transaction. Ka mantsoe a mang, u ke ke ua khona ho eketsa tšehetso bakeng sa sistimi e 'ngoe e bohlale ea kernel. Ha ke tsebe hore na boemo ke bofe libakeng tse ling tsa Linux, empa mabapi le litsamaiso tsa lifaele, nts'etsopele leha e le efe mona e ke ke ea lumellana le leano le lateloang ke Torvalds ka ts'ebetso (merero ea thuto e rahiloe, le basomi ha u tsebe hore na sefate sa B, ho fanoa ka likalimo tse sa feleng tsa tšepo). Ka hona, ho ile ha behoa tsela bakeng sa ho bola butle. Ke ’nete hore ba tla leka ka matla ’ohle a bona ho e fetisa e le “tsoelo-pele.”

Ho feta moo, "bahlokomeli" ba litsamaiso tsa lifaele, ba hlokomela hore u ke ke ua fumana chelete e ngata ho "polokelo" feela, ba tla leka matsoho a bona khoebong e nang le phaello e ngata. Tsena ke, joalo ka molao, litsamaiso tsa faele tse ajoang le virtualization. Mohlomong ba tla tsamaisa ZFS ea feshene kae-kae moo e seng e le sieo. Empa eona, joaloka FS eohle e tsoang holimo, e tšoana le sefate sa Selemo se Secha: haeba u ka fanyeha lintho tse ling tse nyenyane ka holimo, joale u ke ke ua teba haholoanyane. Kea lumela hore hoa khoneha ho haha ​​​​tsamaiso e tebileng ea khoebo e thehiloeng ho ZFS, empa kaha joale re buisana ka bokamoso, nka bolela ka masoabi hore ZFS ha e na tšepo tabeng ena: ka lisebelisoa tsa bona tsa sebele, bahlankana ba khaolitse oksijene. bakeng sa bona le meloko e tlang bakeng sa ntshetsopele e eketsehileng. ZFS ke ntho ea khale. Mme ext4 le XFS ha se letsatsi pele ho maobane.

Ho bohlokoa ho bua ka thoko ka mohopolo o khahlisang oa "Linux file system ea moloko o latelang". Ona ke morero oa lipolotiki le oa ho bapatsa o etselitsoeng monyetla oa ho "hlahisa bokamoso ba litsamaiso tsa lifaele" ho Linux ka mor'a litlhaku tse itseng. 'Nete ke hore Linux e ne e le "bakeng sa monate feela". Empa hona joale e se e le mochini o etsang chelete. Li entsoe ka ntho e 'ngoe le e' ngoe e ka khonehang. Ka mohlala, ho thata haholo ho etsa sehlahisoa se setle sa software, empa "bahlahisi" ba bohlale ke khale ba hlokometse hore ha ho hlokahale ho senya ho hang: o ka atleha ho rekisa software e seng teng e phatlalalitsoeng le ho khothaletsoa ka mefuta eohle ea sechaba. liketsahalo - ntho ea bohlokoa ke hore li-slide tsa tlhahiso li lokela ho ba le "likarolo" tse ngata.

Litsamaiso tsa faele li nepahetse bakeng sa sena, hobane u ka khona ho etsa khoebo ka mokhoa o sireletsehileng ka lilemo tse leshome ka sephetho. Ha e le hantle, haeba hamorao motho a tletleba ka ho haella ha sephetho sena, joale ha a utloisise letho ka tsamaiso ea lifaele! Sena se hopotsa piramite ea lichelete: ka holimo ke bashebelli ba qalileng moferefere ona, le ba seng bakae ba neng ba le "lehlohonolo": ba "tlosa likhaello," i.e. o ile a fumana chelete bakeng sa nts'etsopele, a fumana mosebetsi o lefang hantle e le batsamaisi, "a hlaha" likopanong, joalo-joalo.

Ka mor'a moo ho tla ba "mahlohonolo": ba tla bala tahlehelo, ba sebetsane le liphello tsa ho kenya sehlahisoa se ke keng sa sebelisoa sa software tlhahiso, "joalo-joalo. Ho na le tse ling tse ngata tsa tsona. Hantle, botlaaseng ba piramite ho na le bongata bo boholo ba baetsi ba "saha" khoutu e se nang thuso. Ke bona ba lahlehetsoeng haholo, hobane nako e senyehileng e ke ke ea khutlisoa. Liphiramide tse joalo li molemo haholo ho Torvalds le metsoalle ea hae. 'Me ha liphiramide tsena li le ngata, li molemo ho tsona. Ho fepa liphiramide tse joalo, ntho leha e le efe e ka nkoa e le motheo. Ha e le hantle, phatlalatsa ba bua se fapaneng. Empa ha ke ahlole ka dipolelo, empa ka diketso.

Kahoo, "bokamoso ba litsamaiso tsa lifaele Linux" ke software e 'ngoe e khothalelitsoeng haholo, empa e sa sebelisoeng. Ka mor'a Btrfs, ka monyetla o moholo, sebaka sa "bokamoso" se joalo se tla nkoa ke Bcachefs, e leng boiteko bo bong ba ho tšela lera la thibela Linux ka tsamaiso ea faele (mohlala o mobe o tšoaetsanoa). 'Me ke eng e tloaelehileng: ho na le mathata a tšoanang le a Btrfs. Ke ne ke belaela sena ka nako e telele, mme ka tsela e itseng ke ne ke sa khone ho e hanela mme ka sheba khoutu - ke 'nete!

Bangoli ba Bcachefs le Btrfs, ha ba theha FS ea bona, ba sebelisitse mehloli ea batho ba bang ka mafolofolo, ba utloisisa hanyenyane ka bona. Boemo bona bo re hopotsa papali ea bana ea "mohala o robehileng". 'Me nka nahana hore na khoutu ena e tla kenyelletsoa joang kernel. Ha e le hantle, ha ho motho ea tla bona "rakes" (e mong le e mong o tla e hata hamorao). Ka mor'a likhang tse ngata mabapi le mokhoa oa khoutu, liqoso tsa tlōlo ea molao e seng teng, joalo-joalo, ho tla etsoa qeto mabapi le "botšepehi" ba mongoli, hore na "o sebelisana" hantle hakae le bahlahisi ba bang, le hore na sena sohle se ka atleha hakae. ebe li rekisetsoa likoporasi.

Sephetho se ke ke sa thahasellisa mang kapa mang. Lilemong tse mashome a mabeli tse fetileng, mohlomong, nka be ke thahasella, empa hona joale lipotso li botsoa ka tsela e fapaneng: na ho tla khoneha ho ntšetsa pele sena e le hore batho ba itseng ba tla hiroa nakong ea lilemo tse leshome tse latelang. 'Me, bomalimabe, ha se tloaelo ho ipotsa ka sephetho sa ho qetela.

Ka kakaretso, ke tla eletsa ka matla khahlanong le ho qala ho nchafatsa sistimi ea hau ea faele ho tloha qalong. Hobane esita le matsete a bohlokoa a lichelete a ke ke a lekana ho fumana ntho ea tlhōlisano ka lilemo tse leshome. Ha e le hantle, ke bua ka merero e tebileng, eseng ka tse reretsoeng ho "sutumelloa" ka har'a kernel. Ka hona, mokhoa o sebetsang haholoanyane oa ho itlhalosa ke ho kenela lintlafatso tsa 'nete, joalo ka rona. Sena, ha e le hantle, ha se bonolo ho se etsa - empa ho joalo le ka morero ofe kapa ofe oa boemo bo phahameng.

Pele, o tla hloka ho ikemela ho hlola bothata boo ke tla fana ka bona. Ka mor'a moo, ke kholisehile ka botebo ba merero ea hau, ke tla qala ho thusa. Ka tloaelo, re sebelisa lintlafatso tsa rona feela. Mekhelo ke li-algorithms tsa compression le mesebetsi e meng ea hash. Ha re romele bahlahisi hore ba etele likopanong, ebe ha re lule re kopanya maikutlo a batho ba bang ("mohlomong ho tla etsahala'ng"), joalo ka tloaelo ho batho ba bangata ba qalang.

Re iketsetsa li-algorithms tsohle ka borona. Hajoale ke thahasella likarolo tsa algebra le combinatorial tsa mahlale a polokelo ea data. Ka ho khetheha, masimo a fokolang, asymptotics, bopaki ba ho se lekane. Hape ho na le mosebetsi bakeng sa baetsi ba mananeo a tloaelehileng, empa ke tlameha ho u lemosa hang-hang: litlhahiso tsohle tsa "sheba FS e 'ngoe le ho etsa se tšoanang" li hlokomolohuoa. Lipache tse reretsoeng ho hokahana haufi-ufi le Linux ka VFS le tsona li tla ea moo.

Kahoo, ha re na rake, empa re na le kutloisiso ea hore na re tlameha ho falla hokae, ‘me re na le kholiseho ea hore tataiso ena ke eona e nepahetseng. Kutloisiso ena ha ea ka ea tla ka sebōpeho sa manna a tsoang leholimong. E-re ke u hopotse hore re na le lilemo tse 29 tsa phihlelo ea tsoelo-pele ka mor'a rona, mekhoa e 'meli ea lifaele tse ngotsoeng ho tloha qalong. Le palo e tšoanang ea lisebelisoa tsa ho hlaphoheloa data. 'Me sena se ngata!

Source: opennet.ru

Eketsa ka tlhaloso