Hira ta biyu tare da Eduard Shishkin, mai haɓaka Reiser4 FS

An buga hira ta biyu tare da Eduard Shishkin, mai haɓaka tsarin fayil na Reiser4.

Don farawa, da fatan za a tunatar da masu karatu a ina da wanda kuke yi wa aiki.

Ina aiki a matsayin Babban Mai Gine-ginen Adanawa a Huawei Technologies, Cibiyar Nazarin Jamusanci. A cikin ma'auni na ma'amala da abubuwa daban-daban na adana bayanai. Ayyukana ba su da alaƙa da takamaiman tsarin aiki.

Shin a halin yanzu kuna ƙaddamar da babban reshen kernel?

Da wuya sosai, kuma kawai idan mai aiki na yana buƙata. Lokaci na ƙarshe shine kusan shekaru uku da suka gabata, na aika faci don ƙara yawan kayan aiki don ajiya da aka raba akan runduna ta amfani da ka'idar 9p (wani suna na wannan kasuwancin shine VirtFS). Dole ne a yi wani muhimmin bayanin kula a nan: ko da yake na daɗe ina aiki tare da Linux, ban taɓa kasancewa mai sha'awar sa ba, wato, Ina "numfashi daidai," kamar yadda yake tare da kowane abu. Musamman, idan na lura da aibi, zan iya nuna shi a mafi yawan lokuta. Kuma don haka za ku iya bin wani ku lallashe su - hakan ba zai faru ba.

Na tuna lokacin da ya gabata, shekaru goma da suka gabata, kun kasance masu matukar mahimmanci ga salon ci gaban kwaya. Daga ra'ayin ku (ko watakila na kamfani), shin wani abu ya canza, shin al'umma sun kasance masu amsawa ko a'a? Idan ba haka ba, wa kuke ganin ke da laifi?

Ban taba ganin canje-canje ga mafi kyau ba. Babban matsalar al'umma shine maye gurbin kimiyya tare da fasahar siyasa, dangantaka ta sirri, ra'ayi mafi rinjaye, populism, shawara daga "muryoyin ciki," ruɓaɓɓen sulhu, wani abu banda kimiyya. Kimiyyar na'ura mai kwakwalwa, duk abin da mutum zai iya fada, na farko shine ainihin kimiyya. Kuma idan wani ya fara shelar nasu darajar ga 2x2, daban-daban daga 4, a karkashin "Linux hanya" flag, ko a karkashin wani flag, shi ne mai wuya ya kawo wani abu banda cutarwa.

Duk wata matsala ta farko ta samo asali ne saboda rashin iyawa da rashin ilimin masu yanke shawara. Idan manaja bai iya aiki ba, ba zai iya yanke shawara mai manufa ba. Idan kuma ba shi da al'ada, ba zai iya samun ƙwararren ƙwararren da zai ba shi shawarar da ta dace ba. Tare da babban yuwuwar, zaɓin zai faɗi akan ɗan zamba wanda ya ce "abubuwan da ke da alama daidai." Lalacewar yanayi koyaushe yana tasowa a kusa da shuwagabanni marasa cancanta. Haka kuma, tarihi bai san wani ketare ba a wannan fanni, kuma al’umma ce ta fi tabbatar da hakan.

Ta yaya kuke tantance ci gaban Btrfs? Shin wannan FS ya kawar da cututtukan yara? Ta yaya kuke sanya shi don kanku - azaman FS “don gida” ko don amfanin kamfani kuma?

Ban rabu da shi ba. Duk abin da na ambata shekaru 11 da suka gabata yana da dacewa a yau. Ɗaya daga cikin matsalolin da Btrfs ya sa ya dace da manyan buƙatu shine matsalar sararin samaniya. Ba na ma magana game da gaskiyar cewa an nemi mai amfani don gudu zuwa kantin sayar da sabon faifai a cikin yanayi inda kowane FS zai nuna sarari mai yawa kyauta akan bangare. Rashin iya kammala aiki akan ƙarar ma'ana saboda rashin sarari kyauta kuma ba shine mafi munin abu ba. Mafi munin abu shine cewa mai amfani mara amfani na iya kusan ko da yaushe, ya ketare kowane adadin faifai, ya hana kowa damar samun sarari cikin kankanin lokaci.

Yana kama da wannan (an gwada don Linux kernel 5.12). Ana ƙaddamar da rubutun a kan wani sabon tsarin da aka shigar, wanda a cikin madauki yana ƙirƙirar fayiloli masu wasu sunaye a cikin kundin gida, rubuta musu bayanai a wasu lokuta, sannan kuma yana share waɗannan fayiloli. Bayan minti daya na gudanar da wannan rubutun, babu wani sabon abu da ya faru. Bayan mintuna biyar, ɓangaren sararin da aka mamaye akan ɓangaren yana ƙaruwa kaɗan. Bayan sa'o'i biyu zuwa uku yana kaiwa 50% (tare da ƙimar farko na 15%). Kuma bayan sa'o'i biyar ko shida na aiki, rubutun ya rushe tare da kuskuren "babu sarari kyauta akan bangare." Bayan wannan, ba za ku iya rubuta ko da fayil na 4K zuwa ɓangarenku ba.

Wani yanayi mai ban sha'awa yana faruwa: kun ƙare ba ku rubuta wani abu zuwa bangare ba, kuma duk sararin samaniya (kimanin 85%) ya ɓace a wani wuri. Binciken wani sashe da ke fuskantar irin wannan harin zai bayyana ƙudan zuma da yawa waɗanda ke ɗauke da abu ɗaya kawai (wani abu sanye da maɓalli), girman bytes da yawa. Wato abun ciki wanda a baya ya mamaye kashi 15% na sararin faifai ya juya ya zama daidai "shafewa" a kan dukkan bangare ta yadda babu inda za a rubuta sabon fayil, saboda maɓallansa ya fi duk waɗanda ke wanzuwa girma, kuma kyauta. tubalan dake kan partition sun kare.

Haka kuma, wannan duk ya riga ya faru akan ainihin tsarin Btrfs (ba tare da kowane hoto ba, ƙaramin juzu'i, da sauransu), kuma ba komai yadda kuka yanke shawarar adana gawawwakin fayil ɗin a cikin wannan FS (a matsayin “gutsuwa” a cikin bishiya, ko gwargwadon iyawa). na unformated tubalan) - sakamakon ƙarshe zai kasance iri ɗaya.

Ba za ku iya ƙaddamar da wasu tsarin fayil na sama zuwa irin wannan harin ba (komai sun gaya muku). Na yi bayanin musabbabin matsalar tun da dadewa: wannan cikakkiyar rugujewar manufar B-itace a cikin Btrfs ne, wanda ke sa ya yiwu ta lalace kwatsam ko da gangan. Musamman, a ƙarƙashin wasu lodi, tsarin fayil ɗinku zai ci gaba da “faɗuwa” yayin aiki da kansa, ba tare da taimakon waje ba. A bayyane yake cewa duk nau'ikan tsarin "latsa" baya zai adana ranar kawai akan kwamfyutocin mutum ɗaya.

A kan sabar gama gari, mai kai hari koyaushe zai iya “ci gaba” da su. Mai kula da tsarin ba zai ma iya tantance wanda ya zalunce shi daidai ba. Hanya mafi sauri don gyara wannan matsala a cikin Btrfs ita ce mayar da tsarin bishiyar B na yau da kullum, watau. sake tsara tsarin faifai da sake rubuta mahimman sassa na lambar Btrfs. Wannan zai ɗauki shekaru 8-10, ciki har da gyara kurakurai, muddin masu haɓakawa sun bi ka'idodin asali na asali akan abubuwan da suka dace da algorithms da tsarin bayanai, kuma ba su buga wasan "karshen wayar", kamar yadda aka saba (da ƙarfafawa) a cikin "Linux" hanyar".

Anan kuma muna buƙatar ƙara lokacin da ake buƙata don masu haɓakawa don fahimtar duk wannan. Wannan shi ne inda ya fi wahala. A kowane hali, shekaru 10 ba su isa su fahimta ba. To, har sai lokacin ba za ku iya fatan abin al'ajabi ba. Ba zai faru a cikin nau'i na wani zaɓi mai hawa "wanda ni da ku ba mu sani ba," ko kuma a cikin hanyar faci wanda shine "al'amarin kasuwanci kawai" don shirya. Ga kowane irin wannan "gyara" na gaggawa zan gabatar da sabon yanayin lalacewa. Bishiyoyin B suna ɗaya daga cikin batutuwan da na fi so, kuma dole ne in faɗi cewa waɗannan tsarin ba sa jure wa 'yanci da kansu!

Ta yaya zan sanya Btrfs don kaina? A matsayin wani abu da kwata-kwata ba za a iya kiransa da tsarin fayil ba, balle a yi amfani da shi. Domin, ta hanyar ma'anar, FS shine tsarin tsarin OS wanda ke da alhakin gudanar da ingantaccen kayan aikin "sararin samaniya", wanda ba mu gani a cikin yanayin Btrfs. To, ka yi tunanin ka zo kantin ne don siyan agogo don kada ka makara wajen aiki, kuma maimakon agogon sai suka sayar maka da gasasshen wutar lantarki da na’urar lokaci na tsawon mintuna 30. Don haka, halin da ake ciki tare da Btrfs ya fi muni.

Duba cikin jerin aikawasiku, sau da yawa nakan gamu da bayanin cewa yadda ya kamata sarrafa sararin faifai ba shi da dacewa saboda arha na tuƙi. Wannan cikakken shirme ne. Ba tare da ingantaccen mai sarrafa sararin faifai ba, OS ɗin zai zama mai rauni kuma mara amfani. Ko da kuwa ƙarfin faifai akan injin ku.

Ina so in nemi sharhi game da dakatar da tallafin Btrfs a cikin RHEL.

Babu wani abu na musamman don yin sharhi a nan, komai a bayyane yake. Sun kuma kasance da shi a matsayin "hanyoyin fasaha". Don haka, ban shiga cikin wannan "samfoti" sosai ba. Kada ka bari wannan lakabin ya rataye har abada! Amma ba za su iya ƙaddamar da samfurin ƙirar ƙira mara kyau tare da cikakken tallafi ba. RHEL kamfani ne, wato, dangantakar kayayyaki da kuɗaɗen da aka tsara. Red Hat ba zai iya cin zarafin masu amfani kamar yadda suke yi akan jerin aikawasiku na Btrfs ba. Ka yi tunanin halin da ake ciki: abokin ciniki wanda ya biya kuɗin da ya samu don faifai da kuma ku don tallafi, yana so ya fahimci inda sararin diski ya tafi bayan bai rubuta wani abu ba. Me zaku amsa masa akan wannan?

Bugu da kari. Abokan ciniki na Red Hat sun haɗa da sanannun manyan bankuna da musayar kuɗi. Ka yi tunanin abin da zai faru idan sun kasance ƙarƙashin hare-haren DoS dangane da raunin da aka ambata a cikin Btrfs. Wa kuke ganin ke da alhakin wannan? Ga wadanda ke shirin nuna yatsa a layin lasisin GPL, inda aka rubuta cewa marubucin ba shi da alhakin komai, nan da nan zan ce: “boye shi!” Red Hat zai amsa, kuma ta hanyar da ba zai isa ba! Amma na san cewa Red Hat ba ta fuskantar irin wannan matsalar, idan aka yi la’akari da ƙungiyarsu ta musamman ta injiniyoyin QA waɗanda na sami damar yin aiki tare a lokacina.

Me yasa wasu kamfanoni ke ci gaba da tallafawa Btrfs a cikin samfuran kasuwancin su?

Lura cewa prefix “kasuwanci” a cikin sunan samfurin baya ma'ana da yawa. Kasuwanci ma'auni ne na alhakin da ke tattare a cikin dangantakar kwangila tare da abokin ciniki. Na san sana'a guda ɗaya kawai bisa GNU/Linux - RHEL. Duk sauran, daga ra'ayi na, ana gabatar da su ne kawai a matsayin kamfani, amma ba ɗaya ba. Kuma a ƙarshe, idan akwai buƙatar wani abu, to, za a sami wadata ko da yaushe (a cikin yanayinmu, wannan shine "tallafawa") da aka ambata). Akwai bukatar cikakken komai, ciki har da. da software mara amfani. Yadda ake samun irin wannan bukata da kuma wanda ke rura wutar shi wani batu ne.

Don haka, ba zan yi tsalle ba bayan an yi jita-jita cewa Facebook ya tura Btrfs akan sabar sa. Bugu da ƙari, zan ba da shawarar a kiyaye adiresoshin waɗancan sabar a asirce saboda dalilan da ke sama.

Me yasa aka yi ƙoƙari sosai don tsaftace lambar XFS kwanan nan? Bayan haka, da farko wannan tsarin fayil ne na ɓangare na uku, kuma ext4 ya daɗe yana da ƙarfi kuma yana da ci gaba daga sigogin da suka gabata daidai gwargwado. Menene sha'awar Red Hat a cikin XFS? Shin yana da ma'ana don haɓaka tsarin fayil guda biyu waɗanda suke da kama da manufa - ext4 da XFS?

Ban tuna abin da ya motsa wannan ba. Yana yiwuwa kusan cewa yunƙurin ya fito ne daga abokan cinikin Red Hat. Na tuna cewa an gudanar da bincike irin wannan: a kan wasu tsarin fayil daga sama, an ƙirƙiri adadi mai yawa na abubuwa akan manyan tukwici na sabbin tsara. Dangane da sakamakon, XFS ya yi kyau fiye da ext4. Don haka suka fara tallata shi a matsayin mafi alƙawari. A kowane hali, ba zan nemi wani abu mai ban sha'awa a nan ba.

A gare ni, kamar sun maye gurbin awl da sabulu. Babu ma'ana a haɓaka ext4 da XFS. Duka a layi daya da kowane daga cikinsu don zaɓar daga. Babu wani abu mai kyau da zai zo daga wannan. Kodayake, a cikin yanayi akwai sau da yawa yanayi lokacin da akwai yuwuwar haɓaka girma, amma babu wurin girma. A wannan yanayin, daban-daban m sabon girma girma, wanda kowa da kowa ya nuna yatsa ("Oh, duba, abin da ba za ka gani a cikin wannan rayuwa!").

Kuna tsammanin an warware batun cin zarafi (a cikin mummunan ma'ana) tare da zuwan ayyukan ɓoyewa a cikin ext4, F2FS (ba tare da ambaton RAID a cikin Btrfs ba)?

Gabaɗaya, ƙaddamar da kowane matakan da yanke shawara game da rashin keta su yawanci batun siyasa ne, kuma ba na ɗaukar wani sharhi game da komai a nan. Abubuwan da suka dace na cin zarafi na Layer ba su da sha'awa ga kowa, amma za mu iya la'akari da wasu daga cikinsu ta yin amfani da misalin cin zarafi "daga sama," wato, aiwatarwa a cikin FS na aikin da ya riga ya kasance a kan block Layer. Irin wannan "keɓancewar" yana da barata tare da keɓantacce kawai. Ga kowane irin wannan yanayin, dole ne ka fara tabbatar da abubuwa biyu: cewa ana buƙatar gaske, kuma ba za a cutar da ƙirar tsarin ta yin hakan ba.

Misali, madubi, wanda a al'adance ya zama aiki don toshe Layer, yana da ma'ana don aiwatarwa a matakin tsarin fayil. Saboda dalilai daban-daban. Misali, lalata bayanan “silent” (bit rot) yana faruwa akan faifan diski. Wannan shi ne lokacin da na'urar ke aiki da kyau, amma bayanan toshewa sun lalace ba zato ba tsammani a ƙarƙashin tasirin gamma mai wuyar gaske wanda ke fitowa daga quasar mai nisa, da dai sauransu. Mafi munin abu shine idan wannan toshe ya zama toshe tsarin FS (superblock, bitmap block, kullin itacen ajiya, da sauransu), saboda wannan tabbas zai haifar da firgita kwaya.

Da fatan za a lura cewa madubin da aka bayar ta Layer Layer (wanda ake kira RAID 1) ba zai cece ku daga wannan matsala ba. To, da gaske: ya kamata wani ya duba lissafin kuɗi kuma ya karanta kwafin idan ya gaza? Bugu da ƙari, yana da ma'ana don madubi ba kawai komai ba, amma kawai metadata. Wasu mahimman bayanai (misali, fayilolin aiwatarwa na aikace-aikace masu mahimmanci) ana iya adana su azaman metadata. A wannan yanayin, suna karɓar garantin aminci iri ɗaya. Yana da ma'ana don ba da kariya ga sauran bayanan ga sauran tsarin tsarin (watakila ma aikace-aikacen mai amfani) - mun samar da duk abubuwan da suka dace don wannan.

Irin waɗannan madubai na "tattalin arziki" suna da haƙƙin wanzuwa, kuma ana iya tsara su yadda ya kamata kawai a matakin tsarin fayil. In ba haka ba, cin zarafi yana rikitar da tsarin ƙasa tare da kwafin lamba don kare wasu fa'idodin ƙarami. Misali mai ban mamaki na wannan shine aiwatar da RAID-5 ta amfani da FS. Irin waɗannan mafita (nasu RAID / LVM a cikin tsarin fayil) suna kashe ƙarshen a cikin tsarin gine-gine. Har ila yau, ya kamata a lura a nan cewa cin zarafi "ana sanya shi a kan rafi" ta nau'o'in masu zamba na tallace-tallace. Idan babu wani ra'ayi, aikin da aka daɗe ana aiwatar da shi a matakan maƙwabta ana ƙara shi zuwa tsarin tsarin ƙasa, ana gabatar da wannan azaman sabon fasali mai fa'ida sosai kuma ana turawa sosai.

An zargi Reiser4 da keta matakan "daga ƙasa". Dangane da gaskiyar cewa tsarin fayil ɗin ba monolithic bane, kamar duk sauran, amma na zamani, an yi zato mara tushe cewa yana yin abin da matakin da ke sama (VFS) ya kamata ya yi.

Shin yana yiwuwa a yi magana game da mutuwar ReiserFS v3.6 kuma, alal misali, JFS? Kwanan nan kusan ba su sami kulawa a cikin ainihin ba. Shin sun tsufa?

Anan muna buƙatar ayyana ma'anar mutuwar samfurin software. A gefe guda, an yi amfani da su cikin nasara (abin da aka halicce su, bayan duk), wanda ke nufin suna rayuwa. A gefe guda, ba zan iya yin magana don JFS ba (Ban sani ba da yawa), amma ReiserFS (v3) yana da matukar wahala don daidaitawa da sabbin halaye (an gwada su a aikace). Wannan yana nufin cewa a nan gaba masu haɓakawa ba za su kula da shi ba, amma ga waɗanda suka fi sauƙi don daidaitawa. Daga wannan gefen ya zama cewa, kash, ya mutu a cikin tsarin gine-gine. Ba zan yi amfani da manufar "marasa ɗabi'a" kwata-kwata. Yana aiki da kyau, misali, ga tufafi, amma ba ga samfuran software ba. Akwai ra'ayi na ƙasƙanci da fifiko a cikin wani abu. Zan iya cewa da gaske ReserFS v3 yanzu ya yi ƙasa da Reiser4 a cikin komai, amma a cikin wasu nau'ikan nauyin aiki ya fi duk sauran FSs masu tasowa.

Shin kun san game da haɓakar FS Tux3 da HAMMER/HAMMER2 (FS don DragonFly BSD)?

Eh mun sani. A cikin Tux3 na taɓa sha'awar fasahar hotunan hotunansu (abin da ake kira "masu nunin sigar"), amma a cikin Reiser4 za mu iya tafiya wata hanya dabam. Na dade ina tunanin goyan bayan hotunan hoto kuma ban yanke shawarar yadda ake aiwatar da su ba don sauƙaƙan kundin Reiser4. Gaskiyar ita ce sabuwar dabarar ƙima ta “lazy” da Ohad Rodeh ya gabatar tana aiki ne kawai don bishiyoyin B. Ba mu da su. Ga waɗancan tsarin bayanan da aka yi amfani da su a cikin Reiesr4, ba a bayyana ƙididdiga na “lazy” ba - don gabatar da su, dole ne a warware wasu matsalolin algorithmic, waɗanda babu wanda ya taɓa ɗauka.

A cewar HAMMER: Na karanta labarin daga mahalicci. Ba sha'awa. Again, B-bishiyoyi. Wannan tsarin bayanan ba shi da bege ba. Mun yi watsi da shi a cikin karni na karshe.

Ta yaya kuke tantance karuwar buƙatun rukunin FSs na cibiyar sadarwa kamar CephFS/GlusterFS/da sauransu? Shin wannan buƙatar tana nufin canji a cikin fifikon masu haɓakawa zuwa cibiyar sadarwar FS da rashin isasshen kulawa ga FS na gida?

Ee, irin wannan canji na abubuwan da suka fi fifiko ya faru. Ci gaban tsarin fayilolin gida ya tsaya cak. Kash, yin wani muhimmin abu ga kundin gida yanzu yana da wahala sosai kuma ba kowa bane zai iya yin shi. Babu wanda ke son saka hannun jari a ci gaban su. Wannan kusan daidai yake da neman ƙungiyar kasuwanci don ware kuɗi don binciken ilimin lissafi - ba tare da wani sha'awar ba za su tambaye ku yadda zaku sami kuɗi akan sabon ƙa'idar. Yanzu FS na gida wani abu ne wanda sihiri ya bayyana "daga cikin akwatin" kuma "ya kamata koyaushe yayi aiki," kuma idan bai yi aiki ba, yana haifar da gunaguni mara magana kamar: "Ee, me suke tunani!"

Don haka rashin kulawa ga FS na gida, kodayake har yanzu akwai aiki da yawa a wannan yanki. Kuma a, kowa ya juya zuwa wurin ajiyar da aka rarraba, wanda aka gina bisa tushen tsarin fayilolin gida da aka rigaya. Gaye ne sosai yanzu. Kalmar "Babban Bayanai" tana haifar da gaggawar adrenaline ga mutane da yawa, suna danganta shi da taro, tarurruka, manyan albashi, da dai sauransu.

Yaya ma'ana a ka'ida don aiwatar da tsarin fayil ɗin cibiyar sadarwa a cikin sararin kernel maimakon a cikin sararin mai amfani?

Hanyar da ta dace wacce har yanzu ba a aiwatar da ita a ko'ina ba. Gabaɗaya, tambayar a wane sarari ya kamata a aiwatar da tsarin fayil ɗin hanyar sadarwa shine "takobi mai kaifi biyu." To, bari mu kalli misali. Abokin ciniki ya yi rikodin bayanai akan na'ura mai nisa. Sun fada cikin ma'ajin shafinta a sigar datti. Wannan shine aikin tsarin fayil ɗin cibiyar sadarwa na "kofa siriri" a cikin sararin kernel. Sa'an nan tsarin aiki zai ba dade ko ba dade ya nemi ka rubuta waɗannan shafuka zuwa faifai don yantar da su. Sa'an nan IO-forwarding (aika) cibiyar sadarwa FS module ya shigo cikin wasa. Yana ƙayyade na'urar uwar garke (kumburin uwar garken) waɗannan shafuka zasu je.

Sa'an nan kuma tari na cibiyar sadarwa yana ɗauka (kuma, kamar yadda muka sani, ana aiwatar da shi a cikin sararin kernel). Na gaba, kumburin uwar garken yana karɓar fakitin tare da bayanai ko metadata kuma yana ba da umarnin tsarin ajiyar baya (watau FS na gida wanda ke aiki a cikin sararin kernel) don yin rikodin duk waɗannan abubuwan. Don haka, mun rage tambayar zuwa inda tsarin “aika” da “karba” yakamata suyi aiki. Idan ɗayan waɗannan samfuran suna gudana a cikin sararin mai amfani, wannan ba makawa zai haifar da sauyawar mahallin (saboda buƙatar amfani da sabis na kernel). Yawan irin waɗannan masu juyawa ya dogara da cikakkun bayanan aiwatarwa.

Idan akwai irin waɗannan maɓallan da yawa, to, kayan aikin ajiya (aikin I/O) zai ragu. Idan ma'ajiyar ku ta baya ta ƙunshi faifai masu jinkirin, to ba za ku lura da raguwa mai mahimmanci ba. Amma idan kuna da fayafai masu sauri (SSD, NVRAM, da dai sauransu), to, canjin mahallin ya riga ya zama “bottleneck” kuma, ta hanyar adanawa akan sauya mahallin, aikin zai iya ƙaruwa sosai. Daidaitaccen hanyar adana kuɗi shine matsar da kayayyaki zuwa sararin kwaya. Misali, mun gano cewa matsar uwar garken 9p daga QEMU zuwa kernel akan na'ura mai masaukin baki yana haifar da karuwa sau uku a cikin aikin VirtFS.

Wannan, ba shakka, ba hanyar sadarwar FS ba ce, amma tana nuna cikakkiyar ainihin ainihin abubuwa. Asalin wannan ingantawa shine al'amuran ɗaukar nauyi. Ga wasu, na ƙarshe na iya zama mai mahimmanci. Misali, GlusterFS ba shi da kayayyaki a cikin kwaya kwata-kwata. Godiya ga wannan, yanzu yana aiki akan dandamali da yawa, gami da NetBSD.

Wadanne dabaru ne FSs na gida za su iya aro daga na cibiyar sadarwa da akasin haka?

A zamanin yau, FSs na cibiyar sadarwa, a matsayin mai mulki, suna da ƙari akan FSs na gida, don haka ban fahimci yadda zaku iya aro wani abu daga ƙarshen ba. To, lalle ne, bari mu yi la'akari da wani kamfani na ma'aikata 4, wanda kowa da kowa ya yi nasa abu: wani rarraba, wani aika, na uku karba, na hudu Stores. Kuma tambayar, menene kamfanin zai iya aro daga ma'aikacin da ya adana shi, yana jin ko ta yaya ba daidai ba (ya riga ya sami abin da zai iya aro daga gare shi na dogon lokaci).

Amma FS na gida suna da abubuwa da yawa da za su koya daga na cibiyar sadarwa. Da fari dai, yakamata ku koya daga wurinsu yadda ake tara juzu'i masu ma'ana a babban matakin. Yanzu abin da ake kira Tsarin fayilolin “ci-gaba” na gida suna tara juzu'i na ma'ana ta amfani da fasahar "na'urar kama-da-wane" da aka aro daga LVM (waɗancan cin zarafi iri ɗaya da aka fara aiwatar a ZFS). A wasu kalmomi, fassarar adireshi mai kama-da-wane (lambobin toshe) zuwa na ainihi da baya yana faruwa a ƙananan matakin (watau, bayan tsarin fayil ya ba da buƙatar I/O).

Lura cewa ƙarawa da cire na'urori zuwa ƙididdiga masu ma'ana (ba madubai) da aka shirya akan layin toshe yana haifar da matsalolin da masu samar da irin wannan "fasali" suka yi shiru game da su. Ina magana ne game da rarrabuwar kawuna akan na'urori na gaske, waɗanda zasu iya kaiwa manyan ƙima, yayin da akan na'urar kama-da-wane komai yana da kyau. Koyaya, mutane kaɗan ne ke sha'awar na'urorin kama-da-wane: kowa yana sha'awar abin da ke faruwa akan na'urorinku na gaske. Amma ZFS-kamar FS (da kowane FS tare da haɗin gwiwa tare da LVM) yana aiki ne kawai tare da na'urorin faifai masu kama-da-wane (waɗanda adiresoshin faifai na faifai daga cikin masu kyauta, lalata waɗannan na'urori masu kama-da-wane, da sauransu). Kuma ba su da masaniyar abin da ke faruwa akan na'urori na gaske!

Yanzu ka yi tunanin cewa ba ka da rarrabuwar kawuna a kan na'urar kama-da-wane (wato, kana da ƙaƙƙarfan iyaka guda ɗaya kawai a wurin), za ka ƙara faifai zuwa girman ma'ana, sannan ka cire wani faifan bazuwar daga girman ma'ana sannan ka daidaita. Kuma sau da yawa. Ba shi da wuya a yi tunanin cewa a kan na'urar kama-da-wane za ku ci gaba da rayuwa iri ɗaya, amma akan na'urori na gaske ba za ku ga wani abu mai kyau ba.

Mafi munin abu shine cewa ba za ku iya ma iya gyara wannan yanayin ba! Abinda kawai zaka iya yi anan shine ka nemi tsarin fayil don lalata na'urar kama-da-wane. Amma za ta gaya muku cewa duk abin da yake da kyau a can - akwai kawai daya iyaka, rarrabuwa ne sifili, kuma ba zai iya zama mafi alhẽri! Don haka, ƙididdiga masu ma'ana da aka tsara a matakin toshe ba a yi niyya don ƙarawa/cire na'urori akai-akai ba. A hanya mai kyau, kawai kuna buƙatar tara ƙarar ma'ana a matakin toshe sau ɗaya, ba da shi ga tsarin fayil ɗin, sannan kada ku yi wani abu da shi.

Bugu da ƙari, haɗin ƙananan tsarin FS+LVM masu zaman kansu baya ba da izinin yin la'akari da nau'ikan abubuwan tafiyarwa waɗanda aka tara ƙididdiga masu ma'ana. Lallai, a ɗauka cewa kun haɗa ƙarar ma'ana daga HDD da na'urori masu ƙarfi. Amma sai na farko zai buƙaci defragmentation, kuma na karshen ba zai yiwu ba. Don na ƙarshe, kuna buƙatar fitar da buƙatun jefar, amma ga tsohon, ba, da sauransu. Koyaya, a cikin wannan haɗin yana da wahala sosai don nuna irin wannan zaɓin.

Lura cewa bayan ƙirƙirar LVM ɗin ku akan tsarin fayil ɗin, yanayin ba zai yi kyau sosai ba. Bugu da ƙari, ta yin wannan za ku kawo ƙarshen fatan samun inganta shi a nan gaba. Wannan yayi muni matuka. Nau'in tuƙi daban-daban na iya rayuwa akan na'ura ɗaya. Kuma idan tsarin fayil ɗin bai bambanta tsakanin su ba, to wa zai yi?

Wata matsala kuma tana jiran abin da ake kira. Tsarin fayil na "Rubuta-Ko'ina" (wannan kuma ya haɗa da Reiser4, idan kun ƙayyade ƙirar ma'amala mai dacewa yayin hawan). Irin waɗannan tsarin fayil dole ne su samar da kayan aikin ɓarna waɗanda ba a taɓa yin irin su ba a cikin ikonsu. Kuma ƙananan mai sarrafa ƙarar ƙarar ba ya taimaka a nan, amma kawai ya shiga hanya. Gaskiyar ita ce, tare da irin wannan manajan, FS ɗinku zai adana taswirar tubalan kyauta na na'ura ɗaya kawai - mai kama-da-wane. Saboda haka, zaku iya lalata na'urar kama-da-wane kawai. Wannan yana nufin cewa defragmenter naka zai yi aiki na dogon lokaci, na dogon lokaci a kan katon sarari guda na adiresoshin kama-da-wane.

Kuma idan kuna da masu amfani da yawa suna yin rubutun bazuwar, to, tasirin mai amfani na irin wannan ɓarna zai ragu zuwa sifili. Tsarin ku ba makawa zai fara raguwa, kuma kawai za ku ninka hannuwanku a gaban ganewar asali mai ban sha'awa "kyakkyawan ƙira". Da yawa masu ɓarna da ke gudana akan sararin adireshi ɗaya kawai zasu tsoma baki tare da juna. Yana da mabanbanta al'amari idan kun kula da taswirar ku na tubalan kyauta ga kowace na'ura ta gaske. Wannan zai yi daidai da daidaitaccen tsarin lalata.

Amma ana iya yin wannan kawai idan kuna da babban mai sarrafa ƙarar ma'ana. Tsarin fayil na gida tare da irin waɗannan manajoji ba su wanzu a baya (akalla, ban sani ba game da su). Tsarin fayilolin cibiyar sadarwa kawai (misali GlusterFS) ke da irin waɗannan manajoji. Wani muhimmin misali mai mahimmanci shine mai amfani da ingancin ingancin ƙara (fsck). Idan kun adana taswirar ku mai zaman kanta na tubalan kyauta ga kowane ƙaramin juzu'i, to ana iya daidaita tsarin bincika ƙarar ma'ana daidai gwargwado. A takaice dai, kundin ma'ana tare da manyan manajoji suna da ma'auni mafi kyau.

Bugu da ƙari, tare da ƙananan masu sarrafa ƙarar ƙararrawa ba za ku iya tsara cikakkun hotuna ba. Tare da tsarin fayil na LVM da ZFS, zaku iya ɗaukar hotuna na gida kawai, amma ba ɗaukar hoto na duniya ba. Hoton hoto na gida yana ba ku damar juyar da baya nan take ayyukan fayil na yau da kullun kawai. Kuma babu wanda zai sake jujjuya ayyukan aiki tare da ƙididdiga masu ma'ana (ƙara / cire na'urori). Bari mu kalli wannan da misali. A wani lokaci a lokaci, idan kuna da ƙarar ma'ana ta na'urori biyu A da B masu ɗauke da fayiloli 100, za ku ɗauki hoton tsarin S sannan ku ƙirƙiri wasu fayiloli ɗari.

Bayan haka, za ku ƙara na'urar C zuwa ƙarar ku, sannan a ƙarshe za ku mayar da tsarin ku zuwa hoton S. Tambaya: Fayiloli da na'urori nawa ne ke ƙunshe da ƙarar ma'ana bayan juyawa zuwa S? Za a sami fayiloli 100, kamar yadda kuke tsammani, amma za a sami na'urori 3 - waɗannan na'urori iri ɗaya ne A, B da C, kodayake a lokacin da aka ƙirƙira hoton akwai na'urori biyu kawai a cikin tsarin (A da B). ). Aikin add na'urar C bai koma baya ba, kuma idan yanzu kun cire na'urar C daga kwamfutar, zai lalata bayanan ku, don haka kafin sharewa, kuna buƙatar fara aiwatar da wani aiki mai tsada don cire na'urar daga ma'aunin ma'ana, wanda zai iya lalata bayananku. zai watsar da duk bayanan daga na'urar C zuwa na'urori A da B. Amma idan FS ɗinku yana goyan bayan hotunan duniya, irin wannan daidaitawar ba za a buƙaci ba, kuma bayan sake jujjuyawar zuwa S, zaku iya cire na'urar C daga kwamfutar cikin aminci.

Don haka, hotuna na duniya suna da kyau saboda suna ba ku damar guje wa cire tsada (ƙara) na na'ura daga ƙarar ma'ana (zuwa ma'ana mai ma'ana) tare da adadi mai yawa (ba shakka, idan kun tuna don "snapshot" tsarin ku. a daidai lokacin). Bari in tunatar da ku cewa ƙirƙirar hotunan hoto da mayar da tsarin fayil zuwa gare su ayyuka ne nan take. Tambayar na iya tasowa: ta yaya ma zai yiwu a mayar da aiki nan take a kan juzu'i mai ma'ana wanda ya ɗauki kwanaki uku? Amma yana yiwuwa! Muddin an tsara tsarin fayil ɗin ku daidai. Na zo da ra'ayin irin wannan "3D snapshots" shekaru uku da suka wuce, kuma a bara na hange wannan dabara.

Abu na gaba da FSs na gida yakamata su koya daga na cibiyar sadarwa shine adana metadata akan na'urori daban-daban kamar yadda hanyar sadarwar FS ke adana su akan injuna daban (wanda ake kira sabar metadata). Akwai aikace-aikacen da ke aiki da farko tare da metadata, kuma waɗannan aikace-aikacen za a iya haɓaka su sosai ta hanyar sanya metadata akan na'urorin ajiya masu inganci masu tsada. Tare da haɗin FS + LVM, ba za ku iya nuna irin wannan zaɓin ba: LVM bai san abin da ke kan shingen da kuka wuce zuwa gare shi ba (bayanai a can ko metadata).

Ba za ku sami fa'ida da yawa ba daga aiwatar da ƙaramin matakin LVM ɗin ku a cikin FS idan aka kwatanta da haɗin FS + LVM, amma abin da zaku iya yi da kyau shine ƙugiya FS don daga baya ya zama ba zai yiwu a yi aiki tare da lambar sa ba. ZFS da Btrfs, waɗanda suka yi gaggawa da na'urori masu kama-da-wane, duk cikakkun misalai ne na yadda cin zarafi ke kashe tsarin a cikin tsarin gine-gine. Don haka, me yasa ni duk wannan? Bugu da ƙari, babu buƙatar shigar da ƙananan matakin LVM na ku a cikin tsarin fayil. Madadin haka, kuna buƙatar haɗa na'urori zuwa ƙididdiga masu ma'ana a babban matakin, kamar yadda wasu tsarin fayilolin cibiyar sadarwa ke yi da injina daban-daban (nodes na ajiya). Gaskiya ne, suna yin wannan abin banƙyama saboda amfani da mummunan algorithms.

Misalai na mugunyar algorithms sune mai fassarar DHT a cikin tsarin fayil na GlusterFS da abin da ake kira taswirar CRUSH a cikin tsarin fayil na Ceph. Babu wani algorithms da na gani da ya gamsar da ni dangane da sauƙi da kuma kyakkyawan scalability. Don haka dole in tuna algebra kuma in ƙirƙira komai da kaina. A cikin 2015, yayin da nake gwaji tare da daure kan ayyukan hash, na zo da kuma na ba da izinin wani abu da ya dace da ni. Yanzu zan iya cewa yunkurin aiwatar da duk wannan a aikace ya yi nasara. Ba na ganin wata matsala tare da scalability a cikin sabuwar hanya.

Ee, kowane ƙaramin juzu'i zai buƙaci tsari daban kamar babban katange a ƙwaƙwalwar ajiya. Wannan abin ban tsoro ne? Gabaɗaya, ban san wanda zai "tafasa teku" kuma ya ƙirƙiri ƙididdiga masu ma'ana na ɗaruruwan dubbai ko fiye da na'urori akan injin gida ɗaya. Idan wani zai iya bayyana mani wannan, zan yi godiya sosai. A halin yanzu, a gare ni wannan ita ce tallar talla.

Ta yaya canje-canje a cikin kernel toshe tsarin na'urar (misali, bayyanar blk-mq) ya shafi buƙatun aiwatar da FS?

Ba su da wani tasiri. Ban san abin da zai faru a kan shingen shinge wanda zai sa ya zama dole don tsara sabon FS ba. Ma'amalar mu'amala ta waɗannan tsarin ƙasa ba ta da kyau sosai. Daga gefen direba, FS ya kamata kawai ya shafi bayyanar sabbin nau'ikan tafiyarwa, wanda za'a fara daidaita madaidaicin toshe, sannan FS (don reiser4 wannan yana nufin bayyanar sabbin plugins).

Shin fitowar sabbin nau'ikan kafofin watsa labaru (misali, SMR, ko yanayin SSDs) yana nufin ainihin sabbin ƙalubale don ƙirar tsarin fayil?

Ee. Kuma waɗannan abubuwan ƙarfafawa ne na yau da kullun don haɓaka FS. Kalubale na iya bambanta kuma gaba ɗaya ba zato ba tsammani. Alal misali, na ji labarin faifai inda saurin aikin I/O ya dogara sosai kan girman guntun bayanai da madaidaicin sa. A cikin Linux, inda girman toshe FS ba zai iya wuce girman shafin ba, irin wannan tuƙi ba zai nuna cikakken ikonsa ta tsohuwa ba. Koyaya, idan an tsara tsarin fayil ɗin ku daidai, to akwai damar samun ƙarin ƙari daga ciki.

Mutane nawa ne ke aiki tare da lambar Reiser4 banda ku?

Kasa da yadda nake so, amma ba na fuskantar karancin albarkatun ko dai. Na fi gamsuwa da saurin ci gaban Reiser4. Ba zan "tura dawakai" ba - wannan ba shine yankin da ya dace ba. Anan, "idan kun yi tuƙi a hankali, za ku ci gaba!" Tsarin fayil na zamani shine mafi rikitarwa tsarin kernel, yanke shawara mara kyau wanda zai iya warware shekaru masu zuwa na aikin ɗan adam.

Ta hanyar ba da masu sa kai don aiwatar da wani abu, koyaushe ina ba da tabbacin cewa yunƙurin zai haifar da sakamako mai kyau, wanda zai iya zama buƙatar buƙatu masu mahimmanci. Kamar yadda kuka fahimta, ba za a iya samun irin wannan garantin da yawa a lokaci ɗaya ba. A lokaci guda, ba zan iya jurewa "lambobi" waɗanda ba da kunya suna haɓaka "fasali" na software na zahiri da ba za a iya amfani da su ba, suna yaudarar ɗaruruwan masu amfani da masu haɓakawa, kuma a lokaci guda suna zaune suna murmushi a taron kernel.

Shin wani kamfani ya bayyana niyyar tallafawa ci gaban Reiser4?

Ee, akwai irin waɗannan shawarwari, ciki har da. kuma daga babban dillali. Amma saboda wannan dole ne in ƙaura zuwa wata ƙasa. Abin takaici, ba ni da shekara 30, ba zan iya rabuwa da barin haka ba a farkon busa.

Wadanne siffofi ne suka ɓace a halin yanzu daga Reiser4?

Babu aikin “girman girman” don sauƙaƙan kundin, kama da wanda aka samu a cikin ReiserFS(v3). Bugu da kari, ayyukan fayil tare da tutar DIRECT_IO ba zai yi rauni ba. Na gaba, Ina so in iya rarraba ƙarar zuwa cikin "ƙarancin juzu'i", waɗanda ba su da ƙayyadaddun ƙayyadaddun girman, kuma waɗanda za'a iya saka su azaman kundin masu zaman kansu. Wadannan matsalolin suna da kyau ga masu farawa waɗanda suke so su gwada hannunsu a "ainihin abu."

Kuma a ƙarshe, Ina so in sami kundin ma'ana na cibiyar sadarwa tare da aiwatarwa mai sauƙi da gudanarwa (algorithms na zamani sun riga sun ƙyale wannan). Amma abin da Reiser4 ba shakka ba zai taɓa samun shi ba shine RAID-Z, goge-goge, caches sararin samaniya, masu canjin 128-bit da sauran maganganun tallan da suka taso a kan ƙarancin ra'ayoyi tsakanin masu haɓaka wasu tsarin fayil.

Za a iya aiwatar da duk abin da ake buƙata ta plugins?

Idan muka yi magana kawai cikin sharuddan musaya da plugins (modules) waɗanda ke aiwatar da su, to ba komai ba. Amma idan kuma kun gabatar da alaƙa akan waɗannan musaya, to, a tsakanin sauran abubuwa, zaku sami ra'ayoyin manyan polymorphisms, waɗanda zaku iya samun ta. Ka yi tunanin cewa ka daskare tsarin lokaci mai dacewa da abu, ka canza darajar ma'anar koyarwa don nuna wani plugin ɗin da ke aiwatar da ƙirar X iri ɗaya, sannan ka kwance tsarin don ya ci gaba da aiwatarwa.

Idan mai amfani na ƙarshe bai lura da irin wannan "masanya ba," to sai mu ce tsarin yana da sifili-oda polymorphism a cikin X interface (ko tsarin yana da nau'i a cikin X interface, wanda shine abu ɗaya). Idan yanzu ba kawai kuna da saiti na musaya ba, amma har ma kuna da alaƙa akan su (jadawalin musanya), to zaku iya gabatar da polymorphisms na umarni mafi girma, wanda zai nuna bambancin tsarin da ya riga ya kasance a cikin "makwabta" na kowane ƙirar. Na gabatar da irin wannan rarrabuwa tuntuni, amma, abin takaici, hakan bai taɓa faruwa ba.

Don haka, tare da taimakon plugins da irin waɗannan polymorphisms mafi girma, za ku iya kwatanta kowane fasalin da aka sani, da kuma "annabta" waɗanda ba a taɓa ambata ba. Ban iya tabbatar da hakan ba, amma kuma ban san wani misali ba tukuna. Gabaɗaya, wannan tambayar ta tunatar da ni game da "Shirin Erlangen" na Felix Klein. A wani lokaci ya yi ƙoƙarin wakiltar duk lissafin lissafi azaman reshe na algebra (musamman, ka'idar rukuni).

Yanzu ga babbar tambaya - ta yaya abubuwa ke faruwa tare da haɓaka Reiser4 zuwa babban mahimmanci? Shin akwai wasu wallafe-wallafe kan gine-ginen wannan tsarin fayil ɗin da kuka yi magana akai a cikin hira ta ƙarshe? Yaya dacewa wannan tambayar ta ra'ayin ku?

Gabaɗaya, mun kasance muna neman shigar da babban reshe tsawon shekaru uku. Sharhin Reiser na ƙarshe a cikin zaren jama'a inda aka yi buƙatar ja ya kasance ba a amsa ba. Don haka duk ƙarin tambayoyi ba namu ba ne. Ni da kaina ban fahimci dalilin da yasa muke buƙatar "haɗa" cikin takamaiman tsarin aiki ba. A Linux, hasken bai taru kamar tsinke ba. Don haka, akwai wurin ajiya daban wanda a ciki za a sami rassa da yawa-tashoshi don OS daban-daban. Duk wanda yake buƙatar shi zai iya rufe tashar tashar da ta dace kuma yayi duk abin da kuke so da ita (a cikin lasisi, ba shakka). To, idan wani ba ya bukata, to ba matsalata ba ce. A wannan gaba, Ina ba da shawarar yin la'akari da tambayar "ci gaba a cikin babban kwaya na Linux" kamar yadda aka daidaita.

Littattafai akan gine-ginen FS sun dace, amma ya zuwa yanzu na sami lokaci ne kawai don sabon sakamako na, wanda na ɗauka ya zama fifiko mafi girma. Wani abu kuma shi ne cewa ni ma’aikacin lissafi ne, kuma a ilimin lissafi duk wani bugu da aka buga shi ne takaitattun ka’idoji da hujjojinsu. Buga wani abu a wurin ba tare da hujja ba alama ce ta mummunan dandano. Idan na tabbatar da ko karyata duk wani bayani game da gine-ginen FS, to sakamakon zai zama irin wannan tarin wanda zai yi wuya a samu. Wanene yake bukata? Wataƙila wannan shine dalilin da ya sa komai ya ci gaba da kasancewa a cikin tsohuwar sigarsa - lambar tushe da sharhi zuwa gare shi.

Menene sabo a cikin Reiser4 a cikin ƴan shekarun da suka gabata?

Kwanciyar hankali da aka dade ana jira a ƙarshe ya tabbata. Ɗaya daga cikin na ƙarshe da ya bayyana shine bug wanda ya haifar da kundayen adireshi "wanda ba a iya sokewa". Wahalar ita ce ta bayyana ne kawai a kan asalin hash ɗin suna tare da wani wuri na bayanan adireshi a cikin kullin bishiya. Koyaya, har yanzu ba zan iya ba da shawarar Reiser4 don samarwa ba: saboda wannan kuna buƙatar yin wasu aiki tare da hulɗar aiki tare da masu gudanar da tsarin samarwa.

A ƙarshe mun sami nasarar aiwatar da ra'ayinmu na dogon lokaci - nau'ikan ciniki daban-daban. A baya can, Reiser4 kawai ya gudanar da ƙirar Macdonald-Reiser mai hardcode ɗaya. Wannan ya haifar da matsalolin ƙira. Musamman ma, hotunan hoto ba zai yiwu ba a cikin irin wannan tsarin ma'amala - za a lalata su ta hanyar nau'in atomic da ake kira "OVERWRITE SET". Reiser4 a halin yanzu yana goyan bayan ƙirar ma'amala guda uku. A cikin ɗayan su (Rubuta-Anywhere), ɓangaren atomic OVERWRITE SET ya haɗa da shafukan tsarin kawai (hotunan faifai bitmaps, da sauransu), waɗanda ba za a iya "hotuna" ba (matsalar kaza da kwai).

Don haka hotuna za a iya gane yanzu a mafi kyawun hanya. A cikin wani tsarin ma'amala, duk shafukan da aka gyara suna tafiya ne kawai zuwa VERWRITE SET (wato, ainihin rubutun jarida ne). Wannan samfurin shine ga waɗanda suka koka game da saurin rarrabuwar kawuna na Reiser4. Yanzu a cikin wannan ƙirar ɓangaren ku ba zai gutsuttsura da sauri fiye da ReiserFS (v3). Duk nau'ikan nau'ikan guda uku da ake da su, tare da wasu ajiyar ajiya, suna ba da garantin atomity na ayyuka, amma ƙirar da ke da asarar atomity da kiyaye amincin sashe kawai na iya zama da amfani. Irin waɗannan samfuran na iya zama masu amfani ga kowane nau'in aikace-aikacen (masu bayanai, da sauransu), waɗanda suka riga sun ɗauki wasu ayyukan. Yana da sauƙi don ƙara waɗannan samfuran zuwa Reiser4, amma ban yi ba, saboda babu wanda ya tambaye ni, kuma ni da kaina ba na buƙatar shi.

Metadata checksum ya bayyana kuma kwanan nan na ƙara su da madubai "tattalin arziki" (har yanzu kayan da ba su da tabbas). Idan checksum na kowane toshe ya gaza, Reiser4 nan da nan ya karanta toshe daidai daga na'urar kwafi. Lura cewa ZFS da Btrfs ba za su iya yin wannan ba: ƙirar ba ta ƙyale shi ba. A can dole ne ku gudanar da tsari na musamman na duba bayanan baya mai suna "scrub" kuma ku jira shi don isa ga shingen matsala. Masu shirye-shirye a alamance suna kiran irin waɗannan abubuwan da suka faru “ƙugiya.”

Kuma a ƙarshe, ƙididdiga masu ma'ana daban-daban sun bayyana, suna ba da duk abin da ZFS, Btrfs, Layer block, kazalika da haɗin gwiwar FS + LVM a cikin ka'ida ba zai iya ba - daidaitaccen sikelin, O (1) adireshin adireshi na diski, ƙaurawar bayanai tsakanin ƙananan juzu'i. Ƙarshen kuma yana da hanyar sadarwa. Yanzu zaku iya matsar da mafi kyawun bayanai cikin sauƙi zuwa mafi girman aiki akan ƙarar ku.

Bugu da kari, yana yiwuwa a hanzarta fitar da duk wani shafuna masu datti zuwa irin wannan tuƙi, ta haka yana hanzarta hanzarta aikace-aikacen da galibi ke kiran fsync(2). Na lura cewa aikin toshe Layer, wanda ake kira bcache, baya samar da irin wannan yancin yin aiki kwata-kwata. Sabbin kundin ma'ana sun dogara ne akan algorithms na (akwai haƙƙin mallaka masu dacewa). Software ya riga ya tsaya tsayin daka, yana yiwuwa a gwada shi, auna aiki, da sauransu. Abinda kawai ke damun shi shine cewa a yanzu kuna buƙatar sabunta tsarin ƙara da hannu kuma ku adana shi a wani wuri.

Ya zuwa yanzu na sami damar aiwatar da ra'ayoyina da kashi 10. Duk da haka, na yi nasara a cikin abin da na yi la'akari da abu mafi wuya - haɗa ma'auni mai ma'ana tare da hanyar walƙiya wanda ke aiwatar da duk ayyukan da aka jinkirta a cikin reiser4. Wannan duk yana cikin reshen gwaji na “format41”.

Shin Reiser4 ya wuce xfstests?

Akalla ya yi min lokacin da nake shirya sakin karshe.

Shin yana yiwuwa a ka'ida don yin Reiser4 cibiyar sadarwa (cluster) FS ta amfani da plugins?

Yana yiwuwa, har ma ya zama dole! Idan ka ƙirƙiri fayil ɗin hanyar sadarwa bisa tsarin fayil ɗin gida da aka tsara yadda ya kamata, sakamakon zai kasance mai ban sha'awa sosai! A cikin FSs na cibiyar sadarwa na zamani, ban gamsu da kasancewar matakin ajiyar baya ba, wanda aka aiwatar ta amfani da kowane FS na gida. Kasancewar wannan matakin bai dace ba. Dole ne hanyar sadarwar FS ta yi hulɗa kai tsaye tare da shingen toshe, kuma kar a tambayi FS na gida don ƙirƙirar kowane fayilolin sabis!

Gabaɗaya, rarraba tsarin fayil zuwa gida da cibiyar sadarwa daga mugu ne. Ya samo asali ne daga rashin daidaituwa na algorithms da aka yi amfani da su shekaru talatin da suka wuce, kuma a maimakon haka ba a gabatar da wani abu ba. Wannan kuma shine dalilin bayyanar ɗimbin abubuwan da ba dole ba software (sabis daban-daban, da sauransu). A hanya mai kyau, ya kamata a sami FS guda ɗaya kawai a cikin nau'in kernel module da saitin kayan aikin mai amfani da aka shigar akan kowace na'ura - kumburin tari. Wannan FS na gida ne da cibiyar sadarwa. Kuma ba komai!

Idan babu abin da ke aiki tare da Reiser4 akan Linux, Ina so in ba da FS don FreeBSD (nakalto daga wata hira da ta gabata: “...FreeBSD… yana da tushen ilimi… Kuma wannan yana nufin cewa tare da babban matakin yuwuwar mu zai sami yare gama gari tare da masu haɓakawa”)?

Don haka, kamar yadda muka gano yanzu, komai ya riga ya yi aiki daidai tare da Linux: akwai tashar tashar Reiser4 ta daban don ita ta hanyar babban reshe na ma'ajiyar mu. Ban manta game da FreeBSD ba! Bayar! A shirye nake in yi aiki tare da waɗanda suka san abubuwan cikin FreeBSD da kyau. Af: Abin da na fi so game da al'ummarsu shi ne shawarar da aka sabunta ta majalisar kwararru mai zaman kanta ta yanke, wanda ba shi da alaka da yaudarar gwamnati na mutum daya na dindindin.

Yaya kuke kimanta al'ummar masu amfani da Linux a yau? Shin ya zama mafi "pop"?

Ganin yanayin aikina, yana da wahala a gare ni in tantance wannan. Yawancin masu amfani suna zuwa wurina tare da rahotannin kwari da buƙatun don gyara sashin. Masu amfani kamar masu amfani. Wasu sun fi wayewa, wasu sun fi kasa. Haka ake yiwa kowa. To, idan mai amfani ya yi watsi da umarnina, to, ku yi mini uzuri: za a shigar da odar watsi ta bangarena kuma.

Shin zai yiwu a yi hasashen ci gaban tsarin fayil na shekaru biyar zuwa goma masu zuwa? Menene kuke tsammanin manyan ƙalubalen da masu haɓaka FS za su iya fuskanta?

Ee, ba shi da wahala a yi irin wannan hasashen. Babu wani ci gaban tsarin fayil a cikin sama na dogon lokaci. Sai kawai bayyanar irin wannan aka halitta. Masu haɓaka tsarin fayil na gida sun shiga cikin matsalolin da ke da alaƙa da ƙira mara kyau. Ana buƙatar yin gargadi a nan. Ba na la'akari da abin da ake kira "ajiya", "lasa" da kuma shigar da lambar don ci gaba da ci gaba. Kuma ban rarraba rashin fahimtar da ake kira "Btrfs" a matsayin ci gaba ba saboda dalilan da na riga na bayyana.

Kowane facin yana ƙara tsananta matsalolinsa. To. kuma koyaushe akwai nau'ikan “masu bishara” iri-iri waɗanda “komai yana aiki” dominsu. Ainihin, waɗannan ƴan makaranta ne da ɗalibai suna tsallake laccoci. Yi tunanin kawai: yana aiki a gare shi, amma farfesa ba ya yi. Wannan abin gaggawar adrenaline ne! Daga ra'ayi na, mafi girman cutarwa shine "masu sana'a" waɗanda suka yi gaggawar "ƙulla" abubuwan ban mamaki na Btrfs akan kowane nau'i na yadudduka kamar systemd, docker, da dai sauransu. - wannan ya riga ya yi kama da metastases.

Bari yanzu mu yi ƙoƙari mu yi hasashen shekaru biyar zuwa goma. Na riga na lissafa abubuwan da za mu yi a cikin Reiser4. Babban kalubale ga masu haɓaka FS na gida daga sama zai kasance (eh, ya riga ya zama) rashin iya yin aiki mai kyau don albashi. Ba tare da wani ra'ayi ba a fagen ajiyar bayanai, za su ci gaba da ƙoƙarin daidaita waɗannan VFS, XFS da ext4 mara kyau. Halin da VFS ke ciki ya yi kama da abin ban dariya musamman a kan wannan bangon, yana tunawa da sabuntar gidan abincin da babu masu dafa abinci a ciki, kuma ba a sa ran masu dafa abinci ba.

Yanzu lambar VFS, ba tare da wani sharuɗɗa ba, tana kulle shafukan ƙwaƙwalwar ajiya da yawa a lokaci guda kuma tana gayyatar FS da ke ƙasa don yin aiki a kansu. An gabatar da wannan don inganta aikin Ext4 akan ayyukan sharewa, amma kamar yadda yake da sauƙin fahimta, irin wannan kulle-kulle a lokaci guda bai dace da tsarin ciniki na ci gaba ba. Wato, ba za ku iya ƙara tallafi kawai don wasu tsarin fayil masu wayo a cikin kernel ba. Ban san abin da ke faruwa a wasu yankuna na Linux ba, amma dangane da tsarin fayil, duk wani ci gaba a nan ba zai yiwu ya dace da manufofin da Torvalds ke bi a aikace ba (an kori ayyukan ilimi, da masu zamba waɗanda ke da alaƙa. ba su san abin da itacen B, ana bayar da ƙididdiga marasa iyaka). Saboda haka, an saita hanya don lalata sannu a hankali. Hakika, za su yi ƙoƙari da dukan ƙarfinsu don su bar shi a matsayin "ci gaba."

Bugu da ari, "masu kula da" tsarin fayil, sanin cewa ba za ku iya samun kuɗi mai yawa daga "ajiya" kadai ba, za su gwada hannunsu a kasuwancin da ya fi riba. Waɗannan su ne, a matsayin mai mulkin, tsarin fayil ɗin da aka rarraba da haɓakawa. Wataƙila za su yi jigilar ZFS na zamani zuwa wani wuri inda babu shi tukuna. Amma shi, kamar duk FS daga sama, yayi kama da itacen Sabuwar Shekara: idan za ku iya rataya wasu ƙananan abubuwa a saman, to ba za ku iya samun zurfi ba. Na yarda cewa yana yiwuwa a gina tsarin kasuwanci mai mahimmanci dangane da ZFS, amma tun da yake yanzu muna tattaunawa game da makomar gaba, zan iya yin baƙin ciki kawai cewa ZFS ba shi da bege a wannan batun: tare da na'urori masu mahimmanci, mutanen sun yanke iskar oxygen. don kansu da kuma na gaba na gaba don ci gaba. ZFS abu ne na baya. Kuma ext4 da XFS ba ma ranar da ta gabata ba.

Yana da daraja ambaton daban game da ra'ayi mai ban sha'awa na "Tsarin fayil ɗin Linux na ƙarni na gaba". Wannan aikin gabaɗaya ne na siyasa da tallace-tallace da aka ƙirƙira don dama, don yin magana, don "fitar da makomar tsarin fayil" a cikin Linux bayan takamaiman haruffa. Gaskiyar ita ce Linux ta kasance "kawai don nishaɗi". Amma yanzu da farko na'ura ce ta neman kudi. Ana yin su akan duk abin da zai yiwu. Alal misali, yana da matukar wahala a ƙirƙira samfurin software mai kyau, amma "masu haɓaka" masu basira sun dade da gane cewa babu buƙatar damuwa kwata-kwata: za ku iya samun nasarar siyar da software maras wanzuwa wanda aka sanar da haɓakawa a kowane nau'in jama'a. abubuwan da suka faru - babban abu shine cewa nunin faifan gabatarwa ya kamata ya ƙunshi ƙarin "fasalolin".

Tsarin fayil cikakke ne don wannan, saboda zaku iya yin ciniki cikin aminci na shekaru goma akan sakamakon. To, idan wani daga baya ya yi kuka game da rashin wannan sakamakon, to kawai bai fahimci komai ba game da tsarin fayil! Wannan yana tunawa da dala na kudi: a saman su ne masu kasada da suka fara wannan rikici, da kuma wadanda suka yi "sa'a": sun "janye rabo," watau. ya sami kuɗi don haɓakawa, ya sami aikin da ake biyan kuɗi sosai a matsayin manajoji, “an nuna” a taro, da sauransu.

Na gaba waɗanda ba su da sa'a: za su ƙidaya asara, magance sakamakon tura samfurin software da ba za a iya amfani da shi ba cikin samarwa, "da sauransu. Akwai da yawa daga cikinsu. To, a gindin dala akwai babban taro na masu haɓaka "sawing" lambar mara amfani. Su ne manyan asara, domin ba za a iya mayar da bata lokaci ba. Irin waɗannan pyramids suna da matukar fa'ida ga Torvalds da abokansa. Kuma mafi yawan waɗannan pyramids, shine mafi alheri a gare su. Don ciyar da irin waɗannan pyramids, ana iya ɗaukar komai a cikin ainihin. Tabbas, a cikin jama'a suna faɗi akasin haka. Amma ba da magana nake hukunci ba amma ta ayyuka.

Don haka, "makomar tsarin fayiloli a cikin Linux" wani abu ne da aka inganta sosai, amma da wuya software mai amfani. Bayan Btrfs, tare da babban yuwuwar, Bcachefs zai ɗauki wurin irin wannan "nan gaba", wanda shine wani yunƙuri na ketare layin toshe Linux tare da tsarin fayil (misali mara kyau yana yaduwa). Kuma menene na al'ada: akwai matsaloli iri ɗaya kamar a cikin Btrfs. Na yi zargin wannan na dogon lokaci, sa'an nan ko ta yaya ba zan iya tsayayya ba kuma na duba cikin lambar - gaskiya ne!

Marubutan Bcachefs da Btrfs, lokacin ƙirƙirar FS ɗin su, suna amfani da tushen wasu mutane sosai, suna fahimtar kaɗan game da su. Halin yana tunawa da wasan yara “broken waya” Kuma zan iya yin tunanin yadda za a haɗa wannan lambar a cikin kernel. A gaskiya, ba wanda zai ga "rakes" (kowa zai taka su daga baya). Bayan da yawa quibbles game da style na code, zarge-zarge na rashin wanzuwar take hakki, da dai sauransu, za a yanke shawara game da "aminci" na marubucin, yadda ya "mu'amala" da sauran developers, da kuma yadda nasarar duk wannan zai iya. sannan a sayar da shi ga kamfanoni.

Sakamakon ƙarshe ba zai sha'awar kowa ba. Shekaru ashirin da suka gabata, watakila, da na yi sha'awar, amma yanzu an gabatar da tambayoyin daban-daban: shin zai yiwu a inganta wannan don a dauki wasu mutane aiki a cikin shekaru goma masu zuwa. Kuma, kash, ba al'ada ba ne don mamaki game da sakamakon ƙarshe.

Gabaɗaya, zan ba da shawara mai ƙarfi akan fara sake ƙirƙira tsarin fayil ɗinku daga karce. Domin ko babban jarin kudi ba zai isa ya sami wani abu mai gasa a cikin shekaru goma ba. Tabbas, ina magana ne game da ayyuka masu mahimmanci, kuma ba game da waɗanda aka yi nufin "turawa" a cikin kwaya ba. Don haka, hanya mafi inganci don bayyana kanku ita ce shiga ainihin abubuwan da ke faruwa, kamar mu. Wannan, ba shakka, ba shi da sauƙi a yi - amma wannan shine yanayin kowane babban matakin aiki.

Na farko, kuna buƙatar shawo kan matsalar da zan bayar da kanta. Bayan haka, na gamsu da muhimmancin nufin ku, zan fara taimakawa. A al'adance, muna amfani da ci gaban namu ne kawai. Keɓancewar sune algorithms matsawa da wasu ayyukan hash. Ba mu aika masu haɓakawa don tafiya zuwa taro ba, sa'an nan kuma ba mu zauna mu hada ra'ayoyin wasu ba ("watakila abin da zai faru"), kamar yadda aka saba a yawancin farawa.

Muna haɓaka duk algorithms kanmu. A halin yanzu ina sha'awar algebraic da abubuwan haɗin gwiwar kimiyyar adana bayanai. Musamman, filayen iyaka, asymptotics, tabbacin rashin daidaituwa. Hakanan akwai aiki ga masu shirye-shirye na yau da kullun, amma dole ne in faɗakar da ku nan da nan: duk shawarwarin don “duba wani FS kuma kuyi haka” an yi watsi da su. Faci da nufin haɗin kai tare da Linux ta hanyar VFS suma za su je can.

Don haka, ba mu da rake, amma muna da fahimtar inda muke buƙatar matsawa, kuma muna da tabbacin cewa wannan jagorar ita ce madaidaiciya. Wannan fahimtar ba ta zo da siffar manna daga sama ba. Bari in tunatar da ku cewa muna da shekaru 29 na ƙwarewar ci gaba a bayanmu, tsarin fayil guda biyu da aka rubuta daga karce. Da kuma adadin data dawo da utilities. Kuma wannan yana da yawa!

source: budenet.ru

Add a comment