ZFS Basics: Teuina ma Fa'atinoga

ZFS Basics: Teuina ma Fa'atinoga

O lenei tautotogo ua uma ona tatou talanoaina nisi o autu folasaga, mo se faataitaiga, auala e siaki ai le saoasaoa o au ta'avale и o le a le RAID. I le lona lua o latou, na matou folafola atu e faʻaauau le suʻesuʻeina o le faʻatinoga o faʻasologa o tele-disk topologies i ZFS. O le isi augatupulaga faila faila lea o loʻo faʻatinoina nei i soʻo se mea: mai apu i Ubuntu.

Ia, o le aso nei o le aso sili lea e faamasani ai ma le ZFS, tagata faitau suʻesuʻe. Tau lava o le iloa i le manatu lotomaualalo o le OpenZFS developer Matt Ahrens, "e matua faigata lava."

Ae tatou te leʻi oʻo i numera - ma o le a latou, ou te folafola atu - mo filifiliga uma mo se seti ZFS valu-tisiki, e tatau ona tatou talanoa e uiga i auala I se tulaga lautele, ZFS teuina faʻamaumauga i luga ole disk.

Zpool, vdev ma masini

ZFS Basics: Teuina ma Fa'atinoga
O lenei ata atoa o le vaitaele e aofia ai vdevs ausilali se tolu, tasi o vasega taitasi, ma le fa mo RAIDz2

ZFS Basics: Teuina ma Fa'atinoga
E masani lava e leai se mafuaaga e fai ai se vaitaele o vdev ituaiga ma lapopoa e le fetaui - ae leai se mea e taofia oe mai le faia o lena mea pe a e manaʻo ai.

Ina ia malamalama lelei i le faila faila a le ZFS, e tatau ona e vaʻavaʻai totoʻa i lona fausaga moni. Muamua, faʻatasi e le ZFS tulaga faʻale-aganuʻu o le voluma ma faila faila. Lona lua, e faʻaaogaina se faiga faʻatau kopi-i-tusi. O nei uiga o lona uiga o le faiga e matua ese lava mai faiga faila faila ma RAID arrays. O le seti muamua o poloka fau fale e malamalama ai o le vaitaele teu (zpool), masini komepiuta (vdev), ma masini moni (masini).

zpool

O le vaitaele e teu ai le zpool o le fausaga pito i luga ole ZFS. O vaita'ele ta'itasi o lo'o iai se tasi pe sili atu fo'i masini mata'utia. I le isi itu, oi latou taʻitasi o loʻo i ai se tasi pe sili atu masini moni (masini). O vaita'ele fa'apitoa o poloka fa'apitoa. E tasi le komepiuta fa'aletino e mafai ona iai ni vaita'ele se lua pe sili atu, ae e tuto'atasi ta'itasi mai isi. E le mafai e vaita'ele ona fefa'asoaa'i masini va'aia.

O le faʻaogaina o le ZFS o loʻo i le tulaga masini masini, ae le o le vaitaele. E matua leai lava se fa'aletonu ile vaita'ele - pe a leiloa se ta'avale vdev po'o se vdev fa'apitoa, ona leiloa atoa lea o le vaita'ele.

O vaita'ele fa'aonaponei e mafai ona sao mai pe a leiloa se fa'amaufa'ailoga po'o se fa'amaumauga o masini mata'utia - e ui lava e mafai ona leiloa se vaega itiiti o fa'amaumauga palapala pe a leiloa le vdev log i le taimi o le pa'u eletise po'o le fa'alavelave fa'aletonu.

O lo'o i ai se manatu sese masani o le ZFS "fa'amaumauga fa'amaumauga" o lo'o tusia i luga o le vaita'ele atoa. E le moni lea mea. O Zpool e le malie RAID0, e malie LE JBOD fa'atasi ai ma se faiga fa'asoa fa'alavelave lavelave.

Mo le tele o vaega, o faʻamaumauga o loʻo tufatufaina i totonu o masini komepiuta avanoa e tusa ai ma le avanoa avanoa avanoa, o lea i le talitonuga o le a faʻatumu uma i le taimi e tasi. I lomiga mulimuli ane o le ZFS, o le fa'aogaina o le vdev (fa'aogaina) o lo'o i ai nei e amanaia - afai e sili atu le pisi o se masini komepiuta nai lo le isi (mo se fa'ata'ita'iga, ona o le uta faitau), o le a fa'amisi mo se taimi le tumau mo le tusitusi, e ui lava i le maualuga o le sa'olotoga. fua faatatau avanoa.

O le fa'aogaina o le fa'aogaina o le fa'aogaina o metotia fa'aonaponei e mafai ona fa'aitiitia ai le fa'agaoioiga ma fa'atuputeleina le fa'aogaina i taimi o le mamafa tele o uta - ae e leai. carte blanche i luga o le faʻafefiloi faʻafuaseʻi o HDD lemu ma SSD vave i le tasi vaitaele. O lea vaita'ele le tutusa o le a galue pea i le saoasaoa o le masini sili ona lemu, o lona uiga, e pei o loʻo faia atoa i ia masini.

vdev

O vaita'ele ta'itasi ta'itasi e aofia ai se tasi po'o le sili atu masini fa'apitoa (masini fa'akomepiuta, vdev). I le isi itu, o vdev taitasi e iai se tasi pe sili atu masini moni. O le tele o masini komepiuta e fa'aogaina mo le teuina o fa'amaumauga faigofie, ae e tele vasega fesoasoani vdev, e aofia ai le CACHE, LOG, ma le SPECIAL. O nei ituaiga vdev taitasi e mafai ona i ai se tasi o le lima topologies: tasi masini (tasi-masini), RAIDz1, RAIDz2, RAIDz3, po'o le fa'ata (fa'ata).

RAIDz1, RAIDz2 ma RAIDz3 o ituaiga faʻapitoa ia o mea e taʻua e tagata tuai o le faʻalua (diagonal) parity RAID. 1, 2 ma le 3 e fa'atatau i le aofa'i o poloka pa'aga o lo'o fa'asoaina mo fa'amaumauga ta'itasi. Nai lo o tisiketi eseese mo le tutusa, RAIDz masini komepiuta e tufatufa atu lenei parity afa- tutusa i luga o tisiketi. O le RAIDz array e mafai ona leiloa le tele o tisiki e pei ona i ai poloka tutusa; afai e leiloa se isi, o le a paʻu ma ave le vaitaele e teu ai.

I masini fa'aata fa'ata (fa'ata vdev), o poloka ta'itasi o lo'o teuina i masini ta'itasi i le vdev. E ui o fa'ata e lua-lautele e sili ona taatele, so'o se numera o masini e mafai ona i totonu o se fa'ata - fa'atolu e masani ona fa'aogaina i fa'apipi'i tetele mo le fa'aleleia atili o le faitau ma le fa'apalepale o sese. O se fa'ata vdev e mafai ona sao mai so'o se fa'aletonu pe a fa'aauau pea ona fa'aogaina le masini e tasi i le vdev.

O vdev nofofua e matua matautia lava. O sea masini komepiuta o le a le ola i se toilalo e tasi - ma afai e faʻaaogaina e teu ai poʻo se vdev faʻapitoa, o lona toilalo o le a taʻitaʻia ai le faʻaleagaina o le vaitaele atoa. Ia matua faaeteete lava iinei.

CACHE, LOG, ma VA SPECIAL e mafai ona faia e fa'aoga ai so'o se topologies o lo'o i luga - ae ia manatua o le leiloa o se VA FA'AMATALAGA o lona uiga o le leiloa o le vaita'ele, o lea e sili atu le fautuaina o se topology e le'i fa'aaogaina.

togafiti

Atonu o le faaupuga pito sili lea ona faigofie e malamalama ai i le ZFS - o le mea moni o se poloka poloka avanoa avanoa. Manatua o masini faʻapitoa e faia i masini taʻitasi, ae o le vaitaele e faia i masini faʻapitoa.

Disks - pe maneta po'o le malo malo - o masini poloka masani ia e fa'aaogaina e fai ma poloka faufale o vdev. Ae ui i lea, soʻo se masini e iai se faʻamatalaga i / dev o le a faia, o lea e mafai ai ona faʻaogaina uma meafaigaluega RAID arrays o ni masini eseese.

O se faila faigofie faigofie o se tasi o masini poloka poloka sili ona taua e mafai ona fausia ai se vdev. Su'ega vaitaele mai faila laiti o se auala sili ona aoga e siaki ai tulafono o le vaitaele ma vaʻai pe fia le tele o avanoa o loʻo maua i totonu o se vaitaele poʻo se masini komepiuta o se topology tuʻuina atu.

ZFS Basics: Teuina ma Fa'atinoga
E mafai ona e faia se vaita'ele su'ega mai faila fa'aletonu i ni nai sekone - ae 'aua ne'i galo e tape uma le vaita'ele ma ona vaega mulimuli ane.

Fa'apea e te mana'o e tu'u se 'au'aunaga i luga o tisiki e valu ma fuafua e fa'aoga 10 TB disks (~ 9300 GiB) - ae e te le o mautinoa po'o fea topology e fetaui ma ou mana'oga. I le faʻataʻitaʻiga o loʻo i luga, matou te fausia se vaitaʻele suʻega mai faila faʻapitoa i sekone - ma o lea ua matou iloa o le RAIDz2 vdev o le valu 10 TB disks e maua ai le 50 TiB o le gafatia faʻaoga.

O le isi vasega fa'apitoa o masini o le SPARE (fa'asao). O masini vevela, e le pei o masini masani, e aofia i le vaita'ele atoa, ae le o se masini komepiuta e tasi. Afai e le manuia se vdev i totonu o le vaitaele ma o se masini faʻaagaga e fesoʻotaʻi i le vaitaele ma avanoa, o le a otometi lava ona faʻatasi ma le vdev ua afaina.

A maeʻa ona faʻafesoʻotaʻi i le vdev ua afaina, o le masini faʻapolopolo e amata ona maua kopi poʻo toe faʻaleleia o faʻamaumauga e tatau ona i luga o le masini misi. I le RAID masani e taʻua lea o le toe fausia, ae i le ZFS e taʻua o le toe faʻaleleia.

E taua le maitauina o masini fa'aagaga e le suia tumau masini faaletonu. Ua na'o se suiga le tumau e fa'aitiitia ai le taimi e fa'aleagaina ai le vdev. A maeʻa ona sui e le pule le vdev ua le manuia, toe faʻafoʻisia le redundancy i lena masini tumau, ma ua motusia le SPARE mai le vdev ma toe foʻi e galue o se faʻaagaga mo le vaitaele atoa.

Fa'amaumauga, poloka ma vaega

O le isi seti o poloka faufale e malamalama ai i la matou malaga ZFS e itiiti ifo e uiga i meafaigaluega ma sili atu e uiga i le faʻatulagaina ma le teuina o faʻamaumauga. O loʻo matou misia ni nai vaega iinei - e pei o le metaslab - ina ia le faʻafefeteina faʻamatalaga aʻo tumau pea le malamalama i le fausaga atoa.

Seti fa'amaumauga (seti fa'amaumauga)

ZFS Basics: Teuina ma Fa'atinoga
A matou faia muamua se faʻamaumauga, e faʻaalia uma avanoa vaitaele avanoa. Ona matou setiina lea o le quota - ma sui le tulaga o le mauga. Fa'ataulāitu!

ZFS Basics: Teuina ma Fa'atinoga
O le Zvol mo le tele o vaega na'o se fa'amaumauga ua aveese mai lona fa'asologa o faila, lea o lo'o tatou suia i'i i se faila faila ext4 masani lelei.

O se fa'amaumauga a le ZFS e tutusa lelei ma se faiga faila fa'apipi'i masani. E pei o se faila faila masani, i le tepa muamua e foliga mai "naʻo se isi faila". Ae pei lava o faila faila masani, o faʻamaumauga ZFS taʻitasi e iai lana lava seti o mea taua.

Muamua lava, e mafai e se fa'amaumauga tu'ufa'atasi ona maua se quota tofia. Afai e seti zfs set quota=100G poolname/datasetname, ona le mafai lea ona e tusi i le faila faʻapipiʻi /poolname/datasetname sili atu i le 100 GiB.

Matau le i ai - ma le toesea - o faʻailoga i le amataga o laina taʻitasi? O fa'amaumauga ta'itasi o lo'o i ai lona tulaga i le ZFS hierarchy ma le system mount hierarchy. E leai se fa'ailoga ta'ita'i i le fa'atonuga a le ZFS - e te amata ile igoa ole vaita'ele ona sosoo ai lea ma le ala mai le tasi fa'amaumauga i le isi. Faataitaiga, pool/parent/child mo se fa'amaumauga ua ta'ua child i lalo ole fa'amaumauga matua parent i totonu o se vaitaele ma se igoa foafoa pool.

Ona o le le mafai, o le faʻamaufaʻailoga o le faʻamaufaʻailoga o le a tutusa ma lona igoa i le ZFS hierarchy, faʻatasi ai ma se taʻiala taʻutaʻua - o le vaitaele e taʻua. pool fa'apipi'i pei /pool, seti fa'amaumauga parent fa'apipi'i i totonu /pool/parent, ma le fa'amaumauga a tamaiti child fa'apipi'i i totonu /pool/parent/child. Ae ui i lea, e mafai ona suia le tulaga fa'apipi'i o le seti.

Afai tatou te faamaoti zfs set mountpoint=/lol pool/parent/child, sosoo ai ma le seti o faamatalaga pool/parent/child faʻapipiʻi i luga o le faiga e pei o /lol.

I le faʻaopoopoga i faʻamaumauga, e tatau ona tatou taʻua voluma (zvols). O se voluma e tutusa lelei ma se fa'amaumauga, se'i vagana ai e leai se faila faila-ua na o se poloka masini. E mafai, mo se faʻataʻitaʻiga, fatuina zvol Ma igoa mypool/myzvol, ona fa'atulaga lea i se faila faila ext4, ona fa'apipi'i lea o le faila faila - o lo'o i ai nei lau faila faila ext4, ae fa'atasi ai ma vaega saogalemu uma o le ZFS! Atonu e foliga faavalevalea i luga o se masini e tasi, ae e sili atu le taua o se pito i tua pe a auina atu i fafo se masini iSCSI.

Pulu

ZFS Basics: Teuina ma Fa'atinoga
O le faila o loʻo faʻatusalia e se tasi pe sili atu poloka. O poloka taʻitasi o loʻo teuina i luga o se masini komepiuta e tasi. Ole tele ole poloka e masani ona tutusa ma le parakalafa fa'amaumauga, ae mafai ona faaitiitia i 2^siipe afai o loʻo i ai metadata poʻo se faila laʻititi.

ZFS Basics: Teuina ma Fa'atinoga
E moni lava moni e le tausua e uiga i le faasalaga tele o faatinoga pe afai e te setiina se suiga laititi

I totonu ole vaitaele ZFS, o faʻamaumauga uma, e aofia ai metadata, o loʻo teuina i poloka. Ole maualuga ole poloka poloka mo fa'amaumauga ta'itasi o lo'o fa'amatalaina ile meatotino recordsize (le tele o faamaumauga). E mafai ona suia le tele o faʻamaumauga, ae o le a le suia ai le tele poʻo le nofoaga o soʻo se poloka ua uma ona tusia i le faʻamaumauga - e naʻo le afaina o poloka fou e pei ona tusia.

Se'i vagana ua fa'amaoti mai, o le tele o fa'amaumauga fa'aletonu o lo'o iai nei o le 128 KiB. Ose ituaiga o fefa'ataua'iga faigata lea e le'o atoatoa le fa'atinoga, ae e le mata'utia fo'i i le tele o tulaga. Recordsize e mafai ona seti i soʻo se tau mai le 4K i le 1M (faʻatasi ai ma tulaga maualuga recordsize e mafai ona e faʻapipiʻi atili, ae e seasea o se manatu lelei).

So'o se poloka e fa'asino i fa'amaumauga o na'o le tasi faila - e le mafai ona e fa'apipi'i faila eseese se lua i totonu o le poloka e tasi. O faila taʻitasi e aofia ai se tasi pe sili atu poloka, faʻatatau i le tele. Afai e laʻititi le faila nai lo le tele o faʻamaumauga, o le a teuina i se poloka laʻititi laʻititi - mo se faʻataʻitaʻiga, o se poloka ma se faila 2 KiB o le a naʻo le tasi le 4 KiB vaega i luga o le disk.

Afai e lava le faila ma manaʻomia ni poloka, o faʻamaumauga uma o loʻo i ai lenei faila o le a lapopoa recordsize - e aofia ai le faʻamatalaga mulimuli, o le vaega autu e ono iai avanoa le fa'aaogaina.

zvols e leai se meatotino recordsize — nai lo latou maua se meatotino tutusa volblocksize.

Vaega

O le mea mulimuli, pito sili ona taua o le vaega. O le iunite fa'aletino aupito itiiti lea e mafai ona tusi pe faitau mai le masini fa'avae. Mo le tele o tausaga, o le tele o tisiki na faʻaaogaina vaega 512-byte. Talu ai nei, o le tele o tisiki ua seti i le 4 KiB vaega, ma o nisi - aemaise SSD - e 8 KiB vaega pe sili atu.

O le ZFS system ei ai se meatotino e mafai ai ona e setiina ma le lima le tele o vaega. O lenei meatotino ashift. E fai si fenumiai, o le ashift o se malosiaga o le lua. Faataitaiga, ashift=9 o lona uiga o se vaega tele o le 2^9, po'o le 512 paita.

E fesiligia e le ZFS le faiga fa'aogaina mo fa'amatalaga au'ili'ili e uiga i masini poloka ta'itasi pe a fa'aopoopo i se vdev fou, ma otometi fa'apipi'i ashift fa'atatau i lena fa'amatalaga. O le mea e leaga ai, o le tele o taʻavale e pepelo e uiga i la latou vaega tele ina ia faʻamautu le fetaui ma Windows XP (lea e le mafai ona malamalama i taʻavale ma isi vaega tetele).

O lona uiga e fautuaina malosi le pule a le ZFS ina ia iloa le tele o le vaega o latou masini ma seti lima ashift. Afai e maualalo tele le suiga, o lona uiga o le numera o galuega faitau / tusitusi e faʻateleina i le vateatea. O lea la, o le tusiaina o le 512-byte "sectors" i totonu o se vaega moni 4 KiB o lona uiga o le tusia o le "sector" muamua, ona faitau lea o le vaega 4 KiB, suia i le 512-byte "sector" lona lua, tusi i tua i le fou. 4 KiB vaega, ma isi.

I le lalolagi moni, o se faasalaga faapena e lavea ai Samsung EVO SSDs, lea ashift=13, ae o nei SSD e pepelo e uiga i la latou vaega tele, ma o le mea lea ua setiina le faaletonu i ashift=9. Afai e le suia e se pule faʻapitoa le faʻatulagaina lenei tulaga, ona galue lea o le SSD fa'agesegese HDD maneta masani.

Mo faʻatusatusaga, mo le tele tele ashift e toetoe lava leai se sala. E leai se fa'asalaga moni o le fa'atinoga, ma o le fa'atuputeleina o avanoa e le'o fa'aaogaina e matua'i la'ititi (po'o le leai ma le fa'amalosi e mafai ai). O le mea lea, matou te fautuaina malosi e oʻo lava i na taʻavale e faʻaaogaina vaega 512-byte faʻapipiʻi ashift=12 po o le ashift=13ia feagai ma le lumanai ma le mautinoa.

Meatotino ashift ua seti mo vdev masini komepiuta taitasi, ma e le mo le vaitaele, e pei ona manatu sese le toatele - ma e le suia pe a uma ona faʻapipiʻi. Afai na e lavea faafuasei ashift pe a e fa'aopoopoina se vdev fou i se vaita'ele, ua e fa'aleagaina le vaita'ele i se masini maualalo ma e masani lava e leai se isi filifiliga ae na'o le fa'aleagaina o le vaita'ele ma toe amata. E oo lava i le aveeseina o le vdev o le a le laveaʻiina oe mai se faʻatulagaga malepe ashift!

Kopi-i-tusi masini

ZFS Basics: Teuina ma Fa'atinoga
Afai e manaʻomia e se faila faila masani ona faʻapipiʻi faʻamaumauga, e suia poloka taʻitasi i le mea o iai

ZFS Basics: Teuina ma Fa'atinoga
O le kopi-i-tusi faila faila e tusia se poloka poloka fou ona tatalaina lea o le kopi tuai

ZFS Basics: Teuina ma Fa'atinoga
I se aotelega, afai tatou te le amanaiaina le nofoaga moni o poloka, ona faafaigofieina lea o la tatou "data comet" i se "data worm" lea e alu ese mai le agavale i le taumatau i luga o le faafanua o avanoa avanoa.

ZFS Basics: Teuina ma Fa'atinoga
O lea la e mafai ona tatou maua se manatu lelei pe fa'afefea ona galue kopi-i-tusi - o poloka ta'itasi e mafai ona umia e ni ata se tele, ma o le a fa'aauau pea se'ia fa'aumatia uma ata fa'atasi.

O le faiga o le Copy on Write (CoW) o le faavae autu lea e avea ai le ZFS ma se faiga ofoofogia. O le manatu faavae e faigofie - afai e te talosagaina se faiga faila masani e sui se faila, o le a faia tonu le mea na e talosagaina. Afai e te talosagaina se kopi-i-tusi faila faila e fai tutusa, e fai mai "lelei" ae pepelo ia te oe.

Nai lo lena, o le kopi-i-tusi faila faila e tusia se kopi fou o le poloka suiga ona faʻafouina lea o metadata o le faila e tatala ai le poloka tuai ma faʻafesoʻotaʻi le poloka fou na e tusi i ai.

O le tapeina o le poloka tuai ma le fesoʻotaʻi o le mea fou e faia i le tasi gaioiga, o lea e le mafai ona faʻalavelave - afai e te paʻu i lalo pe a tupu lenei mea, e iai sau faʻamatalaga fou o le faila, ma afai e te vave paʻu i lalo, o loʻo ia te oe le lomiga tuai . I soo se tulaga, o le a leai ni feeseeseaiga i le faila faila.

Kopi-i-tusi i le ZFS e tupu e le gata i le faila faila, ae faʻapea foʻi i le tulaga o le pulega o tisiki. O lona uiga e le afaina le ZFS i avanoa paʻepaʻe (se pu i le RAID) - o se fa'alavelave pe a maua le taimi e fa'amaumau ai se vaega a'o le'i pa'u le faiga, fa'atasi ai ma le fa'aleagaina pe a uma ona toe fa'aola. O iinei o loʻo tusia ai le taʻavale atomically, vdev e masani ona faʻasolosolo, ma O Bob o lou tuagane.

ZIL: Fa'amaumauga o fa'amoemoega ZFS

ZFS Basics: Teuina ma Fa'atinoga
O le faiga a le ZFS e fa'aogaina tusitusiga fa'atasi i se auala fa'apitoa - e le tumau ae fa'apolopolo vave i le ZIL a'o le'i tusia fa'amautu mulimuli ane fa'atasi ai ma tusitusiga fa'atasi.

ZFS Basics: Teuina ma Fa'atinoga
E masani lava, o fa'amaumauga na tusia i le ZIL e le'o toe faitauina. Ae e mafai pe a uma se fa'aletonu faiga

ZFS Basics: Teuina ma Fa'atinoga
SLOG, poʻo le masini LOG lona lua, e naʻo se mea faʻapitoa - ma sili atu le vave tele - vdev, lea e mafai ona teuina ese le ZIL mai le teuina autu.

ZFS Basics: Teuina ma Fa'atinoga
A maeʻa se faʻalavelave, o faʻamatalaga eleelea uma i le ZIL e toe faʻaalia - i lenei tulaga, ZIL o loʻo i luga ole SLOG, o lea e toe faʻafoʻi mai ai.

E lua vaega autu o galuega tusitusi - synchronous (sync) ma asynchronous (async). Mo le tele o galuega, o le tele o tusitusiga e le tutusa - o le faila faila e mafai ai ona tuʻufaʻatasia ma tuʻuina atu i vaega, faʻaitiitia le vaevaega ma faʻateleina le gaosiga.

O fa'amaumauga fa'atasi o se mataupu e matua'i ese lava. Pe a talosagaina e se talosaga se tusi faʻatasi, e taʻu atu i le faila faila: "E tatau ona e tuʻuina atu lenei mea i le manatua e le faʻafefe. taimi neiseia oo i lena taimi, e leai se isi mea e mafai ona ou faia." O le mea lea, e tatau ona tuʻuina atu tusitusiga faʻatasi i le tisiki i le taimi lava lea-ma afai e faʻateleina le vaevaega pe faʻaititia le gaosiga, ia faʻapea.

E ese le fa'aogaina e le ZFS o tusitusiga fa'atasi nai lo faiga faila masani—nai lo le tu'u vave atu i le teuina masani, e tu'uina atu e le ZFS i se nofoaga fa'apitoa e teu ai e ta'ua o le ZFS Intent Log, po'o le ZIL. O le togafiti o nei faamaumauga faʻapea foi tumau i le manatua, fa'aputu fa'atasi ma fa'atonuga tusitusi masani, e fa'amuta mulimuli ane i le teuina e pei o TXGs masani (Vaega Fa'atauga).

I galuega masani, o le ZIL e tusi i ai ma e le toe faitau. A maeʻa ni nai minute, o faʻamaumauga mai le ZIL o loʻo tuʻuina atu i le teuina autu i TXGs masani mai le RAM, latou te vavae ese mai le ZIL. Pau lava le taimi e faitau ai se mea mai le ZIL o le taimi e aumai ai le vaitaele.

Afai e le manuia le ZFS - o se faʻalavelave faʻaogaina poʻo le motusia o le eletise - aʻo iai faʻamatalaga i le ZIL, o le a faitauina na faʻamatalaga i le isi vaitaele e faʻaulufaleina mai (mo se faʻataʻitaʻiga, pe a toe amataina le faʻalavelave faʻafuaseʻi). Soo se mea lava i le ZIL o le a faitauina, faʻapipiʻi i TXGs, tuʻuina atu i le teuina autu, ona tuʻu ese lea mai le ZIL i le taimi o le faʻaulufale mai.

O se tasi o vasega fesoasoani vdev e taʻua o le LOG poʻo le SLOG, o le masini lona lua a le LOG. E tasi le faʻamoemoe - ia tuʻuina atu le vaitaele i se vaʻa ese, ma sili atu le vave, vdev malosi tusitusi e teu ai le ZIL, nai lo le teuina o le ZIL i luga o le faleoloa vdev autu. O le ZIL lava ia e amio tutusa e tusa lava po o fea e teu ai, ae afai o le LOG vdev e maualuga tele le tusitusi, o le a sili atu le saoasaoa o tusitusiga.

Le fa'aopoopoina o se vdev ma LOG i le vaita'ele e le aoga le mafai faʻaleleia le faʻatinoina o le tusitusi - tusa lava pe e te faʻamalosia tusi uma i le ZIL ma zfs set sync=always, o le a latou fesoʻotaʻi pea i le teuina autu i le TXG i le auala lava e tasi ma i le saoasaoa tutusa e aunoa ma le ogalaau. Na'o le pau le fa'aleleia o le fa'atinoga o le fa'agaoioiga o tusitusiga fa'atasi (ona o le fa'avavevave o le ogalaau e fa'avave ai galuega). sync).

Ae ui i lea, i se siosiomaga ua uma ona manaʻomia le tele o tusitusiga faʻatasi, e mafai e le vdev LOG ona faʻavavevave faʻavave tusi asynchronous ma faitau e le faʻaogaina. O le ave'esea o fa'amaumauga a le ZIL i se isi vdev LOG o lona uiga e fa'aitiitia le fefinaua'i mo IOPS i luga o le teuina muamua, lea e fa'aleleia ai le fa'atinoga o faitau ma tusitusi uma.

Ata

O le kopi-i-tusi masini o se faavae talafeagai foi mo ZFS atomic snapshots ma fa'aopoopo asynchronous replication. O le faiga faila faila o lo'o i ai se la'au fa'asino e fa'ailoga uma fa'amaumauga ma fa'amaumauga o iai nei - a e pu'eina se ata, na'o lou faia o se kopi o lenei la'au fa'asino.

A fa'amaufa'ailogaina se fa'amaumauga i luga o le faiga faila faila, e muamua ona tusia e le ZFS le poloka poloka fou i avanoa e le'i fa'aaogaina. Ona aveese lea o le lomiga tuai o le poloka mai le faiga faila o loʻo iai nei. Ae afai o se ata e faasino i le poloka tuai, e tumau pea le le suia. O le poloka tuai o le a le toe fa'afoisia o se avanoa avanoa se'i vagana ua fa'aumatia uma ata e fa'asino i lenei poloka!

Toe faia

ZFS Basics: Teuina ma Fa'atinoga
O laʻu faletusi Steam i le 2015 e 158 GiB ma aofia ai 126 faila. E latalata tele lenei mea i le tulaga sili ona lelei mo rsync - ZFS replication i luga o le fesoʻotaʻiga na "naʻo" 927% vave.

ZFS Basics: Teuina ma Fa'atinoga
I luga o le fesoʻotaʻiga lava e tasi, o le toe faia o se 40GB Windows 7 masini ata faila faila o se tala e matua ese lava. O le fa'asologa o le ZFS e 289 taimi sili atu nai lo le rsync - po'o le "na'o" 161 taimi sili atu pe afai e lava lou atamai e vala'au rsync ma --inplace.

ZFS Basics: Teuina ma Fa'atinoga
Pe a faʻatupuina se ata VM, faʻapipiʻi e rsync le fua faʻatasi. 1,9 TiB e le tele mo se ata VM faʻaonaponei - ae e lava le tele o le faʻasologa o le ZFS e 1148 taimi vave nai lo rsync, e oʻo lava i le rsync's --inplace argument

O le taimi lava e te malamalama ai i le auala e galue ai snapshots, e tatau ona faigofie ona malamalama i le aano o le toe faia. Talu ai o se ata e na o se laau e faasino i faamaumauga, e mulimuli mai pe a tatou faia zfs send snapshot, ona matou auina atu lea o lenei laau ma faamaumauga uma e fesootai i ai. A matou auina atu lenei zfs send в zfs receive i luga o le sini, e tusia uma mea moni o le poloka ma le laau o faʻailoga e faʻasino i poloka i le faʻasologa o faʻamaumauga.

E sili atu le manaia o mea ile lona lua zfs send. Ua i ai nei a matou faiga e lua, o loʻo i ai i le tasi poolname/datasetname@1, ma e te faia se ata fou poolname/datasetname@2. O le mea lea, i le vaitaele muamua o loʻo ia te oe datasetname@1 и datasetname@2, ma i totonu o le vaitaele faʻamoemoe e naʻo le ata muamua datasetname@1.

Talu ai e iai la tatou ata masani i le va o le puna ma le faʻamoemoe datasetname@1, e mafai ona tatou faia fa'aopoopo zfs send i luga atu. A tatou fai atu i le faiga zfs send -i poolname/datasetname@1 poolname/datasetname@2, e fa'atusa ai la'au fa'asino e lua. So'o se fa'ailoga e na'o iai i totonu @2, e manino lava e faasino i poloka fou - o lea matou te manaʻomia ai mea o loʻo i totonu o nei poloka.

I luga o se faiga mamao, faʻagaioiina se faʻaopoopoga send e pei lava ona faigofie. Muamua matou te tusia uma tala fou o loʻo aofia i le vaitafe send, ona faaopoopo lea o faailoga i na poloka. Voila, ua tatou maua @2 i le faiga fou!

O le ZFS asynchronous incremental replication o se faʻaleleia atili i luga o auala muamua e le faʻaogaina e pei ole rsync. I tulaga uma e lua, e naʻo faʻamatalaga suiga e faʻafeiloaʻi - ae o le rsync e tatau ona muamua faitau mai le tisiki faʻamatalaga uma i itu uma e lua e siaki le aofaʻi ma faʻatusatusa. I se fa'atusatusaga, e leai se mea e faitau ai le fa'asologa o le ZFS ae na'o la'au fa'asino - ma so'o se poloka e le o iai i le ata fa'asoa.

Fa'apipi'i totonu

O le masini kopi-i-tusi e fa'afaigofieina ai fo'i le faiga fa'apipi'i i totonu. I se faiga faila fa'aleaganu'u, o le fa'amalosi e fa'afitauli - o le fa'asologa tuai ma le fa'amatalaga fou o fa'amaumauga fa'aopoopo e nonofo i le avanoa e tasi.

Afai tatou te mafaufau i se vaega o faʻamatalaga i le ogatotonu o se faila e amata ai le olaga o se megabyte o zeros mai le 0x00000000 ma isi, e matua faigofie lava ona faʻapipiʻi i se tasi vaega i luga o le disk. Ae o le a le mea e tupu pe a tatou suia lena megabyte o zeros i se megabyte o faʻamatalaga e le mafai ona faʻaogaina e pei o le JPEG poʻo le pseudo-random leo? Faʻafuaseʻi, o lenei megabyte o faʻamaumauga o le a le manaʻomia se tasi, ae 256 4 KiB vaega, ma i lenei nofoaga i luga o le disk e na o le tasi le vaega e faʻaagaga.

E leai se faʻafitauli a le ZFS, aua o faʻamaumauga faʻaleleia e masani lava ona tusia i avanoa e le faʻaaogaina - o le uluai poloka e naʻo le tasi le 4 KiB vaega, ma o le tala fou o le a nofoia 256, ae e le o se faʻafitauli - o se vaega talu ai nei na suia mai le " ogatotonu" o le faila o le a tusia i le avanoa e le faʻaaogaina e tusa lava pe ua suia lona tele pe leai, o lea mo ZFS o se tulaga masani.

O le fa'apipi'i a le ZFS fa'aleaganu'u ua fa'aletonu ona o le fa'aletonu, ma o lo'o ofoina mai e le faiga fa'apipi'i algorithms—le taimi nei LZ4, gzip (1-9), LZJB, ma le ZLE.

  • LZ4 ose fa'agaioiga fa'agasolo e ofoina atu le fa'apipi'i vave ma le fa'aletonu ma fa'amanuiaga fa'atinoga mo le tele o fa'aoga fa'aoga - e o'o lava ile PPU fa'agesegese.
  • GZIP ose fa'aaloalo algorithm e iloa ma fiafia uma tagata fa'aoga Unix. E mafai ona faʻatinoina faʻatasi ai ma le faʻapipiʻiina o laʻasaga 1-9, faʻatasi ai ma le faʻaogaina o le faʻaogaina ma le faʻaogaina o le CPU e faʻateleina aʻo oʻo atu i le laʻasaga 9. O le algorithm e fetaui lelei mo tusitusiga uma (poʻo isi mea e sili ona faʻapipiʻiina) faʻaoga mataupu, ae i se isi itu e masani ona mafua ai faʻafitauli CPU − faʻaaogaina. ma le faaeteete, aemaise lava i tulaga maualuluga.
  • LZJB o le uluai algorithm i le ZFS. Ua le toe aoga ma ua le toe fa'aaogaina, o le LZ4 e sili atu i soo se itu.
  • LEAGA - fa'ailoga e leai se tulaga, fa'ailoga e leai se tulaga. E le pa'i atu i fa'amatalaga masani, ae fa'apipi'i fa'asologa tele o zeros. Fa'aoga mo fa'amaumauga e le mafai ona fa'apipi'iina atoa (pei o le JPEG, MP4, po'o isi fo'i ua uma ona fa'apipi'iina) aua e le amana'ia fa'amaumauga e le mafai ona fa'aosoina ae fa'apipi'i avanoa e le fa'aaogaina i fa'amaumauga e maua mai ai.

Matou te fautuaina le LZ4 faʻamalosi mo toetoe o faʻaoga uma; o le faʻasalaga faʻatinoga pe a faʻafeiloaʻi faʻamatalaga incompressible e matua laʻititi lava, ma tuputupu a'e fa'atinoga mo fa'amaumauga masani e taua tele. O le kopiina o se ata masini masini mo se faʻapipiʻi fou o le Windows operating system (OS faʻapipiʻi fou, leai ni faʻamatalaga i totonu) ma compression=lz4 pasi 27% vave nai lo le compression=none, i lenei suega i le 2015.

ARC - fa'apipi'i sui cache

O le ZFS e na'o le pau lea o le faila faila fa'aonaponei matou te iloa e fa'aogaina ai lana lava fa'aoga fa'aoga, nai lo le fa'alagolago i le fa'aogaina o le itulau fa'aoga e teu ai kopi o poloka talu ai nei faitau i le RAM.

E ui lava e leʻo aunoa ma ni faʻafitauli le faʻaogaina o le tagata - e le mafai e le ZFS ona tali atu i talosaga fou e faʻasoa ai mafaufauga i le vave e pei o le fatu, o lea o le luʻitau fou malloc() i luga ole fa'asoaga manatua e ono le manuia pe a mana'omia le RAM o lo'o nofoia e le ARC. Ae o loʻo i ai mafuaaga lelei e faʻaaoga ai lau lava faʻaoga, a itiiti mai mo le taimi nei.

O faiga fa'aonaponei fa'aonaponei uma, e aofia ai MacOS, Windows, Linux ma le BSD, fa'aaoga le LRU (Least Recently Used) algorithm e fa'atino ai le fa'aoga itulau. O se algorithm muamua lea e tuleia le poloka poloka "i luga o le laina" pe a uma ona faitau taitasi, ma tulei poloka "i lalo o le laina" pe a manaʻomia e faʻaopoopo ai ni misia fou (poloka e tatau ona faitau mai le disk, ae le o le cache) luga.

O le algorithm e masani lava ona lelei, ae i luga o faiga e tele faʻamaumauga galue, LRU faigofie ona taʻitaʻia i le sasaina - faʻateʻaina poloka masani e manaʻomia e faʻaavanoa mo poloka e le toe faitauina mai le cache.

ARC o se algorithm e itiiti ifo le valea e mafai ona manatu o se "mamafa" cache. O taimi uma lava e faitau ai se poloka poloka, e fai lava si "mamafa" ma faigata ona tuliesea - ma e tusa lava pe uma ona tuliesea se poloka. tulituliloa i totonu o se vaitaimi patino. O se poloka ua fa'ate'aina ae toe mana'omia ona toe faitau i totonu o le fa'amaufa'ailoga o le a avea fo'i ma "mamafa".

O le i'uga o nei mea uma o se fa'aoga e sili atu le maualuga o le fa'atusatusaga, o le fa'atusatusa i le va o fa'ailoga (faitau na faia mai le fa'aoga) ma le misia o le cache (faitau mai le tisiki). O se fuainumera taua tele lea - e le gata o le cache e lavea i latou lava e sili atu le saosaoa, o le cache misi e mafai foi ona vave tuʻuina atu, talu ai o le tele o le cache o loʻo i ai, o le itiiti ifo o talosaga faʻatasi ma le faʻaitiitia o le taofiofia mo na mea o totoe. e tatau ona tuʻuina atu i le disk.

iʻuga

A maeʻa ona aʻoaʻoina le faʻaogaina o le ZFS - faʻafefea ona galue kopi-i-tusi, faʻapea foʻi ma sootaga i le va o vaitaele teu, masini komepiuta, poloka, vaega, ma faila - ua matou sauni e talanoaina faʻatinoga moni i le lalolagi ma numera moni.

I le isi vaega, o le a tatou vaʻavaʻai i le faʻatinoina o vaitaele ma faʻataʻitaʻiga vdevs ma RAIDz, faʻasaga le tasi i le isi, faʻapea foʻi ma le masani Linux kernel RAID topologies na matou suʻesuʻeina. muamua.

I le taimi muamua, matou te manaʻo e aofia ai naʻo mea faʻavae - o le ZFS topologies lava ia - ae mulimuli ane e pei o sei o tatou sauni e talanoa e uiga i le faʻatulagaina sili atu ma le faʻaogaina o le ZFS, e aofia ai le faʻaogaina o ituaiga vdev fesoasoani e pei ole L2ARC, SLOG ma Faʻatonu Faʻapitoa.

puna: www.habr.com

Faaopoopo i ai se faamatalaga