Kuyankhulana kwachiwiri ndi Eduard Shishkin, wopanga Reiser4 FS

Kuyankhulana kwachiwiri ndi Eduard Shishkin, wopanga mafayilo a Reiser4, adasindikizidwa.

Poyambira, chonde akumbutseni owerenga komwe mumagwirira ntchito komanso ndani.

Ndimagwira ntchito ngati Principal Storage Architect ku Huawei Technologies, Germany Research Center. Mu dipatimenti ya virtualization ndimachita ndi zinthu zosiyanasiyana zosungirako deta. Zochita zanga sizikukhudzana ndi makina ogwiritsira ntchito.

Kodi mukudzipereka ku nthambi yayikulu ya kernel?

Nthawi zambiri, ndipo pokhapokha abwana anga angafunike. Nthawi yomaliza inali pafupifupi zaka zitatu zapitazo, ndinatumiza zigamba kuti ndiwonjezere zosungirako zomwe zimagawidwa pa makamu pogwiritsa ntchito 9p protocol (dzina lina la bizinesi iyi ndi VirtFS). Cholemba chofunikira chiyenera kupangidwa apa: ngakhale ndakhala ndikugwira ntchito ndi Linux kwa nthawi yayitali, sindinakhalepo wokonda izi, ndiye kuti, "ndikupuma mofanana," monga ndi china chirichonse. Makamaka, ngati ndiwona cholakwika, nditha kuchifotokoza nthawi yomweyo. Ndipo kotero kuti mutha kutsatira wina ndikuwakopa - izi sizichitika.

Ndikukumbukira nthawi yapitayo, zaka khumi zapitazo, mumatsutsa kwambiri kalembedwe ka kernel. Kuchokera pamalingaliro anu (kapena akampani), pali chilichonse chasintha, kodi anthu ammudzi alabadira kapena ayi? Ngati sichoncho, mukuganiza kuti ndi ndani amene ali ndi mlandu?

Sindinawonepo kusintha kulikonse kwabwino. Vuto lalikulu la anthu ammudzi ndikulowa m'malo mwa sayansi ndi matekinoloje andale, maubwenzi amunthu, malingaliro ambiri, populism, upangiri wochokera ku "mawu amkati," kusagwirizana kovunda, china chilichonse kupatula sayansi. Sayansi yamakompyuta, chilichonse chomwe munthu anganene, choyamba ndi sayansi yeniyeni. Ndipo ngati wina ayamba kulengeza mtengo wake wa 2x2, wosiyana ndi 4, pansi pa mbendera ya "Linux way", kapena pansi pa mbendera ina, ndiye kuti izi sizingatheke kubweretsa china chilichonse kupatula kuvulaza.

Mavuto onse amabwera makamaka chifukwa cha kusachita bwino komanso kusaphunzira kwa omwe amasankha zochita. Ngati manejala alibe luso, sangathe kupanga chisankho choyenera. Ngati nayenso alibe chikhalidwe, sangathe kupeza katswiri wodziwa bwino yemwe angamupatse malangizo oyenera. Ndi kuthekera kwakukulu, chisankhocho chidzagwera pa scammer yemwe amati "zinthu zowoneka ngati zolondola." Malo achinyengo nthawi zonse amakhala pafupi ndi atsogoleri omwe alibe luso. Komanso, mbiri sadziwa kupatula pankhaniyi, ndipo anthu ammudzi ndiwo chitsimikizo chomveka bwino cha izi.

Mukuwona bwanji momwe chitukuko cha Btrfs chikuyendera? Kodi FS imeneyi inathetsa matenda aubwana? Kodi mumayiyika bwanji nokha - ngati FS "yanyumba" kapena yogwiritsidwa ntchito ndimakampani?

Sindinachisiye. Chilichonse chimene ndinanena zaka 11 zapitazo chidakali chothandiza mpaka pano. Limodzi mwamavuto omwe ali ndi Btrfs omwe amapangitsa kuti akhale osayenera pazosowa zazikulu ndi vuto la malo aulere. Sindikulankhulanso zakuti wogwiritsa ntchito akufunsidwa kuti athamangire ku sitolo kuti apeze diski yatsopano munthawi yomwe FS ina iliyonse ingawonetse malo ambiri aulere pagawo. Kulephera kumaliza ntchito pa voliyumu yomveka chifukwa cha kusowa kwa malo aulere sikulinso koyipa kwambiri. Choyipa kwambiri ndichakuti wogwiritsa ntchito wopanda mwayi amatha pafupifupi nthawi zonse, kudutsa magawo aliwonse a disk, kulanda aliyense malo aulere munthawi yochepa.

Zikuwoneka ngati izi (zoyesedwa kwa Linux kernel 5.12). Script imayambika pamakina omwe adakhazikitsidwa kumene, omwe mu loop amapanga mafayilo okhala ndi mayina ena m'ndandanda wanyumba, amawalembera deta pazigawo zina, ndiyeno amachotsa mafayilowa. Pambuyo pa mphindi imodzi ndikuyendetsa script iyi, palibe zachilendo zomwe zimachitika. Patapita mphindi zisanu, gawo la wotanganidwa danga pa kugawa ukuwonjezeka pang'ono. Pambuyo pa maola awiri kapena atatu amafika 50% (ndi mtengo woyamba wa 15%). Ndipo pambuyo pa maola asanu kapena asanu ndi limodzi akugwira ntchito, script imasweka ndi cholakwika "palibe malo aulere pagawo." Pambuyo pake, simungathe kulemba ngakhale fayilo ya 4K kugawa kwanu.

Chochititsa chidwi chimachitika: simunalembe chilichonse kugawa, ndipo malo onse aulere (pafupifupi 85%) adasowa kwinakwake. Kuwunika kwa gawo lomwe likukumana ndi kuukira koteroko kudzawonetsa mitengo yambiri yokhala ndi chinthu chimodzi chokha (chinthu chokhala ndi kiyi), ma byte angapo kukula kwake. Ndiko kuti, zomwe m'mbuyomu zidatenga 15% ya danga la disk zidakhala "zopaka" pagawo lonselo kotero kuti palibe polemba fayilo yatsopano, chifukwa fungulo lake ndi lalikulu kuposa zonse zomwe zilipo, komanso zaulere. midadada pagawo yatha.

Kuphatikiza apo, zonsezi zimachitika kale pamasinthidwe oyambira a Btrfs (popanda zithunzi, ma subvolumes, ndi zina zotero), ndipo zilibe kanthu kuti mwasankha bwanji kusunga mafayilo mu FS (monga "zidutswa" mumtengo, kapena monga za midadada yopanda mawonekedwe) - zotsatira zake zidzakhala zofanana.

Simudzatha kuyika machitidwe ena akumtunda wapamwamba kuukira kotere (ziribe kanthu zomwe angakuuzeni). Ndinafotokozera chifukwa cha vutoli kalekale: uku ndikupotoza kwathunthu kwa lingaliro la mtengo wa B ku Btrfs, zomwe zimapangitsa kuti zikhale zotheka kuti ziwonongeke mwadzidzidzi kapena mwadala. Makamaka, pansi pa katundu wina, fayilo yanu "idzagwa" mosalekeza panthawi yogwira ntchito yokha, popanda thandizo lakunja. Zikuwonekeratu kuti mitundu yonse ya "kukankhira" yakumbuyo idzapulumutsa tsiku pa desktops.

Pa ma seva ophatikizika, wowukira azitha "kupita patsogolo" pawo nthawi zonse. Woyang'anira dongosolo sadzatha kudziwa amene anamupezerera. Njira yofulumira kwambiri yothetsera vutoli ku Btrfs ndikubwezeretsanso mawonekedwe a mtengo wa B wokhazikika, i.e. kukonzanso mawonekedwe a disk ndikulembanso magawo ofunikira a code ya Btrfs. Izi zidzatenga zaka 8-10, kuphatikizapo kukonza zolakwika, malinga ngati opanga amatsatira mosamalitsa zolemba zoyambirira zokhudzana ndi ma aligorivimu ndi ma data, ndipo sanasewere masewera a "foni yosweka", monga mwachizolowezi (komanso kulimbikitsidwa) mu "Linux". njira".

Apa tikufunikanso kuwonjezera nthawi yofunikira kuti opanga amvetsetse zonsezi. Apa ndi pamene zimakhala zovuta kwambiri. Mulimonse mmene zinalili, zaka 10 sizinali zokwanira kuti amvetse. Chabwino, mpaka pamenepo simungathe kuyembekezera chozizwitsa. Sizidzachitika mwanjira yokwera "yomwe iwe ndi ine sitinadziwe," kapena ngati chigamba chomwe ndi "nkhani yabizinesi" yokonzekera. Pa "kukonza" kwachangu kotereku ndikuwonetsa zochitika zatsopano zakuwonongeka. Mitengo ya B ndi imodzi mwamitu yomwe ndimaikonda, ndipo ndiyenera kunena kuti zomanga izi sizimalora ufulu pazokha!

Kodi ndimayika bwanji Btrfs kwa ine ndekha? Monga chinthu chomwe sichingatchulidwe kuti fayilo yamafayilo, osagwiritsa ntchito. Chifukwa, mwa kutanthauzira, FS ndi kachitidwe kakang'ono ka OS komwe kamayang'anira kasamalidwe koyenera ka gwero la "disk space", zomwe sitiziwona pa nkhani ya Btrfs. Eya, tayerekezerani kuti munabwera kusitolo kudzagula wotchi kuti musachedwe kuntchito, ndipo m’malo mwa wotchiyo amakugulitsirani grill yamagetsi yokhala ndi timer kwa mphindi 30. Chifukwa chake, zinthu za Btrfs ndizoyipa kwambiri.

Kuyang'ana pamndandanda wamakalata, nthawi zambiri ndimapeza mawu akuti kuyendetsa bwino malo a disk sikulinso koyenera chifukwa cha kutsika mtengo kwa ma drive. Izi ndizopanda pake. Popanda woyang'anira danga la disk, OS idzakhala pachiwopsezo komanso chosagwiritsidwa ntchito. Mosasamala kanthu za kuchuluka kwa ma disks pamakina anu.

Ndikufuna kupempha ndemanga pa kutha kwa chithandizo cha Btrfs mu RHEL.

Palibe chapadera chofotokozera pano, chilichonse chikuwonekera bwino. Iwo anali nawonso ngati "chiwonetsero chaukadaulo". Kotero, sindinadutse "chiwonetsero" ichi. Musalole kuti chizindikirochi chikhalepo mpaka kalekale! Koma sangayambitse chinthu chopangidwa ndi cholakwika ndi chithandizo chonse. RHEL ndi bizinesi, kutanthauza kuti, mgwirizano wamalonda ndindalama. Red Hat sichingavutitse ogwiritsa ntchito monga momwe amachitira pamndandanda wamakalata a Btrfs. Tangoganizani momwe zinthu zilili: kasitomala amene adalipira ndalama zake zolimba pa disk komanso inunso kuti muthandizidwe, akufuna kumvetsetsa komwe malo ake a disk adapita atatha kulemba kalikonse. Kodi mungamuyankhe chiyani pa izi?

Komanso. Makasitomala a Red Hat akuphatikizapo mabanki akuluakulu odziwika bwino komanso osinthanitsa. Ingoganizirani zomwe zingachitike ngati atagwidwa ndi DoS kutengera kusatetezeka komwe kwatchulidwa mu Btrfs. Kodi mukuganiza kuti ndi ndani amene wachititsa zimenezi? Kwa iwo omwe atsala pang'ono kuloza chala chawo pamzere wa layisensi ya GPL, pomwe palembedwa kuti wolembayo alibe udindo pa chilichonse, nthawi yomweyo ndinena kuti: "zibisani!" Red Hat idzayankha, ndipo mwanjira yakuti siziwoneka zokwanira! Koma ndikudziwa kuti Red Hat sikukumana ndi vutoli, chifukwa cha gulu lawo lamphamvu kwambiri la akatswiri a QA omwe ndinali nawo mwayi wogwira nawo ntchito nthawi yanga.

Chifukwa chiyani makampani ena akupitilizabe kuthandiza Btrfs pazogulitsa zawo?

Chonde dziwani kuti mawu oyambira "bizinesi" mu dzina lazogulitsa sakutanthauza zambiri. Bizinesi ndi gawo laudindo lomwe lili mumgwirizano wamgwirizano ndi kasitomala. Ndikudziwa bizinesi imodzi yokha yozikidwa pa GNU/Linux - RHEL. Zina zonse, monga momwe ndimaonera, zimangowonetsedwa ngati bizinesi, koma si imodzi. Ndipo potsiriza, ngati pali kufunika kwa chinachake, ndiye nthawi zonse padzakhala chakudya (kwa ife, ichi ndi "thandizo" lotchulidwa). Pali kufunikira kwa chilichonse, kuphatikiza. ndi mapulogalamu osagwiritsidwa ntchito. Momwe kufunikira kotereku kumapangidwira komanso yemwe amaulimbikitsa ndi mutu wina.

Chifukwa chake, sindingalumphire pachigamulo chilichonse pambuyo poti Facebook idanenedwa kuti yatumiza ma Btrfs pamaseva ake. Komanso, ndikupangira kusunga mosamala ma adilesi a maseva amenewo mwachinsinsi pazifukwa zomwe zili pamwambapa.

Chifukwa chiyani kuyesetsa kotereku kuyeretsa kachidindo ka XFS posachedwapa? Kupatula apo, poyambilira iyi ndi fayilo ya chipani chachitatu, ndipo ext4 yakhala yokhazikika kwa nthawi yayitali ndipo ikupitilira kumitundu yakale yokhazikika. Kodi Red Hat ili ndi chidwi chotani mu XFS? Kodi ndizomveka kupanga mwachangu mafayilo awiri omwe ali ndi cholinga - ext4 ndi XFS?

Sindikukumbukira chomwe chinalimbikitsa izi. Ndizotheka kuti ntchitoyi idachokera kwamakasitomala a Red Hat. Ndikukumbukira kuti kafukufuku wamtunduwu adachitika: pamafayilo ena kuchokera kumtunda, zinthu zambiri zidapangidwa pamagalimoto apamwamba a m'badwo watsopano. Malinga ndi zotsatira zake, XFS idachita bwino kuposa ext4. Choncho anayamba kulilimbikitsa kukhala lodalirika kwambiri. Mulimonsemo, sindikanayang'ana chilichonse chosangalatsa pano.

Kwa ine, zili ngati asintha nkhwangwa ndi sopo. Palibe chifukwa chopanga ext4 ndi XFS. Onse mu kufanana ndi aliyense wa iwo kusankha. Palibe chabwino chomwe chidzabwere kuchokera ku izi. Ngakhale, m'chilengedwe nthawi zambiri pamakhala zochitika pamene pali kuthekera kwakukulu kwa kukula, koma palibe malo oti akule. Pachifukwa ichi, mitundu yatsopano yonyansa imatuluka, yomwe aliyense amaloza chala ("O, taonani, zomwe simudzaziwona m'moyo uno!").

Kodi mukuganiza kuti nkhani ya kuphwanya wosanjikiza yathetsedwa (molakwika) ndi kubwera kwa ntchito za encryption mu ext4, F2FS (osatchulapo RAID mu Btrfs)?

Kawirikawiri, kuyambitsidwa kwa magulu aliwonse ndi kupanga chisankho chokhudza kusaphwanya kwawo nthawi zambiri ndi nkhani ya ndondomeko, ndipo sindikufuna kuyankhapo kanthu pano. Zolinga za kuphwanya wosanjikiza sizikhala ndi chidwi ndi aliyense, koma titha kuganizira zina mwazogwiritsa ntchito chitsanzo cha kuphwanya "kuchokera kumwamba," ndiko kuti, kukhazikitsidwa mu FS ya magwiridwe antchito omwe alipo kale pa block layer. "Kuphwanya" koteroko kuli koyenera ndi zosiyana zokhazokha. Pankhani iliyonse yotereyi, choyamba muyenera kutsimikizira zinthu ziwiri: kuti ndizofunikira, komanso kuti mapangidwe a dongosololi sangawonongeke potero.

Mwachitsanzo, mirroring, amene kale wakhala ntchito kwa chipika wosanjikiza, n'zomveka kukhazikitsa pa mlingo wapamwamba dongosolo. Pazifukwa zosiyanasiyana. Mwachitsanzo, kuwonongeka kwa data "chete" (bit rot) kumachitika pa disk drive. Apa ndi pamene chipangizocho chikugwira ntchito bwino, koma deta ya chipika imawonongeka mosayembekezereka chifukwa cha zovuta za gamma quantum zomwe zimatulutsidwa ndi quasar yakutali, ndi zina zotero. Choyipa kwambiri ndi chakuti ngati chipikachi chidzakhala FS system block (superblock, bitmap block, node yosungira mitengo, etc.), chifukwa izi zidzachititsa mantha a kernel.

Chonde dziwani kuti magalasi operekedwa ndi block layer (otchedwa RAID 1) sangakupulumutseni ku vutoli. Chabwino, kwenikweni: wina ayenera kuyang'ana macheke ndikuwerenga chofananira ngati chalephera? Kuphatikiza apo, ndizomveka kuwonetsa osati zonse, koma metadata yokha. Zina zofunika (mwachitsanzo, mafayilo osinthika azovuta) zitha kusungidwa ngati metadata. Pankhaniyi, amalandira zitsimikizo zofanana za chitetezo. Ndizomveka kupatsa chitetezo chazomwe zatsala kuzinthu zina (mwina ngakhale zogwiritsa ntchito) - tapereka zofunikira zonse pa izi.

Magalasi oterowo "zachuma" ali ndi ufulu wokhalapo, ndipo amatha kukonzedwa bwino pamlingo wa fayilo. Kupanda kutero, kuphwanya kusanjikiza ndikusokoneza dongosolo laling'ono ndi ma code obwereza chifukwa cha zabwino zina zazing'ono. Chitsanzo chochititsa chidwi cha izi ndikukhazikitsa RAID-5 pogwiritsa ntchito FS. Mayankho otere (ake a RAID / LVM mu fayilo yamafayilo) amapha omaliza mwamapangidwe. Tiyeneranso kudziwidwa pano kuti kuphwanya malamulo "kumayambika" ndi mitundu yosiyanasiyana yazamalonda. Popanda malingaliro aliwonse, magwiridwe antchito omwe akhala akugwiritsidwa ntchito kwanthawi yayitali m'magulu oyandikana nawo amawonjezedwa kuzinthu zazing'ono, izi zimawonetsedwa ngati chinthu chatsopano chothandiza kwambiri ndipo chimakankhidwa mwachangu.

Reiser4 anaimbidwa mlandu wophwanya milingo "kuchokera pansi". Kutengera kuti fayilo yamafayilo si monolithic, monga ena onse, koma modular, lingaliro losatsimikizika lidapangidwa kuti limachita zomwe mulingo womwe uli pamwambapa (VFS) uyenera kuchita.

Kodi ndizotheka kulankhula za imfa ya ReiserFS v3.6 ndi, mwachitsanzo, JFS? Posachedwapa alandira pafupifupi palibe chidwi kwenikweni. Kodi zatha?

Apa tikuyenera kufotokozera zomwe kufa kwa pulogalamu yamapulogalamu kumatanthauza. Kumbali imodzi, amagwiritsidwa ntchito bwino (ndicho chomwe adalengedwera, pambuyo pake), zomwe zikutanthauza kuti amakhala moyo. Kumbali ina, sindingathe kuyankhula za JFS (sindikudziwa zambiri), koma ReiserFS (v3) ndizovuta kwambiri kuti zigwirizane ndi zochitika zatsopano (zoyesedwa muzochita). Izi zikutanthauza kuti m'tsogolomu opanga sangamvetsere, koma kwa omwe ali osavuta kusintha. Kuchokera kumbali iyi, zikuwoneka kuti, tsoka, yafa m'mawu omanga. Sindingasinthe lingaliro la "makhalidwe achikale" konse. Zimagwira ntchito bwino, mwachitsanzo, ku zovala, koma osati ku mapulogalamu a mapulogalamu. Pali lingaliro la kutsika ndi kupambana mu chinachake. Nditha kunena kuti ReserFS v3 tsopano ndiyotsika kwa Reiser4 m'chilichonse, koma mumitundu ina yantchito ndiyopambana kuposa ma FS onse akumtunda.

Kodi mukudziwa za chitukuko cha FS Tux3 ndi HAMMER/HAMMER2 (FS ya DragonFly BSD)?

Inde, tikudziwa. Mu Tux3 ndinali ndi chidwi ndi ukadaulo wazithunzi zawo (zomwe zimatchedwa "zolozera zamitundu"), koma ku Reiser4 titha kupita njira ina. Ndakhala ndikuganiza zothandizira zithunzithunzi kwa nthawi yayitali ndipo sindinasankhebe momwe ndingagwiritsire ntchito ma voliyumu osavuta a Reiser4. Chowonadi ndi chakuti njira yatsopano yolumikizirana "yaulesi" yomwe Ohad Rodeh adalemba imagwira ntchito pamitengo ya B yokha. Ife tiribe iwo. Kwa ma data omwe amagwiritsidwa ntchito mu Reiesr4, zowerengera "zaulesi" sizimatanthauziridwa - kuti muwadziwitse, ndikofunikira kuthana ndi zovuta zina za algorithmic, zomwe palibe amene adachitapo.

Malinga ndi HAMMER: Ndinawerenga nkhani kuchokera kwa Mlengi. Osakondweretsedwa. Apanso, B-mitengo. Dongosolo la datali ndilakale kwambiri. Tinazisiya m'zaka XNUMX zapitazi.

Kodi mumawona bwanji kufunikira kwa ma network cluster FSs ngati CephFS/GlusterFS/etc? Kodi kufunikira kumeneku kukutanthauza kusintha kwa zinthu zofunika kwambiri kwa otukula kupita ku netiweki ya FS ndi chidwi chosakwanira ku FS yakomweko?

Inde, kusintha kotereku kwa zinthu zofunika kwambiri kwachitika. Kukula kwa mafayilo am'deralo kwayima. Kalanga, kuchita china chake chofunikira pamavoliyumu am'deralo tsopano ndizovuta ndipo si aliyense amene angachite. Palibe amene akufuna kuyika ndalama pakukula kwawo. Izi ndizofanana ndi kufunsa bungwe lazamalonda kuti ligawire ndalama zofufuzira masamu - popanda chidwi chilichonse adzakufunsani momwe mungapangire ndalama pamalingaliro atsopano. Tsopano FS yakomweko ndi chinthu chomwe chimawonekera mwamatsenga "kunja kwa bokosi" ndipo "chiyenera kugwira ntchito nthawi zonse," ndipo ngati sichigwira ntchito, chimayambitsa kung'ung'udza kosayankhidwa monga: "Inde, akuganiza chiyani!"

Chifukwa chake kusowa kwa chidwi ku FS yakomweko, ngakhale kuti padakali ntchito yambiri m'derali. Ndipo inde, aliyense watembenukira ku zosungirako zogawidwa, zomwe zimamangidwa pamaziko a mafayilo omwe alipo kale. Ndi zapamwamba kwambiri tsopano. Mawu akuti "Big Data" amachititsa kuti anthu ambiri azithamangira kwa adrenaline, kugwirizanitsa ndi misonkhano, zokambirana, malipiro akuluakulu, ndi zina zotero.

Kodi ndizomveka bwanji kukhazikitsa fayilo ya netiweki mu kernel space m'malo mogwiritsa ntchito?

Njira yololera kwambiri yomwe sinagwiritsidwebe kulikonse. Nthawi zambiri, funso loti "mafayilo amtundu wanji" ayenera kukhazikitsidwa pati ndi "lupanga lakuthwa konsekonse." Chabwino, tiyeni tione chitsanzo. Wothandizira adalemba deta pamakina akutali. Iwo adagwera mu cache ya tsamba lake ngati masamba akuda. Iyi ndi ntchito ya "thin gateway" network file system mu kernel space. Kenako opareshoni posachedwa adzakufunsani kuti mulembe masambawo ku disk kuti amasule. Kenako gawo la IO-forwarding (kutumiza) network FS limalowa. Imasankha makina a seva (node ​​ya seva) masamba awa adzapita.

Kenako network stack imatenga (ndipo, monga tikudziwira, imayendetsedwa mu kernel space). Kenaka, node ya seva imalandira paketiyo ndi deta kapena metadata ndikulangiza gawo losungirako kumbuyo (ie, FS yakomweko yomwe imagwira ntchito mu kernel space) kuti ilembe zinthu zonsezi. Kotero, tachepetsa funso kuti "kutumiza" ndi "kulandira" ma modules ayenera kugwira ntchito. Ngati ma modules onsewa akuyenda m'malo ogwiritsira ntchito, izi zidzatsogolera kusintha kwa nkhani (chifukwa chofuna kugwiritsa ntchito ntchito za kernel). Chiwerengero cha masinthidwe oterowo chimadalira tsatanetsatane wa kukhazikitsa.

Ngati pali masinthidwe ambiri otere, ndiye kuti kusungirako (I/O performance) kudzachepa. Ngati kusungirako kwanu kumbuyo kumapangidwa ndi ma disks pang'onopang'ono, ndiye kuti simudzawona kutsika kwakukulu. Koma ngati muli ndi ma disks othamanga (SSD, NVRAM, etc.), ndiye kuti kusintha kwa nkhani kumakhala kale "bottleneck" ndipo, posunga kusintha kwa nkhani, ntchito ikhoza kuwonjezeka kwambiri. Njira yokhazikika yosungira ndalama ndikusuntha ma module mu kernel space. Mwachitsanzo, tapeza kuti kusuntha seva ya 9p kuchokera ku QEMU kupita ku kernel pa makina osungira kumabweretsa kuwonjezeka katatu kwa VirtFS.

Izi, zachidziwikire, si network FS, koma ikuwonetseratu kufunikira kwa zinthu. Choyipa cha kukhathamiritsa uku ndizovuta kunyamula. Kwa ena, zotsirizirazi zingakhale zovuta. Mwachitsanzo, GlusterFS ilibe ma module mu kernel konse. Chifukwa cha izi, tsopano ikugwira ntchito pamapulatifomu ambiri, kuphatikiza NetBSD.

Ndi mfundo ziti zomwe ma FS akumaloko angabwereke ku maukonde ndi mosemphanitsa?

Masiku ano, ma FS a netiweki, monga lamulo, amakhala ndi zowonjezera pa ma FS am'deralo, chifukwa chake sindikumvetsa momwe mungabwereke china kuchokera komaliza. Chabwino, ndithudi, tiyeni tiganizire za kampani ya antchito 4, yomwe aliyense amachita zofuna zake: wina amagawa, wina amatumiza, wachitatu amalandira, masitolo achinayi. Ndipo funso, kodi kampaniyo ingabwereke chiyani kwa wogwira ntchitoyo yemwe amasunga izo, zikuwoneka ngati zolakwika (yakhala kale ndi zomwe zikanabwereka kwa iye kwa nthawi yaitali).

Koma ma FS am'deralo ali ndi zambiri zoti aphunzire kuchokera pa intaneti. Choyamba, muyenera kuphunzira kuchokera kwa iwo momwe mungaphatikizire ma voliyumu omveka pamlingo wapamwamba. Tsopano otchedwa Mafayilo "otsogola" am'deralo amaphatikiza ma voliyumu omveka bwino pogwiritsa ntchito ukadaulo wa "virtual device" wobwerekedwa ku LVM (kuphwanya komweko komwe kudayamba kukhazikitsidwa mu ZFS). Mwa kuyankhula kwina, kumasuliridwa kwa maadiresi enieni (manambala a block) kukhala enieni ndi kumbuyo kumachitika pamtunda wochepa (ie, pambuyo poti fayilo yatulutsa pempho la I / O).

Chonde dziwani kuti kuwonjezera ndi kuchotsa zida pama voliyumu omveka (osati magalasi) okonzedwa pa block layer kumabweretsa mavuto omwe ogulitsa "mawonekedwe" otere sakhala chete. Ndikulankhula za kugawikana pazida zenizeni, zomwe zimatha kufikira zinthu zoyipa, pomwe pazida zenizeni zonse zili bwino. Komabe, ndi anthu ochepa omwe ali ndi chidwi ndi zida zenizeni: aliyense ali ndi chidwi ndi zomwe zikuchitika pazida zanu zenizeni. Koma ZFS-monga FS (komanso FS iliyonse molumikizana ndi LVM) imagwira ntchito kokha ndi zida za disk (perekani ma adilesi enieni a disk pakati pa aulere, kusokoneza zida izi, ndi zina). Ndipo sadziwa zomwe zikuchitika pazida zenizeni!

Tsopano yerekezerani kuti muli ndi ziro kugawanika pa chipangizo chodziwika bwino (ndiko kuti, muli ndi gawo limodzi lokha lomwe mukukhalamo), mumawonjezera diski ku voliyumu yanu yomveka, ndiyeno kuchotsa disk ina mwachisawawa pa voliyumu yanu yomveka ndikuyambiranso. Ndipo nthawi zambiri. Sizovuta kulingalira kuti pazida zenizeni mudzakhalabe ndi moyo womwewo, koma pazida zenizeni simudzawona chilichonse chabwino.

Choyipa kwambiri ndichakuti simungathe kukonza izi! Chokhacho chomwe mungachite apa ndikufunsa fayilo kuti iwononge chipangizocho. Koma adzakuwuzani kuti zonse ndi zabwino pamenepo - pali gawo limodzi lokha, kugawikana ndi ziro, ndipo sikungakhale bwino! Chifukwa chake, ma voliyumu omveka omwe amakonzedwa pamlingo wa block sanapangidwe kuti awonjezere / kuchotsa zida mobwerezabwereza. Mwanjira yabwino, mumangofunika kusonkhanitsa voliyumu yoyenera pamlingo wa block kamodzi, kuipereka ku fayilo yamafayilo, kenako osachita china chilichonse.

Kuphatikiza apo, kuphatikiza ma subsystems odziyimira pawokha a FS + LVM salola kutengera mitundu yosiyanasiyana ya ma drive omwe ma voliyumu omveka amaphatikizidwa. Zowonadi, tiyerekeze kuti mwasonkhanitsa voliyumu yomveka kuchokera ku HDD ndi zida zolimba. Koma ndiye woyamba adzafunika defragmentation, ndipo yotsirizira sadzatero. Kwa omaliza, muyenera kupereka zopempha zotaya, koma zakale, osati, ndi zina. Komabe, mu kuphatikiza ndizovuta kusonyeza kusankha koteroko.

Dziwani kuti mutatha kupanga LVM yanu pamafayilo, zinthu sizikuyenda bwino. Komanso, pochita zimenezi mumathetsa chiyembekezo chodzachikonza m’tsogolo. Izi ndi zoipa kwambiri. Mitundu yosiyanasiyana yamagalimoto imatha kukhala pamakina amodzi. Ndipo ngati mawonekedwe a fayilo sasiyanitsa pakati pawo, ndiye ndani angatero?

Vuto lina ndikudikirira otchedwa. Mafayilo a "Write-Anywhere" (izi zikuphatikizanso ndi Reiser4, ngati mwatchulapo njira yoyenera yosinthira panthawi yokwera). Mafayilo oterowo ayenera kupereka zida zowonongeka zomwe sizinachitikepo mu mphamvu zawo. Ndipo woyang'anira ma voliyumu otsika sathandiza pano, koma amangodutsa. Chowonadi ndi chakuti ndi manejala wotere, FS yanu imasunga mapu a zida zaulere za chipangizo chimodzi chokha - chowona. Choncho, inu mukhoza defragment pafupifupi chipangizo. Izi zikutanthauza kuti defragmenter wanu adzagwira ntchito kwa nthawi yayitali, pa malo amodzi a maadiresi enieni.

Ndipo ngati muli ndi ogwiritsa ntchito ambiri omwe amangolemba mwachisawawa, ndiye kuti zothandiza za defragmenter zotere zidzachepetsedwa kukhala ziro. Dongosolo lanu liyamba kutsika pang'onopang'ono, ndipo mudzangofunika kupinda manja anu pamaso pa matenda okhumudwitsa "mapangidwe osweka". Ma defragmenters angapo omwe akuyenda pamalo amodzi amangosokonezana. Ndi nkhani yosiyana kwambiri ngati musunga mapu anu aulere pazida zenizeni zilizonse. Izi zidzagwirizanitsa bwino ndondomeko ya defragmentation.

Koma izi zitha kuchitika kokha ngati muli ndi woyang'anira voliyumu wapamwamba kwambiri. Mafayilo am'deralo omwe ali ndi oyang'anira otere sanalipo kale (osachepera, sindikudziwa za iwo). Makina amafayilo a netiweki okha (mwachitsanzo GlusterFS) anali ndi oyang'anira oterowo. Chitsanzo china chofunikira kwambiri ndikugwiritsa ntchito voliyumu yachilungamo (fsck). Ngati mumasunga mapu anu odziyimira pawokha a midadada yaulere pagawo lililonse, ndiye kuti njira yowonera voliyumu yomveka imatha kufananizidwa bwino. Mwanjira ina, ma voliyumu omveka okhala ndi mamanenjala apamwamba amakula bwino.

Kuphatikiza apo, ndi oyang'anira ma voliyumu otsika simudzatha kupanga zithunzi zodzaza. Ndi mafayilo amtundu wa LVM ndi ZFS, mutha kungotenga zithunzi zakumaloko, koma osati zithunzi zapadziko lonse lapansi. Zithunzi zam'deralo zimakulolani kuti musinthe nthawi yomweyo mafayilo okhazikika. Ndipo palibe amene adzabweza ntchito ndi ma voliyumu omveka (kuwonjezera / kuchotsa zida). Tiyeni tione izi ndi chitsanzo. Panthawi ina, mukakhala ndi zida ziwiri A ndi B zomwe zili ndi mafayilo 100, mumatenga chithunzithunzi cha S ndi kupanga mafayilo ena zana.

Pambuyo pake, mumawonjezera chipangizo C ku voliyumu yanu, ndikubwezeretsanso makina anu kuti mujambule S. Funso: Ndi mafayilo ndi zida zingati zomwe voliyumu yanu yomveka imakhala nayo mutabwezanso ku S? Padzakhala mafayilo 100, monga momwe mungaganizire, koma padzakhala zipangizo zitatu - izi ndi zipangizo zomwezo A, B ndi C, ngakhale kuti panthawi yomwe chithunzicho chinalengedwa panali zipangizo ziwiri zokha (A ndi B). ). Ntchito yowonjezera chipangizo C sichinabwerere, ndipo ngati mutachotsa chipangizo C pakompyuta, chidzawononga deta yanu, kotero musanachotse muyenera kuchita ntchito yodula kuti muchotse chipangizocho kuchokera ku voliyumu yomveka bwino. adzamwaza deta yonse kuchokera ku chipangizo C kupita ku zipangizo A ndi B. Koma ngati FS yanu imathandizira zithunzithunzi zapadziko lonse, kugwirizanitsa koteroko sikungafunikire, ndipo pambuyo pobwezeretsanso ku S, mukhoza kuchotsa chipangizo C mosamala pa kompyuta.

Kotero, zojambula zapadziko lonse ndi zabwino chifukwa zimakulolani kuti mupewe kuchotsa mtengo (kuwonjezera) kwa chipangizo kuchokera ku voliyumu yomveka (mpaka ku voliyumu yomveka) ndi deta yambiri (zowonadi, ngati mukukumbukira "kujambula" dongosolo lanu. pa nthawi yoyenera). Ndiroleni ndikukumbutseni kuti kupanga zithunzithunzi ndikubwezeretsanso mafayilo amafayilo ndi ntchito nthawi yomweyo. Funso likhoza kubuka: zingatheke bwanji kubweza nthawi yomweyo opareshoni pa voliyumu yomveka yomwe idakutengerani masiku atatu? Koma ndi zotheka! Kutengera kuti fayilo yanu ya fayilo idapangidwa bwino. Ndidabwera ndi lingaliro la "zithunzi za 3D" zaka zitatu zapitazo, ndipo chaka chatha ndidapanga zovomerezeka izi.

Chotsatira chomwe ma FS am'deralo ayenera kuphunzira kuchokera pamanetiweki ndikusunga metadata pazida zosiyana monga momwe ma network a FS amawasungira pamakina osiyana (omwe amatchedwa ma seva a metadata). Pali mapulogalamu omwe amagwira ntchito makamaka ndi metadata, ndipo mapulogalamuwa amatha kufulumizitsidwa kwambiri poyika metadata pazida zosungira zokwera mtengo kwambiri. Ndi kuphatikiza kwa FS + LVM, simungathe kuwonetsa kusankhidwa kotere: LVM sikudziwa zomwe zili pa block yomwe mudadutsako (deta pamenepo kapena metadata).

Simungapeze phindu lalikulu pakukhazikitsa LVM yanu yotsika mu FS poyerekeza ndi kuphatikiza kwa FS + LVM, koma zomwe mungachite bwino ndikusokoneza FS kotero kuti pambuyo pake zimakhala zosatheka kugwira ntchito ndi code yake. ZFS ndi Btrfs, zomwe zidathamanga ndi zida zenizeni, zonse ndi zitsanzo zomveka bwino za momwe kuphwanya kusanjika kumapha dongosolo mwamapangidwe ake. Komanso, palibe chifukwa choyika LVM yanu yotsika pamafayilo. M'malo mwake, muyenera kuphatikizira zida m'mavoliyumu omveka bwino, monga momwe machitidwe ena amafayilo amachitira ndi makina osiyanasiyana (malo osungira). Zowona, amachita izi monyansa chifukwa chogwiritsa ntchito ma algorithms oyipa.

Zitsanzo za ma algorithms owopsa kwambiri ndi womasulira wa DHT mu fayilo ya GlusterFS ndi zomwe zimatchedwa CRUSH mapu mu Ceph file system. Palibe ma algorithms omwe ndidawawona omwe adandikhutiritsa mwa kuphweka komanso scalability yabwino. Choncho ndinafunika kukumbukira algebra ndi kupanga chilichonse ndekha. Mu 2015, ndikuyesa mitolo pa ntchito za hashi, ndidabwera ndi zovomerezeka zomwe zimandikwanira. Tsopano ndinganene kuti kuyesa kuchita zonsezi kunapambana. Sindikuwona zovuta zilizonse ndi scalability munjira yatsopano.

Inde, subvolume iliyonse imafunikira mawonekedwe osiyana monga superblock mu kukumbukira. Kodi izi ndizowopsa kwambiri? Nthawi zambiri, sindikudziwa yemwe "adzawiritsa nyanja" ndikupanga zida zomveka za mazana masauzande kapena zida zambiri pamakina am'deralo. Ngati wina angandifotokozere izi, ndikuthokoza kwambiri. Pakadali pano, kwa ine uku ndikutsatsa malonda.

Kodi kusintha kwa kernel block device subsystem (mwachitsanzo, mawonekedwe a blk-mq) kudakhudza bwanji zofunikira pakukhazikitsa kwa FS?

Iwo analibe mphamvu iliyonse. Sindikudziwa zomwe zingachitike pa block layer zomwe zingapangitse kukhala kofunikira kupanga FS yatsopano. Kulumikizana kwa magawowa ndi koyipa kwambiri. Kuchokera kumbali ya dalaivala, FS iyenera kukhudzidwa kokha ndi maonekedwe a mitundu yatsopano ya ma drive, omwe gawolo lidzasinthidwa poyamba, ndiyeno FS (kwa reiser4 izi zidzatanthawuza maonekedwe a mapulagini atsopano).

Kodi kutuluka kwa mitundu yatsopano ya media (mwachitsanzo, SMR, kapena kuchuluka kwa ma SSD) kukutanthauza zovuta zatsopano pakupanga mafayilo amafayilo?

Inde. Ndipo izi ndi zolimbikitsa zachibadwa za chitukuko cha FS. Zovuta zimatha kukhala zosiyana komanso zosayembekezereka. Mwachitsanzo, ndamvapo za ma drive pomwe kuthamanga kwa ntchito ya I/O kumadalira kwambiri kukula kwachidziwitso ndi kuchotsera kwake. Ku Linux, komwe kukula kwa block ya FS sikungadutse kukula kwa tsamba, kuyendetsa koteroko sikudzawonetsa kuthekera kwake kwathunthu. Komabe, ngati fayilo yanu idapangidwa bwino, ndiye kuti pali mwayi wopeza zambiri.

Ndi anthu angati omwe akugwira ntchito ndi Reiser4 code kupatula inu?

Zochepera kuposa momwe ndikanafunira, koma sindikumananso ndi kuchepa kwakukulu kwazinthu. Ndine wokhutira kwambiri ndi mayendedwe a chitukuko cha Reiser4. Sindikupita "kuyendetsa akavalo" - awa si malo oyenera. Apa, "ngati muyendetsa modekha, mupitiliza!" Mafayilo amakono ndi njira yovuta kwambiri ya kernel subsystem, zosankha zolakwika zomwe zimatha kusintha zaka zotsatila za ntchito ya anthu.

Popereka odzipereka kuti agwiritse ntchito chinachake, nthawi zonse ndimatsimikizira kuti khama lidzabweretsa zotsatira zolondola, zomwe zingakhale zofunikira pa zosowa zazikulu. Monga mukumvetsetsa, sipangakhale zitsimikizo zambiri zotere nthawi imodzi. Panthawi imodzimodziyo, sindingathe kupirira "ziwerengero" zomwe zimalimbikitsa mopanda manyazi "zina" za mapulogalamu osagwiritsidwa ntchito mwachiwonekere, kunyenga mazana a ogwiritsa ntchito ndi opanga mapulogalamu, ndipo panthawi imodzimodziyo amakhala ndikumwetulira pamisonkhano ya kernel.

Kodi pali kampani iliyonse yomwe yawonetsa chidwi chothandizira chitukuko cha Reiser4?

Inde, panali malingaliro otere, kuphatikiza. komanso kuchokera kwa wogulitsa wamkulu. Koma chifukwa cha zimenezi ndinayenera kupita kudziko lina. Tsoka ilo, sindinenso zaka 30, sindingathe kuthawa ndikuchoka monga choncho poimba mluzu woyamba.

Ndi zinthu ziti zomwe zikusowa pa Reiser4?

Palibe ntchito ya "resize" pamavoliyumu osavuta, ofanana ndi omwe amapezeka mu ReiserFS(v3). Kuphatikiza apo, ntchito zamafayilo okhala ndi mbendera ya DIRECT_IO sizingapweteke. Kenaka, ndikufuna kuti ndithe kugawa voliyumu mu "semantic subvolumes", yomwe ilibe kukula kwake, ndipo ikhoza kukhazikitsidwa ngati mavoliyumu odziimira. Mavutowa ndi abwino kwa oyamba kumene omwe akufuna kuyesa dzanja lawo pa "chinthu chenichenicho."

Ndipo pomaliza, ndikufuna kukhala ndi ma voliyumu omveka bwino a netiweki ndi kukhazikitsa kosavuta ndi kasamalidwe (ma aligorivimu amakono amalola kale izi). Koma zomwe Reiser4 sidzakhala nazo ndi RAID-Z, zotsuka, zosungira zaulere, zosintha za 128-bit ndi zamkhutu zina zamalonda zomwe zidayamba motsutsana ndi kuperewera kwa malingaliro pakati pa omwe amapanga mafayilo ena.

Kodi zonse zomwe zingafunike zitha kukhazikitsidwa ndi mapulagini?

Ngati timangolankhula motengera ma interfaces ndi mapulagini (ma module) omwe amawagwiritsa ntchito, ndiye osati zonse. Koma ngati mutayambitsanso maubwenzi pamapangidwe awa, ndiye, pakati pa zinthu zina, mudzakhala ndi malingaliro apamwamba a ma polymorphisms, omwe mungathe kudutsa nawo kale. Tangoganizani kuti mwayimitsa njira yothamangitsira yomwe imayang'ana pa chinthu, ndikusintha mtengo wa cholozera kuti muloze ku pulogalamu yowonjezera yomwe imagwiritsa ntchito mawonekedwe a X omwewo, kenako ndikuyimitsa makinawo kuti apitirize kuchita.

Ngati wogwiritsa ntchito mapeto sazindikira "m'malo" woteroyo, timati dongosololi liri ndi zero-order polymorphism mu X mawonekedwe (kapena dongosolo ndi losiyana kwambiri mu X mawonekedwe, zomwe ziri zofanana). Ngati tsopano mulibe malo ochezera okha, komanso muli ndi maubwenzi (interface graph), ndiye kuti mukhoza kufotokoza ma polymorphisms a maulamuliro apamwamba, omwe adzawonetsere kusiyana kwa machitidwe omwe ali kale mu "oyandikana nawo" a mawonekedwe aliwonse. Ndinayambitsa gulu lotere kalekale, koma, mwatsoka, sizinachitike.

Chifukwa chake, mothandizidwa ndi mapulagini ndi ma polymorphisms apamwamba kwambiri, mutha kufotokozera chilichonse chodziwika, komanso "kulosera" zomwe sizinatchulidwepo. Sindinathe kutsimikizira izi, koma sindikudziwanso za chitsanzo. Kawirikawiri, funsoli linandikumbutsa za "Erlangen Program" ya Felix Klein. Panthawi ina adayesa kuimira geometry yonse monga nthambi ya algebra (makamaka, chiphunzitso chamagulu).

Tsopano ku funso lalikulu - zinthu zikuyenda bwanji ndi kukwezedwa kwa Reiser4 pachimake chachikulu? Kodi panali zofalitsa zilizonse zokhuza kamangidwe ka fayiloyi zomwe mudakambapo muzofunsa zapitazi? Kodi funso ili ndi lofunika bwanji m'malingaliro anu?

Nthawi zambiri, takhala tikupempha kuti tilowe munthambi yayikulu kwa zaka zitatu. Ndemanga yomaliza ya Reiser pagulu la anthu pomwe pempholi lidapangidwa silinayankhidwe. Kotero mafunso ena onse si athu. Ineyo pandekha sindikumvetsa chifukwa chake tiyenera "kuphatikiza" mu dongosolo linalake la opaleshoni. Pa Linux, kuwala sikunafanane ngati mphero. Chifukwa chake, pali malo osiyana momwe mudzakhala madoko angapo anthambi a ma OS osiyanasiyana. Aliyense amene akuchifuna atha kufananiza doko lofananira ndikuchita chilichonse chomwe mungafune nacho (mkati mwachilolezo, inde). Chabwino, ngati wina sachifuna, ndiye kuti si vuto langa. Pakadali pano, ndikuganiza kuti ndilingalire funso la "kukwezedwa ku Linux kernel" momwe yakhazikitsidwa.

Zofalitsa pa zomangamanga za FS ndizofunikira, koma mpaka pano ndangopeza nthawi ya zotsatira zanga zatsopano, zomwe ndimawona kuti ndizofunikira kwambiri. Chinanso n’chakuti ndine katswiri wa masamu, ndipo m’masamu cholembedwa chilichonse ndi chidule cha ziphunzitso zake ndi umboni wake. Kusindikiza chirichonse kumeneko popanda umboni ndi chizindikiro cha kukoma koipa. Ngati nditsimikizira kapena kutsutsa mawu aliwonse okhudza kamangidwe ka FS, ndiye kuti zotsatira zake zidzakhala milu mwakuti zidzakhala zovuta kudutsa. Ndani akuchifuna? Ichi mwina ndichifukwa chake chilichonse chikupitilira kukhalabe mu mawonekedwe ake akale - magwero ake ndi ndemanga zake.

Ndi chiyani chatsopano mu Reiser4 pazaka zingapo zapitazi?

Kukhazikika komwe kumayembekezeredwa kwa nthawi yayitali kwachitika. Chimodzi mwazomalizira kuwonekera chinali cholakwika chomwe chinatsogolera ku zolemba "zosasinthika". Chovuta chinali chakuti zimangowonekera kumbuyo kwa kugunda kwa dzina la hashi komanso ndi malo ena osungiramo zolemba mumtengo wamtengo. Komabe, sindingathe kupangira Reiser4 kuti ipangidwe: chifukwa cha izi muyenera kuchita ntchito ina ndikulumikizana mwachangu ndi oyang'anira makina opanga.

Pomaliza tidakwanitsa kugwiritsa ntchito lingaliro lathu lomwe lakhalapo kwanthawi yayitali - mitundu yosiyanasiyana yochitira zinthu. M'mbuyomu, Reiser4 idangoyendetsa mtundu umodzi wokhazikika wa Macdonald-Reiser. Izi zidayambitsa zovuta zamapangidwe. Makamaka, zithunzithunzi sizitheka mumtundu woterewu - zidzaipitsidwa ndi gawo la atomiki lotchedwa "OVERWRITE SET". Reiser4 pakadali pano imathandizira mitundu itatu yosinthira. Mu imodzi mwa izo (Lembani-Paliponse), gawo la atomiki la OVERWRITE SET limaphatikizapo masamba a dongosolo (zithunzi za disk bitmaps, etc.), zomwe sizingakhale "kujambula" (vuto la nkhuku ndi dzira).

Chotero zithunzizo tsopano zikhoza kuzindikirika m’njira yabwino koposa. Muchitsanzo china, masamba onse osinthidwa amapita ku OVERWRITE SET (ndiko kuti, kwenikweni ndi zolemba zoyera). Chitsanzochi ndi cha iwo omwe adadandaula za kugawanika kwa magawo a Reiser4. Tsopano m'chitsanzo ichi gawo lanu silingadulidwe mwachangu kuposa ndi ReiserFS (v3). Zitsanzo zonse zitatu zomwe zilipo, zosungirako zina, zimatsimikizira kuti atomiki yogwira ntchito, koma zitsanzo zotayika kwa atomiki ndi kusunga kukhulupirika kwa gawoli zingakhalenso zothandiza. Zitsanzo zoterezi zingakhale zothandiza kwa mitundu yonse ya ntchito (zosungirako, ndi zina zotero), zomwe zatenga kale zina mwa ntchitozi. Ndizosavuta kuwonjezera mitundu iyi ku Reiser4, koma sindinachite, chifukwa palibe amene adandifunsa, ndipo sindikufuna.

Macheke a metadata adawonekera ndipo posachedwa ndidawawonjezera ndi magalasi "zachuma" (zinthu zosakhazikika). Ngati cheke cha chipika chilichonse sichikanika, Reiser4 nthawi yomweyo amawerenga chipika chofananacho kuchokera pachida chofananira. Dziwani kuti ZFS ndi Btrfs sangathe kuchita izi: mapangidwewo salola. Kumeneko muyenera kuyendetsa njira yapadera yosanja yakumbuyo yotchedwa "scrub" ndikudikirira kuti ifike pamalo ovuta. Okonza mapulogalamu amatcha zochitika zoterozo mophiphiritsira kuti “ndodo.”

Ndipo pamapeto pake, ma voliyumu omveka bwino awonekera, akupereka chilichonse chomwe ZFS, Btrfs, block layer, komanso kuphatikiza kwa FS + LVM kwenikweni sikungapereke - kukulitsa kofananira, O (1) disk allocator, kusamuka kwa data pakati pa subvolumes. Chotsatiracho chimakhalanso ndi mawonekedwe ogwiritsira ntchito. Tsopano mutha kusuntha deta yotentha kwambiri kupita pagalimoto yochita bwino kwambiri pa voliyumu yanu.

Kuphatikiza apo, ndizotheka kutulutsa mwachangu masamba aliwonse odetsedwa pagalimoto yotere, potero kufulumizitsa kwambiri mapulogalamu omwe nthawi zambiri amatcha fsync(2). Ndikuwona kuti magwiridwe antchito a block layer, otchedwa bcache, samapereka ufulu woterowo. Ma voliyumu atsopano omveka amatengera ma aligorivimu anga (pali zovomerezeka zofananira). Pulogalamuyi ndiyokhazikika kale, ndizotheka kuyesa, kuyeza magwiridwe antchito, ndi zina zambiri. Choyipa chokha ndichakuti pakadali pano muyenera kusinthira pamanja kasinthidwe ka voliyumu ndikusunga kwinakwake.

Pakalipano ndatha kugwiritsira ntchito malingaliro anga ndi 10 peresenti. Komabe, ndapambana pazomwe ndinkaziona ngati zovuta kwambiri - kulumikiza mavoliyumu omveka bwino ndi ndondomeko ya flash yomwe imachita zonse zomwe zasinthidwa mu reiser4. Izi zonse zikadali munthambi yoyesera "format41".

Kodi Reiser4 imadutsa xfstests?

Osachepera izo zinandichitira ine pamene ndinali kukonzekera kumasulidwa kotsiriza.

Kodi ndizotheka kupanga Reiser4 network (gulu) FS pogwiritsa ntchito mapulagini?

N'zotheka, ndipo ngakhale zofunika! Ngati mupanga fayilo ya netiweki kutengera kachitidwe ka mafayilo akomweko, zotsatira zake zidzakhala zochititsa chidwi kwambiri! Mu ma network a FS amakono, sindikukhutira ndi kukhalapo kwa gawo losungirako lakumbuyo, lomwe limagwiritsidwa ntchito pogwiritsa ntchito FS yapafupi. Kukhalapo kwa mulingo uwu sikuli koyenera. Network FS iyenera kulumikizana mwachindunji ndi block layer, osafunsa FS yakomweko kuti ipange mafayilo ena aliwonse!

Nthawi zambiri, kugawa mafayilo kukhala am'deralo ndi maukonde ndikuchokera kwa woyipayo. Zinachokera ku kupanda ungwiro kwa ma algorithms omwe adagwiritsidwa ntchito zaka makumi atatu zapitazo, ndipo m'malo mwake palibe chomwe chaperekedwa. Ichinso ndi chifukwa cha maonekedwe a unyinji wa zigawo zosafunikira mapulogalamu (ntchito zosiyanasiyana, etc.). Mwanjira yabwino, payenera kukhala FS imodzi yokha mu mawonekedwe a kernel module ndi seti yazinthu zogwiritsira ntchito zomwe zimayikidwa pamakina aliwonse - node yamagulu. FS iyi ndi yapanyumba komanso netiweki. Ndipo palibenso!

Ngati palibe chomwe chimagwira ntchito ndi Reiser4 pa Linux, ndikufuna kupereka FS kwa FreeBSD ( mawu ochokera ku zokambirana zam'mbuyomu: "... FreeBSD ... ili ndi mizu ya maphunziro ... apeza chilankhulo chodziwika bwino ndi omwe akupanga")?

Chifukwa chake, monga tapeza kumene, zonse zakhala zikuyenda bwino ndi Linux: pali doko la Reiser4 lapadera lomwe limagwira ntchito ngati nthambi yayikulu yankhokwe yathu. Sindinayiwala za FreeBSD! Perekani! Ndine wokonzeka kugwira ntchito limodzi ndi omwe amadziwa bwino zamkati mwa FreeBSD. Mwa njira: zomwe ndimakonda kwambiri mdera lawo ndikuti zisankho zomwe zilipo zimapangidwa ndi bungwe losinthidwa la akatswiri odziyimira pawokha, omwe alibe chochita ndi chinyengo cha boma cha munthu mmodzi wamuyaya.

Kodi mumawerengera bwanji anthu ogwiritsa ntchito Linux masiku ano? Kodi zakhala "pop" zambiri?

Kutengera mtundu wa ntchito yanga, zimandivuta kuwunika izi. Ambiri ogwiritsa ntchito amabwera kwa ine ndi malipoti a cholakwika ndi zopempha kuti akonze gawolo. Ogwiritsa ntchito ngati ogwiritsa ntchito. Ena ndi anzeru, ena ochepa. Aliyense amachitiridwa chimodzimodzi. Chabwino, ngati wosuta anyalanyaza malangizo anga, ndikhululukireni: dongosolo lonyalanyaza lidzalowetsedwanso kumbali yanga.

Kodi n'zotheka kulosera za chitukuko cha mafayilo kwa zaka zisanu kapena khumi zotsatira? Kodi mukuganiza kuti ndi zovuta ziti zomwe opanga FS angakumane nazo?

Inde, sikovuta kupanga kulosera koteroko. Sipanakhalepo chitukuko cha machitidwe a mafayilo kumtunda kwa nthawi yaitali. Maonekedwe otere okha amapangidwa. Opanga mafayilo am'deralo adakumana ndi mavuto obwera chifukwa chosapanga bwino. Chenjezo liyenera kupangidwa apa. Sindikuwona zomwe zimatchedwa "kusungirako", "kunyambita" ndi kunyamula kachidindo kukhala chitukuko ndi chitukuko. Ndipo sindimagawa kusamvetsetsana kotchedwa "Btrfs" monga chitukuko pazifukwa zomwe ndafotokoza kale.

Chigamba chilichonse chimangowonjezera mavuto ake. Chabwino. ndipo nthawizonse pali mitundu yosiyanasiyana ya “alaliki” amene “zonse zimagwira ntchito” kwa iwo. Kwenikweni, awa ndi ana asukulu komanso ophunzira akudumpha maphunziro. Tangoganizani: zimamugwirira ntchito, koma pulofesa satero. Uku ndi kuthamanga bwanji kwa adrenaline! Kuchokera kumalingaliro anga, kuvulaza kwakukulu kumayambitsidwa ndi "amisiri" omwe adathamangira "kuwotcha" mwachidwi zinthu zabwino za Btrfs pamitundu yonse yamagulu monga systemd, docker, etc. - izi zikufanana kale ndi metastases.

Tiyeni tsopano tiyese kupanga kulosera kwa zaka zisanu mpaka khumi. Ndalemba kale mwachidule zomwe tidzachita mu Reiser4. Chovuta chachikulu kwa opanga FS akumaloko kuchokera kumtunda chidzakhala (inde, chakhala kale) kulephera kugwira ntchito yabwino kuti alandire malipiro. Popanda malingaliro aliwonse pankhani yosungira deta, apitiliza kuyesa kuyika ma VFS atsoka awa, XFS ndi ext4. Zomwe zikuchitika ndi VFS zimawoneka ngati zoseketsa kwambiri potengera izi, zomwe zimakumbukira kusinthika kwamakono kwa malo odyera momwe mulibe ophika, ndipo palibe ophika omwe amayembekezeredwa.

Tsopano nambala ya VFS, popanda zikhalidwe zilizonse, imatseka masamba angapo okumbukira nthawi imodzi ndikuyitanitsa a FS omwe ali pansi kuti agwiritse ntchito. Izi zidayambitsidwa kuti ziwongolere magwiridwe antchito a Ext4 pakuchotsa ntchito, koma monga ndizosavuta kumvetsetsa, kutseka kotereku sikumagwirizana kwathunthu ndi machitidwe apamwamba. Ndiye kuti, simungathe kungowonjezera chithandizo chamtundu wina wamafayilo anzeru mu kernel. Sindikudziwa momwe zinthu zilili m'madera ena a Linux, koma ponena za machitidwe amafayilo, chitukuko chilichonse pano sichingagwirizane ndi ndondomeko yotsatiridwa ndi Torvalds pochita (ntchito zamaphunziro zimachotsedwa, ndi scammers osadziwa zomwe mtengo wa B, mbiri yosatha yodalirika imaperekedwa). Choncho, njira inakhazikitsidwa ya kuwola pang'onopang'ono. Inde, adzayesetsa ndi mphamvu zawo zonse kuchipereka ngati “chitukuko.”

Komanso, "oyang'anira" a machitidwe a mafayilo, pozindikira kuti simungapeze zambiri kuchokera ku "kusungirako" kokha, adzayesa dzanja lawo pa bizinesi yopindulitsa kwambiri. Izi, monga lamulo, zimagawidwa mafayilo amafayilo ndi virtualization. Mwina adzanyamula ZFS yapamwamba kwinakwake komwe kulibe. Koma izo, monga FS zonse zochokera kumtunda, zikufanana ndi mtengo wa Chaka Chatsopano: ngati mungathe kupachika zinthu zina zazing'ono pamwamba, ndiye kuti simungafike mozama. Ndikuvomereza kuti ndizotheka kupanga mabizinesi akuluakulu ozikidwa pa ZFS, koma popeza tsopano tikukambirana zamtsogolo, ndinganene zachisoni kuti ZFS ilibe chiyembekezo pankhaniyi: ndi zida zawo zenizeni, anyamatawo adadula mpweya. kwa iwo okha ndi mibadwo yamtsogolo kuti apite patsogolo. ZFS ndi chinthu chakale. Ndipo ext4 ndi XFS palibe ngakhale dzulo.

Ndikoyenera kutchula padera za lingaliro losangalatsa la "Linux file system of next generation". Iyi ndi polojekiti yandale komanso yotsatsa yomwe idapangidwira mwayi, titero, "kutsimikizira tsogolo la mafayilo" mu Linux kumbuyo kwa zilembo zinazake. Chowonadi ndi chakuti Linux kale inali "yongosangalatsa". Koma tsopano ndi makina opangira ndalama. Amapangidwa pa chilichonse chotheka. Mwachitsanzo, ndizovuta kwambiri kupanga pulogalamu yabwino ya mapulogalamu, koma "opanga" anzeru adazindikira kale kuti palibe chifukwa chovutikira: mutha kugulitsa bwino mapulogalamu omwe palibe omwe adalengezedwa ndikulimbikitsidwa pagulu lililonse. zochitika - chinthu chachikulu ndi chakuti zithunzi zowonetsera ziyenera kukhala ndi "zinthu" zambiri.

Mafayilo amafayilo ndiabwino pa izi, chifukwa mutha kuchita bwino kwazaka khumi pazotsatira. Chabwino, ngati wina pambuyo pake akudandaula chifukwa cha kusowa kwa zotsatira zomwezi, ndiye kuti samamvetsetsa chilichonse chokhudza mafayilo! Izi zimakumbukira piramidi yachuma: pamwamba ndi oyendayenda omwe adayambitsa chisokonezo ichi, ndi ochepa omwe anali "mwayi": "adachotsa zopindula," i.e. adalandira ndalama zachitukuko, adapeza ntchito yolipidwa bwino monga oyang'anira, "adawonekera" pamisonkhano, ndi zina zotero.

Kenako pakubwera omwe "alibe mwayi": adzawerengera zotayika, kuthana ndi zotsatira za kutumizira pulogalamu yosagwiritsidwa ntchito pakupanga, "etc. Palinso ambiri a iwo. Chabwino, m'munsi mwa piramidi pali unyinji waukulu wa opanga "macheka" opanda pake code. Iwo ndi otayika kwambiri, chifukwa nthawi yotayika singabwezedwe. Mapiramidi oterowo ndi opindulitsa kwambiri kwa Torvalds ndi anzawo. Ndipo kuchuluka kwa mapiramidi awa, kumakhala kwabwino kwa iwo. Kudyetsa mapiramidi oterowo, chilichonse chikhoza kutengedwa pachimake. Inde, poyera amanena zosiyana. Koma sindiweruza ndi mawu, koma ndi zochita.

Chifukwa chake, "tsogolo la machitidwe amafayilo mu Linux" ndi pulogalamu ina yomwe imalimbikitsidwa kwambiri, koma yosagwiritsidwa ntchito. Pambuyo pa Btrfs, ndi mwayi waukulu, malo a "tsogolo" loterolo adzatengedwa ndi Bcachefs, yomwe ndi kuyesa kwina kuwoloka Linux block layer ndi fayilo ya fayilo (chitsanzo choipa ndi chopatsirana). Ndipo zomwe zimafanana: pali zovuta zofanana ndi za Btrfs. Ndidakayikira izi kwa nthawi yayitali, ndipo mwanjira ina sindinathe kukana ndikuyang'ana mu code - ndizowona!

Olemba a Bcachefs ndi Btrfs, popanga ma FS awo, adagwiritsa ntchito magwero a anthu ena, osamvetsetsa pang'ono za iwo. Zinthuzi zimatikumbutsa kwambiri za masewera a ana a "mafoni osweka". Ndipo ndikutha kulingalira momwe code iyi idzaphatikizidwe mu kernel. Kwenikweni, palibe amene adzawona "rakes" (aliyense adzawaponda pambuyo pake). Pambuyo pazifukwa zambiri zokhudzana ndi kalembedwe ka code, zoneneza za kuphwanya kulibe, ndi zina zotero, mapeto adzaperekedwa ponena za "kukhulupirika" kwa wolemba, momwe "amachitira" bwino ndi opanga ena, ndi momwe zonsezi zingathere. kenako azigulitsidwa ku mabungwe.

Chotsatira sichidzakondweretsa aliyense. Zaka makumi awiri zapitazo, mwinamwake, ndikanakhala ndi chidwi, koma tsopano mafunso akufunsidwa mosiyana: kodi zingatheke kulimbikitsa izi kuti anthu ena adzagwire ntchito m'zaka khumi zikubwerazi. Ndipo, tsoka, sichizolowezi kudabwa za zotsatira zake.

Nthawi zambiri, ndingalangize mwamphamvu kuti musayambenso kuyambitsanso fayilo yanu kuyambira pachiyambi. Chifukwa ngakhale ndalama zazikulu zandalama sizingakhale zokwanira kupeza chinthu chopikisana pazaka khumi. Inde, ndikukamba za ntchito zazikulu, osati zomwe zimapangidwira kuti "zikankhidwe" mu kernel. Chifukwa chake, njira yothandiza kwambiri yodziwonetsera ndikulumikizana ndi zochitika zenizeni, monga ife. Izi, ndithudi, si zophweka kuchita - koma izi ndizochitika ndi ntchito iliyonse yapamwamba.

Choyamba, muyenera kuthana ndi vuto lomwe ndikupatsani. Pambuyo pake, ndikukhulupirira kuzama kwa zolinga zanu, ndiyamba kukuthandizani. Mwachizoloŵezi, timagwiritsa ntchito zochitika zathu zokha. Kupatulapo ndi ma compression algorithms ndi ntchito zina za hashi. Sitimatumiza okonza kuti apite ku misonkhano, ndiyeno sitikhala pansi ndikuphatikiza malingaliro a anthu ena ("mwinamwake zomwe zidzachitike"), monga momwe zimakhalira muzoyambira zambiri.

Timapanga ma algorithms onse tokha. Panopa ndili ndi chidwi ndi ma algebraic ndi combinatorial za sayansi yosunga deta. Makamaka, minda yomaliza, asymptotics, umboni wa kusagwirizana. Palinso ntchito kwa olemba mapulogalamu wamba, koma ndikuyenera kukuchenjezani nthawi yomweyo: malingaliro onse "kuyang'ana FS ina ndikuchita zomwezo" amanyalanyazidwa. Zigamba zomwe zimafuna kuphatikizana kwambiri ndi Linux kudzera pa VFS zidzapitanso kumeneko.

Chifukwa chake, tilibe chotengera, koma timamvetsetsa komwe tikuyenera kusunthira, ndipo tili ndi chidaliro kuti njira iyi ndi yoyenera. Kumvetsetsa kumeneku sikunabwere mumpangidwe wa mana wochokera kumwamba. Ndiroleni ndikukumbutseni kuti tili ndi zaka 29 zachitukuko kumbuyo kwathu, mafayilo awiri olembedwa kuyambira pachiyambi. Ndipo chiwerengero chomwecho cha deta kuchira zofunikira. Ndipo izi ndi zambiri!

Source: opennet.ru

Kuwonjezera ndemanga