O lenei tautotogo ua uma ona tatou talanoaina nisi o autu folasaga, mo se faataitaiga,
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
O lenei ata atoa o le vaitaele e aofia ai vdevs ausilali se tolu, tasi o vasega taitasi, ma le fa mo RAIDz2
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
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
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)
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!
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
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.
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
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=13
ia 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
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
O le kopi-i-tusi faila faila e tusia se poloka poloka fou ona tatalaina lea o le kopi tuai
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.
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 (
ZIL: Fa'amaumauga o fa'amoemoega ZFS
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.
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
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.
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
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.
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.
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
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.
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.
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