ZFS Basics: Rokiroki me te Mahinga

ZFS Basics: Rokiroki me te Mahinga

I tenei puna kua korerohia e matou etahi kaupapa whakataki, hei tauira. me pehea te tirotiro i te tere o o puku и he aha te RAID. I te tuarua o enei, i oati matou ki te ako tonu i nga mahi o nga momo topologies maha-kopae i ZFS. Koinei te punaha konae reanga e whai ake nei ka tukuna inaianei ki nga waahi katoa Apple ki Ubuntu.

Ana, ko tenei ra te ra pai ki te mohio ki a ZFS, nga kaipānui mohio. Me mohio noa kei roto i te kaiwhakawhanake OpenZFS a Matt Ahrens te aromatawai iti, "he tino uaua."

Engari i mua i to maatau ki nga nama-a ka tae mai, ka oati ahau-mo nga whiringa whirihoranga ZFS waru-kopae, me korero tatou pehea I te nuinga o te waa, ka penapena raraunga a ZFS i runga i te kōpae.

Zpool, vdev me te taputapu

ZFS Basics: Rokiroki me te Mahinga
Kei roto i tenei hoahoa poka wai e toru nga vdev awhina, kotahi o ia akomanga, e wha mo RAIDz2

ZFS Basics: Rokiroki me te Mahinga
I te nuinga o te wa karekau he take ki te hanga puna wai o nga momo momo me nga rahi o te vdev - engari ki te hiahia koe, kaore he mea hei aukati i a koe ki te mahi pera.

Kia tino mohio koe ki te punaha konae ZFS, me ata titiro koe ki tona tino hanganga. Tuatahi, ka whakakotahi a ZFS i nga paparanga whakahaere o te punaha me te punaha konae. Tuarua, ka whakamahia e ia he mahinga kape-i-tuhi. Ko enei ahuatanga he rereke te hanganga o te punaha mai i nga punaha konae me nga raupapa RAID. Ko te huinga tuatahi o nga poraka hanga whare kia maarama ko te puna rokiroki (zpool), te taputapu mariko (vdev) me te taputapu tuuturu (taputapu).

zpool

Ko te puna rokiroki zpool ko te hanganga ZFS runga rawa atu. Kei ia puna kotahi, neke atu ranei nga taputapu mariko. Ka huri, kei ia o ratou kotahi, neke atu ranei nga taputapu tuuturu (taputapu). Ko nga puna wai mariko he waahanga motuhake. Ka taea e tetahi rorohiko tinana kia rua, neke atu ranei nga puna wai motuhake, engari he tino motuhake ia i etahi atu. Kaore e taea e nga puna te tiri nga taputapu mariko.

Ko te taapiri ZFS kei te taumata taputapu mariko, ehara i te taumata puna. Kare rawa he taapiri i te taumata kaukau—mehemea ka ngaro tetahi vdev, vdev whakatapua ranei, ka ngaro katoa te puna kaukau.

Ka taea e nga puna rokiroki o enei ra te ora i te ngaronga o te keteroki o te taputapu mariko, i te raarangi ranei - ahakoa ka ngaro pea te iti o nga raraunga paru mena ka ngaro te raarangi vdev i te wa o te mate hiko, i te tukinga punaha ranei.

He pohehe noa ko te ZFS "nga whiu raraunga" kua tuhia puta noa i te puna wai. Ehara tenei i te pono. Ehara a Zpool i te RAID0 rorirori, he rorirori ake JBOD me te tikanga tohatoha taurangi uaua.

Mo te nuinga, ka tohatohahia nga rekoata i waenga i nga taputapu mariko e waatea ana i runga i te waahi koreutu e waatea ana, no reira i roto i te ariā ka whakakiia katoa i te wa kotahi. Ko nga putanga hou o te ZFS ka whai whakaaro ki te whakamahi vdev o naianei (whakamahinga) - mena he nui ake te pukumahi o tetahi taputapu mariko i tetahi atu (hei tauira, na te utaina panui), ka pekehia mo te wa poto mo te tuhi, ahakoa te teitei o te mokowā mokowhiti.

Ko te hangahanga hangarua i hangaia ki roto i nga tikanga toha tuhi ZFS hou ka taea te whakaiti i te tohanga me te whakanui ake i te urunga i roto i nga waa o te taumaha o te taumaha—engari kaore. carte blanche ki te whakakotahi i nga HDD puhoi me nga SSD tere i roto i te puna kotahi. Ka mahi tonu taua poka wai i runga i te tere o te taputapu puhoi, ara, me te mea i hangaia katoatia e enei taputapu.

vdev

Ko ia puna rokiroki he kotahi, neke atu ranei nga taputapu mariko (vdev). Ka huri, kei ia vdev tetahi, neke atu ranei nga taputapu tuuturu. Ko te nuinga o nga taputapu mariko e whakamahia ana mo te rokiroki raraunga ngawari, engari he maha nga akomanga kaiawhina vdev, tae atu ki te CACHE, LOG, me te SPECIAL. Ka taea e ia momo vdev tetahi o nga topologies e rima: he taputapu kotahi, RAIDz1, RAIDz2, RAIDz3, whakaata ranei.

Ko te RAIDz1, te RAIDz2 me te RAIDz3 he momo motuhake o nga mea e kiia ana e te hunga tawhito ko RAID parea rua (hauroki). Ko te 1, 2 me te 3 e tohu ana ki te maha o nga poraka parerite ka tohatoha ki ia ara raraunga. Engari he kopae motuhake hei whakarato i te taurite, ka tohatohahia e nga taputapu RAIDz mariko te parenga kia riterite ki nga kopae. Ka taea e te raupapa RAIDz te ngaro te maha o nga kopae i te mea he paraka paremata; ki te ngaro tetahi atu, ka taka, ka mau ki te puna putunga.

I roto i nga taputapu mariko whakaata (whakaata vdev), ka penapena ia poraka ki ia taputapu i roto i te vdev. Ahakoa ko nga whakaata e rua-whanui te nuinga, ka taea e te whakaata te maha o nga taputapu—i roto i nga whakaurunga nui ake, ka whakamahia nga takitoru hei whakapai ake i te mahi panui me te aro ki te he. Ka taea e te whakaata vdev te ora i te korenga i te wa e mahi tonu ana kia kotahi te taputapu i roto i te vdev.

He tino kino nga vdevs kotahi. Ko taua taputapu mariko e kore e ora i te korenga kotahi - a ki te whakamahia hei rokiroki, he vdev motuhake ranei, na tona korenga ka arahi ki te whakangaromanga o te poka wai katoa. Kia tino tupato ki konei.

Ka taea te hanga i nga taputapu mariko CACHE, LOG, me te SPECIAL i roto i tetahi o nga topologies o runga ake nei - engari kia mahara ko te ngaro o te taputapu mariko MOHUI ka ngaro te puna wai, no reira ka tino taunakihia he topology taapiri.

pūrere

Koinei pea te kupu ngawari ki te maarama i roto i te ZFS - he mooni he taputapu uru matapōkere poraka. Kia mahara ko nga taputapu mariko he mea hanga mai i nga taputapu takitahi, a ko te puna he mea hanga mai i nga taputapu mariko.

Ko nga kopae, ahakoa te autō, te ahua totoka ranei, ko nga taputapu poraka e whakamahia ana hei poraka hangahanga o vdev. Heoi, ka mahia e tetahi taputapu whai whakaahuatanga i roto i te /dev - na reira ka taea te whakamahi i nga raupapa RAID taputapu katoa hei taputapu takitahi.

Ko te konae mata ngawari tetahi o nga taputapu aukati tino nui ka taea te hanga i tetahi vdev. Nga puna whakamatautau mai i he iti nga konae he huarahi tino watea ki te tirotiro i nga whakahau poka wai me te kite i te nui o te mokowā kei roto i te puna wai, i te taputapu mariko ranei o tetahi topology kua hoatu.

ZFS Basics: Rokiroki me te Mahinga
Ka taea e koe te hanga i tetahi puna whakamatautau mai i nga konae iti i roto i nga hēkona ruarua - engari kaua e wareware ki te muku i te puna wai katoa me ona waahanga i muri mai.

Me kii kei te pirangi koe ki tetahi tūmau waru-kopae ka whakamahere koe ki te whakamahi i nga kōpae 10TB (~9300 GiB), engari kaore koe i te tino mohio ko tehea topology e pai ana ki o hiahia. I roto i te tauira i runga ake nei, ka hangahia e matou he puna whakamatautau o nga konae iti i roto i nga hēkona — ka mohio inaianei ko te RAIDz2 vdev o nga puku 10TB e waru e whakarato ana i te 50TiB o te kaha whakamahi.

Ko tetahi atu momo taputapu motuhake ko SPARE. Ko nga taputapu whakawhiti wera, kaore i rite ki nga taputapu auau, no te puna wai katoa, kaua ki te taputapu mariko kotahi. Mena ka rahua tetahi vdev i roto i te puna kaukau ka honoa he taputapu e manawapa ki te puna kaukau ka waatea, katahi ka uru aunoa ki te vdev kua pa.

Ina hono ana ki te vdev kua pa, ka timata te taputapu whakakapi ki te tango kape me te hanga ano o nga raraunga e tika ana ki te taputapu kua ngaro. I roto i nga RAID tuku iho ka kiia tenei ko te "hanganga ano", a i roto i te ZFS he "whakaora".

He mea nui kia mahara kaore nga taputapu whakakapi e whakakapi i nga taputapu kua rahua. He whakakapinga rangitahi noa tenei hei whakaiti i te wa e heke ai te vdev. I muri i te whakakapinga a te kaiwhakahaere i te taputapu vdev i rahua, ka whakahokia mai te taapiri ki taua taputapu pumau, ka momotuhia a SPARE mai i te vdev ka hoki ki te noho mokemoke mo te poka wai katoa.

Ko nga huinga raraunga, poraka me nga waahanga

Ko te huinga paraka hangahanga e whai ake nei kia maarama i roto i ta maatau haerenga ZFS e pa ana ki nga taputapu me etahi atu mahi me pehea te whakariterite me te penapena i nga raraunga. Kei te pekehia e matou etahi papahanga i konei - penei i te metaslab - kia kore ai e marara nga korero i te wa e mau tonu ana te maarama ki te hanganga katoa.

Raraunga Raraunga

ZFS Basics: Rokiroki me te Mahinga
I te wa tuatahi ka waihangahia e matou he huingararaunga, ka whakaatu i nga waahi poka wai katoa e waatea ana. Na ka whakatauhia te motunga - ka huri i te waahi maunga. Te makutu!

ZFS Basics: Rokiroki me te Mahinga
Ko Zvol te nuinga he huingararaunga kua tangohia mai i tana paparanga punaha konae, ka whakakapihia e maatau ki te punaha konae ext4 tino noa.

Ko te huinga raraunga ZFS he rite tonu ki te punaha konae kua whakairihia. Pērā i te punaha konae noa, i te tuatahi o te titiro ko te ahua "he kōpaki noa." Engari he rite tonu ki nga punaha konae kua mau tonu, kei ia huinga raraunga ZFS tana ake huinga taonga taketake.

Tuatahi, he motunga kua tautapahia pea te huingararaunga. Mena ka whakauru koe zfs set quota=100G poolname/datasetname, ka kore e taea e koe te tuhi ki te kōpaki kua whakairihia /poolname/datasetname neke atu i te 100 GiB.

Tirohia te aroaro—me te kore—o nga riipene i te timatanga o ia rarangi? Kei ia huinga raraunga tona ake waahi i roto i te raupapa ZFS me te raupapatanga o te punaha. Karekau he riipene matua i roto i te hierarchy ZFS—ka timata koe me te ingoa puna wai katahi ka te ara mai i tetahi huinga raraunga ki tera atu. Hei tauira, pool/parent/child mo te huinga raraunga kua whakaingoatia child i raro i te huinga raraunga matua parent i roto i te puna me te ingoa auaha pool.

Ma te taunoa, ka rite te tohu maunga o te huingararaunga ki tona ingoa i roto i te hierarchy ZFS, me te rītaha matua - te puna i tapaina pool whakairihia hei /pool, huinga raraunga parent whakairi ki roto /pool/parent, me te huinga raraunga tamaiti child whakairi ki roto /pool/parent/child. Heoi, ka taea te huri i te ira maunga o te huinga raraunga.

Ki te tohu tatou zfs set mountpoint=/lol pool/parent/child, katahi ko te huinga raraunga pool/parent/child ka whakauruhia ki roto i te punaha hei /lol.

I tua atu i nga huingararaunga, me whakahuahia nga pukapuka (zvols). He rite tonu te rōrahi ki te huinga raraunga, engari karekau he punaha konae—he taputapu paraka noa. Ka taea e koe hei tauira te hanga zvol Me te ingoa mypool/myzvol, ka whakahōputuhia ki te punaha konae ext4, katahi ka whakairihia taua punaha konae - inaianei kei a koe he punaha konae ext4, engari me nga ahuatanga haumaru katoa o ZFS! He ahua poauau tenei i runga i te rorohiko kotahi, engari ka nui ake te whakaaro hei tuara i te kaweake i tetahi taputapu iSCSI.

Poraka

ZFS Basics: Rokiroki me te Mahinga
Ko te konae e tohuhia ana e te kotahi, neke atu ranei nga poraka. Ka penapena ia poraka ki tetahi taputapu mariko. Ko te rahi poraka he rite tonu ki te tawhā rahinga rekoata, engari ka taea te whakaheke ki 2^whakaheke, mena kei roto he metadata he konae iti ranei.

ZFS Basics: Rokiroki me te Mahinga
Tena tatou tino Kaore matou i te kata mo te whiunga mahi nui mena ka iti rawa te mahi

I roto i te puna wai ZFS, ko nga raraunga katoa, tae atu ki nga metadata, kei te rongoa i roto i nga poraka. Ko te rahinga paraka mo ia huinga raraunga kua tautuhia i roto i te taonga recordsize (rahi tuhi). Ka taea te huri i te rahi o te rekoata, engari kaore tenei e huri i te rahi me te waahi o nga poraka kua oti te tuhi ki te huinga raraunga - ka pa ki nga poraka hou i te wa e tuhia ana.

Ki te kore e tohua, ko te rahinga urunga taunoa 128 KiB. Ko te ahua o te tauhokohoko uaua e kore e tino pai te mahi, engari karekau e tino whakamataku i te nuinga o nga keehi. Recordsize Ka taea te whakarite ki tetahi uara mai i te 4K ki te 1M (me etahi atu tautuhinga recordsize Ka taea e koe te whakauru atu, engari he iti noa te whakaaro pai).

Ko nga paraka e tohu ana ki nga raraunga o te konae kotahi anake—kaore e taea e koe te kohi i nga konae rereke e rua ki te poraka kotahi. Ko ia kōnae he kotahi, neke atu ranei nga poraka, i runga i tona rahi. Mena he iti ake te rahi o te konae i te rahi o te rekoata, ka penapena ki roto i te paraka iti ake—hei tauira, ko te paraka kei roto he konae 2KiB ka noho kotahi te waahanga 4KiB i runga i te kōpae.

Mēnā he rahi te kōnae ki te hiahia kia maha ngā poraka, ka nui te rahi o ngā tāurunga katoa ki taua kōnae recordsize - tae atu ki te urunga whakamutunga, ko te waahanga nui pea wāhi kore whakamahia.

zvol volumes kahore he taonga recordsize - engari kei a raatau nga taonga rite volblocksize.

Nga wahanga

Ko te mea whakamutunga, ko te tino poraka hanga whare ko te rängai. Koinei te waeine tinana iti rawa ka taea te tuhi ki te panui ranei mai i tetahi taputapu kaihautu. Mo etahi tekau tau, i whakamahia e te nuinga o nga kōpae nga waahanga 512-paita. I enei ra, ko te nuinga o nga puku kua whirihorahia mo nga waahanga 4KiB, ko etahi—ina koa ko nga SSD—kua whirihorahia mo nga waahanga 8KiB, nui ake ranei.

Kei a ZFS tetahi waahanga e taea ai e koe te tautuhi i te rahi o te waahanga. Ko tenei taonga ashift. He ahua rangirua, ko te ashift te mana o te rua. Hei tauira, ashift=9 ko te rahi o te waahanga 2^9, 512 paita ranei.

Ka patai a ZFS ki te punaha whakahaere mo nga korero taipitopito mo ia taputapu paraka ina taapiri atu ki tetahi vdev hou, a ka whakatauhia e ia te hurihanga tika i runga i aua korero. Heoi ano, he maha nga puku kei te korero teka mo te rahi o te waahanga kia mau tonu ai te hototahi ki a Windows XP (kaore i mohio ki nga puku me etahi atu rahinga waahanga).

Ko te tikanga tenei e tino taunakitia ana kia mohio te kaiwhakahaere ZFS ki te rahi o te waahanga o a raatau taputapu me te whakarite a-ringa ashift. Mēnā he iti rawa te whakanekeneke, ka piki haere te maha o ngā mahi pānui/tuhi. Na, ko te tuhi i nga "waahanga" 512-paita ki te waahanga 4KiB tuturu me tuhi i te "waahanga" tuatahi, katahi ka panuihia te waahanga 4KiB, whakarereke me te "waahanga" 512-paita tuarua, tuhia ki te waahanga 4KiB hou. , me etahi atu mo ia urunga.

I roto i te ao tuuturu, ka pa tenei whiu ki a Samsung EVO SSDs, me tono ashift=13, engari ko enei SSD kei te korero teka mo te rahi o te waahanga, na reira kua tautuhia te taunoa ki ashift=9. Ki te kore tetahi kaiwhakahaere punaha mohio e whakarereke i tenei tautuhinga, ka mahi tenei SSD pōturi ake HDD autō auau.

Hei whakataurite, mo te nui rawa ashift karekau he whiunga. Karekau he mahi tuturu, he iti rawa te pikinga o te waahi kore (kaore ranei mena ka taea te kopeke). No reira, e tino taunaki ana matou kia whakauruhia nga puku e whakamahi ana i nga waahanga 512-paita ashift=12 ranei ashift=13ki te titiro maia ki nga ra kei mua.

Taonga ashift kua whakauruhia mo ia taputapu mariko vdev, a ehara mo te poka wai, he maha nga tangata e pohehe ana, a kaore e rereke i muri i te whakaurunga. Mena kua pa ki a koe ashift Ka taapirihia e koe he vdev hou ki te puna kaukau, kua pokea e koe taua puna ki te taputapu iti-mahi, a, hei tikanga, kaore he whiringa ke atu i te whakangaro i te puna ka timata ano. Ahakoa te whakakore i te vdev e kore koe e whakaora mai i te waahi pakaru ashift!

Tikanga kape-i-tuhi

ZFS Basics: Rokiroki me te Mahinga
Mena ka hiahia te punaha konae ki te tuhi ano i nga raraunga, ka whakarereketia ia poraka kei hea te waahi

ZFS Basics: Rokiroki me te Mahinga
Ka tuhia e te punaha konae kape-a-tuhi he putanga hou o te poraka, ka iriti i te putanga tawhito

ZFS Basics: Rokiroki me te Mahinga
I roto i nga korero poto, ki te kore tatou e aro ki te whakatakotoranga tinana o nga poraka, ka ngawari to tatou "kometa raraunga" ki te "kutukutu raraunga" ka neke mai i te maui ki te taha matau puta noa i te mapi o te waahi e waatea ana.

ZFS Basics: Rokiroki me te Mahinga
Inaianei ka taea e tatou te mohio me pehea te mahi kape-i-tuhi-tuhi - ka uru ia poraka ki nga whakaahua maha, ka mau tonu tae noa ki te ngaro o nga whakaahua katoa.

Ko te tikanga Copy on Write (CoW) te tino turanga o te mea he punaha whakamiharo a ZFS. He maamaa te kaupapa matua - mena ka tono koe ki tetahi punaha konae tuku iho kia huri i tetahi konae, ka mahia e koe nga mea i tono koe. Mena ka tono koe ki tetahi punaha konae kape-tuhi-tuhi kia pera ano te mahi, ka kii "pai"—engari ka korero teka ki a koe.

Engari, ka tuhia e te punaha konae kape-i-tuhi he putanga hou o te poraka kua whakarereketia, ka whakahou i nga metadata o te konae kia wetewetehia te paraka tawhito me te hono atu ki te poraka hou i tuhia e koe.

Ko te wetewete i te poraka tawhito me te hono i te mea hou ka mahia i roto i te mahi kotahi, na reira e kore e taea te haukotia - ki te tautuhi ano koe i te mana i muri i tenei ka puta, he putanga hou o te konae kei a koe, a, ki te tautuhi koe i te mana i mua, ka whai koe te putanga tawhito. Ahakoa he aha, karekau he taupatupatu i te punaha konae.

Ko te kape-i-tuhi i te ZFS ka puta ehara i te taumata punaha konae anake, engari i te taumata whakahaere kōpae. Ko te tikanga karekau a ZFS e whakaraerae ki te mokowāma i roto i te rekoata (poka i te RAID) - he ahuatanga i tuhia he waahanga noa iho te riipene i mua i te tukinga o te punaha, me te kino o te huinga i muri i te whakaara ano. I konei ka tuhia te karaehe ngota, he raupapa tonu te vdev, a Ko Bob to matua keke..

ZIL: rangitaki koronga ZFS

ZFS Basics: Rokiroki me te Mahinga
Ka mau a ZFS i nga tuhi tukutahi i runga i tetahi huarahi motuhake - ka penapenahia e ia mo te wa poto engari ki ZIL tonu i mua i te tuhi tuturu me nga tuhinga tukutahi.

ZFS Basics: Rokiroki me te Mahinga
Ko te tikanga, ko nga raraunga kua tuhia ki a ZIL kaore e panuitia ano. Engari ka taea tenei i muri i te korenga o te punaha

ZFS Basics: Rokiroki me te Mahinga
He SLOG, he taputapu LOG ​​tuarua ranei, he mea motuhake - me te tino tere - vdev ka taea te penapena motuhake a ZIL mai i te rokiroki matua.

ZFS Basics: Rokiroki me te Mahinga
Whai muri i te tukinga, ka tukuna ano nga raraunga paru katoa i ZIL - i tenei keehi, kei runga a ZIL i te SLOG, na reira ka tukuna ano.

E rua nga waahanga matua o te tuhi—he tukutahi (tukutahi) me te tukutahi (tukutahi). Mo te nuinga o nga mahi, ko te nuinga o nga tuhi he tukutahi—ma te punaha konae ka taea te whakahiato me te whakaputa i roto i nga roopu, ka whakaiti i te wehewehenga me te piki haere o te whakaputanga.

Ko nga rekoata tukutahi he mea tino rereke. Ina tono tetahi tono ki te tuhi tukutahi, ka kii ki te punaha konae: "Me tuku e koe tenei ki te mahara kore-kore. i tenei wa tonu, e tae noa ’tu i taua taime ra, aita ’tu e mea ta ’u e nehenehe e rave.” No reira, me tuku tonu nga tuhi tukutahi ki te kopae—a mena ka nui ake te wehewehenga, ka whakaitihia ranei te whakaputanga, me pena.

He rereke te whakahaere a ZFS i nga tuhi tukutahi mai i nga punaha konae tonu—kaore i te kuhu tonu ki te rokiroki auau, ka tukuna e ZFS ki tetahi waahi rokiroki motuhake e kiia nei ko te ZFS Intent Log, ZIL ranei. Ko te tinihanga ko enei rekoata ano hoki ka mau tonu ki te mahara, ka whakahiatohia me nga tono tuhi tukutahi noa, kia peehia ki roto ki te rokiroki hei TXG (Nga Roopu Whakawhitiwhiti).

I te wa e mahi noa ana, ka tuhia a ZIL, kaore ano kia panuitia. I te wa, i muri i etahi wa poto, ko nga rekoata mai i te ZIL ka piri ki te rokiroki matua i roto i nga TXGs auau mai i te RAM, ka wehea mai i te ZIL. Ko te wa anake ka panuihia tetahi mea mai i te ZIL ko te wa e kawemai ana i te puna.

Mena ka puta he tukinga ZFS—he tukinga punaha whakahaere, he mate hiko ranei—i te mea he raraunga kei roto i te ZIL, ka panuihia aua raraunga i te wa o te kawemai o te puna wai e whai ake nei (hei tauira, ina timata ano te punaha tukinga). Ko nga mea katoa kei roto i te ZIL ka panuihia, ka whakarōpūhia ki nga TXG, ka piri ki te toa matua, ka wehe atu i te ZIL i te wa o te kawemai.

Ko tetahi o nga karaehe kaiawhina vdev e kiia ana ko LOG or SLOG, he taputapu LOG ​​tuarua. He kaupapa kotahi - ki te whakarato i tetahi puna wai motuhake me te pai ake kia tere ake, he taputapu vdev tino tuhi-atete mo te penapena ZIL, kaua ki te penapena ZIL ki te rokiroki vdev matua. He rite tonu te mahi a ZIL ahakoa te waahi rokiroki, engari mena he nui te mahi tuhi a te vdev me te LOG, ka tere ake te tuhi tukutahi.

Ko te taapiri i te vdev me te LOG ki te puna kaukau kaore e mahi kaore e taea whakapai ake i nga mahi tuhi tukutahi - ahakoa ka akiaki koe i nga tuhi katoa ki a ZIL me zfs set sync=always, ka hono tonu ratou ki te rokiroki matua i roto i te TXG i te ara ano me te tere o te waa me te kore o te rakau. Ko te whakapainga tika anake ko te tuhi tukutahi (na te mea ka tere ake te tere o te raarangi ka tere ake nga mahi sync).

Heoi, i roto i te taiao e hiahia ana kia maha nga tuhi tukutahi, ka taea e vdev LOG te tere tere ake i nga tuhi tukutahi me nga panui koretake. Ko te tango i nga rekoata ZIL ki tetahi vdev LOG motuhake ka iti ake te tautohetohe mo te IOPS i runga i te rokiroki tuatahi, ka pai ake te mahi o nga panui katoa me te tuhi ki etahi waahanga.

Nga whakaahua

Ko te tikanga kape-i-tuhi he turanga tika mo nga whakaahua ngota ZFS me te tukurua tukutahi ano. He rakau tohutohu kei te punaha konae kaha e tohu ana i nga whakaurunga katoa me nga raraunga o naianei—ka tangohia e koe he whakaahua, ka mahia he kape o taua rakau atatohu.

Ina tuhia he rekoata ki runga i te punaha konae hohe, ka tuhi tuatahi a ZFS i te putanga hou o te poraka ki te waahi kore. Na ka wetewete i te putanga tawhito o te poraka mai i te punaha konae o naianei. Engari ki te tohutoro etahi whakaahua ki tetahi poraka tawhito, kare tonu e rereke. Ko te poraka tawhito e kore e whakahokia mai hei waahi waatea kia ngaro ra ano nga whakaahua katoa e tohu ana i taua paraka!

Tukurua

ZFS Basics: Rokiroki me te Mahinga
Ko taku whare pukapuka Steam i te tau 2015 he 158 GiB me te 126 nga konae. He tino tata tenei ki te ahuatanga tino pai mo te rsync - Ko te tukurua ZFS i runga i te whatunga he "anake" 927% tere.

ZFS Basics: Rokiroki me te Mahinga
I runga i te whatunga kotahi, ko te whakahoki i te konae whakaahua miihini mariko 40GB Windows 7 he korero rereke. Ko te tukurua ZFS he 289 nga wa tere atu i te rsync—he "anake" 161 nga wa tere ake mena ka mohio koe ki te waea rsync me te --inplace switch.

ZFS Basics: Rokiroki me te Mahinga
Ina tauine te ahua VM, ka whakatauhia e rsync. Ko te rahi o te 1,9 TiB ehara i te mea nui mo te ahua VM hou - engari he mea nui ko te tukurua ZFS he 1148 nga wa tere atu i te rsync, ahakoa me te rsync --inplace argument

Kia mohio koe ki te mahi o nga whakaahua, ka ngawari ki te mohio ki te ngako o te tukurua. I te mea ko te whakaahua he rakau tohu tohu, ka whai ake mena ka mahia e tatou zfs send whakaahua, ka tukuna atu e matou tenei rakau me nga rekoata katoa e pa ana ki a ia. Ka paahitia e matou tenei zfs send в zfs receive i runga i te ahanoa i whäia, ka tuhia e ia ngä mea e rua o te paraka me te rakau tohu tohutoro e tohu ana i nga poraka ki te huinga raraunga i whäia.

Ka pai ake nga mea i te tuarua zfs send. E rua nga punaha inaianei, kei roto ia ia poolname/datasetname@1, ka tangohia e koe he whakaahua hou poolname/datasetname@2. Na reira, i roto i te puna puna kei a koe datasetname@1 и datasetname@2, a kei roto i te puna kaukau ko te whakaahua tuatahi anake datasetname@1.

Na te mea kei waenganui i te puna me te whaainga he whakaahua noa taatau datasetname@1, ka taea e tatou pikinga zfs send i runga. Ina korero matou ki te punaha zfs send -i poolname/datasetname@1 poolname/datasetname@2, e whakataurite ana i nga rakau tohu e rua. Nga tohu tohu kei roto anake @2, me titiro ki nga poraka hou - no reira ka hiahia matou ki nga korero o aua poraka.

I runga i te punaha mamao, ka piki haere te tukatuka send rite noa. Tuatahi ka tuhia e matou nga urunga hou katoa kei roto i te awa send, ka tāpiri tohutohu ki ēnei poraka. Voila, kei a matou @2 i roto i te punaha hou!

Ko te tukurua a ZFS he tino whakapai ake i nga tikanga kore-whakaahua-whakaahua o mua penei i te rsync. I roto i nga take e rua, ko nga raraunga whakarereke anake ka whakawhiti - engari me matua rsync pānui mai i te kōpae nga raraunga katoa i nga taha e rua hei tirotiro i te tapeke me te whakataurite. He rereke, karekau he panui a ZFS i tua atu i nga rakau tohu—me etahi poraka kaore i te whakaatuhia i roto i te whakaahua whanui.

Kōpeketanga i roto

Ko te tikanga kape-i-tuhi ano hoki e whakangwari ana i te punaha taapiri i hangaia. I roto i te punaha konae tuku iho, he raru te kopiri—ko te putanga tawhito me te putanga hou o nga raraunga kua whakarereketia kei te waahi kotahi.

Ki te whakaaro koe ki tetahi wahi o te raraunga kei waenganui o te konae ka tiimata tona oranga hei megabyte o nga kore mai i te 0x00000000 me etahi atu, he tino ngawari ki te kopiri ki raro ki te waahanga kotahi i runga i te kōpae. Engari ka aha mena ka whakakapihia e tatou tenei megabyte o nga kore ki te megabyte o nga raraunga korekore, penei i te JPEG, te haruru pseudo-tupurangi ranei? Inamata, ko taua megabyte o nga raraunga kaore e hiahiatia kia kotahi, engari 256 4KiB nga waahanga, a kotahi anake te waahanga i rahuitia ki taua mokowā kōpae.

Karekau tenei raru a ZFS na te mea ka tuhia nga tuhi kua whakarereketia ki nga waahi kaore i whakamahia - kotahi noa te waahanga 4 KiB ka tangohia e te poraka taketake, engari ka 256 te rahi o te tuhi hou, engari ehara tena i te raru - he waahanga kua whakarerekehia mai i te " waenganui" o te konae kua tuhia ki te waahi kaore i whakamahia ahakoa kua rereke te rahi, kaore ranei, na he ahuatanga noa tenei mo ZFS.

Ko te whakaurunga-a-roto a ZFS kua monoa ma te taunoa, ka tukuna e te punaha nga algorithms mono-i tenei wa ko te LZ4, gzip (1-9), LZJB, me te ZLE.

  • LZ4 Ko te hātepe rerenga rerenga e tuku ana i nga painga tino tere me te whakahekenga me nga painga mahi mo te nuinga o nga keehi—ahakoa ki nga PTM tino puhoi.
  • GZIP he algorithm rongonui e mohio ana, e arohaina ana e nga kaiwhakamahi Unix katoa. Ka taea te whakatinana me nga taumata kōpeketanga 1-9, me te piki haere o te ōwehenga kōpeketanga me te whakamahi PTM i a koe e whakatata atu ana ki te taumata 9. He pai te algorithm mo nga take whakamahi tuhinga katoa (me etahi atu tino whakakopa ranei), engari he maha nga take ka puta ke atu nga take CPU. me te tupato, ina koa i nga taumata teitei.
  • LZJB - algorithm taketake i ZFS. Kua tawhitotia, me kaua e whakamahia, he pai ake te LZ4 i nga huarahi katoa.
  • INOI — Whakawaehere taumata kore, Whakawaehere Taumata Kore. Karekau e pa ki nga raraunga noa, engari ka kopirihia e ia nga raupapa kore. Ka whai hua mo nga huinga raraunga korekore (penei i te JPEG, MP4 me etahi atu momo whakatakotoranga kua oti kee) na te mea ka kore e aro ki nga raraunga karekau engari ka kopirihia te waahi kore whakamahia ki nga rekoata ka puta.

Ka tūtohu mātou i te kōpeketanga LZ4 mo te nuinga o nga keehi whakamahi katoa; he iti rawa te whiunga mahi i te wa e pa ana ki nga raraunga incompressible, a tupuranga he mea nui te mahi mo nga raraunga angamaheni. Te kape i te ahua miihini mariko mo te whakaurunga hou o te punaha whakahaere Windows (OS hou kua whakauruhia, kaore ano he raraunga i roto) me compression=lz4 haere 27% tere atu i ki compression=nonei roto tenei whakamatautau mai i te tau 2015.

ARC - Keteroki Whakakapi Urutau

Ko ZFS anake te punaha konae hou e mohio ana matou e whakamahi ana i tana ake tikanga keteroki panui, kaua ki te whakawhirinaki ki te keteroki whaarangi o te punaha whakahaere ki te penapena i nga kape o nga poraka panui i te RAM.

Ahakoa karekau he raru o te keteroki maori - kaore e taea e ZFS te whakautu ki nga tono toha mahara hou i te tere penei i te kernel, na reira he waea hou. malloc() Ka ngaro pea te tohatoha mahara ki te hiahia te RAM e nohoia ana e ARC. Engari he take pai ki te whakamahi i to ake keteroki, mo tenei wa.

Katoa nga punaha whakahaere hou e mohiotia ana, tae atu ki a MacOS, Windows, Linux me BSD, ka whakamahi i te LRU (Te iti rawa i whakamahia) algorithm hei whakatinana i te keteroki wharangi. He algorithm taketake tenei e pana ana i te paraka keteroki "ki te tihi o te rarangi" i muri i ia panui me te pana i nga poraka "ki raro o te rarangi" ina hiahiatia hei taapiri i nga ngaro keteroki hou (poraka me panui mai i te kopae kauaka mai i te keteroki) ki runga.

I te nuinga o te wa ka pai te mahi a te algorithm, engari i runga i nga punaha me nga huinga raraunga mahi nui, ka ngawari te arataki a LRU ki te whiu—te pana i nga poraka e hiahiatia ana kia whai waahi mo nga poraka e kore e panuitia ano mai i te keteroki.

ARC Ko te hātepe hātepe hātepe tino iti ka taea te whakaaro he keteroki "taimaha". I nga wa katoa ka panuihia te poraka keteroki, ka "taimaha" iti, ka uaua ki te pana - a ahakoa ka panaia te poraka whaiwhai i runga i tetahi wa. Ko te poraka kua panaia engari me panui ano ki roto i te keteroki ka kaha ake te taumaha.

Ko te mutunga o enei mea katoa he keteroki me te tauwehenga o te keteroki teitei ake—te owehenga i waenga i nga paanga keteroki (panui mai i te keteroki) me nga ngaro (panui mai i te kōpae). He tatauranga tino nui tenei - ehara i te mea ko te keteroki e pa ana ki a ratou ano he tere ake te mahi, ka tere ake hoki te mahi i nga hapa keteroki, na te mea ka nui ake te keteroki e pa ana, ka iti ake nga tono tukutahi ki te kopae me te iti ake te torohūtanga mo era e ngaro ana. me mahi ki te kōpae.

mutunga

Inaianei kua hipokina e matou nga tikanga o te ZFS—me pehea te mahi kape-i-tuhi, tae atu ki nga hononga i waenga i nga puna rokiroki, nga taputapu mariko, nga poraka, nga waahanga, me nga konae—kua reri matou ki te matapaki i nga mahi o te ao. tau mau.

I te waahanga e whai ake nei, ka titiro tatou ki nga mahi o te vdev whakaata me nga puna RAIDz, ka whakatauritea ki a raatau ano, ka whakatauritea ano hoki ki nga mahinga RAID kernel Linux tuku iho kua tirohia e matou. Tuhinga o mua.

I te tuatahi i hiahia matou ki te kapi noa i nga mea taketake-ko nga topologies ZFS ake-engari i muri mai pērā Ka reri taatau ki te korero mo te whirihoranga me te whakatikatika o te ZFS, tae atu ki te whakamahi i nga momo vdev awhina penei i te L2ARC, SLOG me te Toha Motuhake.

Source: will.com

Tāpiri i te kōrero