ZFS

ZFS kešatmiņas konfigurēšana ātrgaitas IO

ZFS kešatmiņas konfigurēšana ātrgaitas IO

Kešatmiņas konfigurēšana jūsu ZFS baseinā

Ja esat iepazinies ar mūsu iepriekšējiem ierakstiem par ZFS pamatiem, jūs jau zināt, ka šī ir izturīga failu sistēma. Tas veic kontrolsummas par katru datu bloku, kas tiek ierakstīts diskā, un svarīgi metadati, piemēram, paši kontrolsummas, tiek rakstīti dažādās vietās. ZFS var zaudēt jūsu datus, taču tiek garantēts, ka tas nekad neatdos nepareizus datus, it kā tie būtu īstie.

Lielāko daļu ZFS pūla atlaišanas rada pamatā esošie VDEV. Tas pats attiecas uz krātuves kopas veiktspēju. Gan lasīšanas, gan rakstīšanas veiktspēja var ievērojami uzlaboties, pievienojot ātrgaitas SSD vai NVMe ierīces. Ja esat izmantojis hibrīddiskus, kuros SSD un vērpšanas disks ir apvienoti kā viena aparatūra, tad jūs zināt, cik slikti ir aparatūras līmeņa kešatmiņas mehānismi. ZFS nav nekas līdzīgs šim dažādu faktoru dēļ, kurus mēs šeit izpētīsim.

Ir divas dažādas kešatmiņas, kuras baseins var izmantot:

  1. ZFS nodomu žurnāls vai ZIL, lai buferētu WRITE operācijas.
  2. ARC un L2ARC, kas domāti READ darbībām.

Sinhronie un asinhronie raksti

ZFS, tāpat kā lielākā daļa citu failu sistēmu, mēģina saglabāt atmiņā rakstīšanas operāciju buferi un pēc tam to izrakstīt diskos, nevis tieši rakstīt diskos. Tas ir pazīstams kā asinhroni rakstīt, un tas dod pienācīgu veiktspējas pieaugumu lietojumprogrammām, kuras ir izturīgas pret kļūdām vai kurās datu zudumi nerada lielu kaitējumu. OS vienkārši saglabā datus atmiņā un paziņo lietojumprogrammai, kas pieprasīja rakstīšanu, ka rakstīšana ir pabeigta. Tā ir daudzu operētājsistēmu noklusējuma uzvedība, pat darbinot ZFS.

Tomēr fakts paliek fakts, ka sistēmas atteices vai strāvas zuduma gadījumā tiek zaudēti visi buferētie ieraksti galvenajā atmiņā. Tātad lietojumprogrammas, kas vēlas konsekvenci attiecībā uz veiktspēju, var atvērt failus sinhroni režīmā un pēc tam dati tiek uzskatīti par uzrakstītiem tikai tad, kad tie faktiski atrodas diskā. Lielākā daļa datu bāžu un lietojumprogrammu, piemēram, NFS, visu laiku paļaujas uz sinhroniem rakstiem.

Jūs varat iestatīt karodziņu: sync = vienmēr padarīt sinhronu rakstīšanu par noklusējuma uzvedību jebkurai datu kopai.

$ zfs set sync = vienmēr mypool / dataset1

Protams, jūs varat vēlēties panākt labu sniegumu neatkarīgi no tā, vai faili ir vai nav sinhronajā režīmā. Tur ZIL nonāk attēlā.


ZFS Intent Log (ZIL) un SLOG ierīces

ZFS nodomu žurnāls attiecas uz jūsu krātuves kopas daļu, kuru ZFS izmanto, lai vispirms uzglabātu jaunus vai modificētus datus, pirms tos izklāj visā galvenajā krātuvē, noņemot visus VDEV.

Pēc noklusējuma no baseina vienmēr tiek izgrebts neliels krātuves daudzums, kas darbotos kā ZIL, pat ja glabāšanai izmantojat tikai virkni vērpšanas disku. Tomēr jūs varat darīt labāk, ja jūsu rīcībā ir mazs NVMe vai jebkura cita veida SSD.

Mazo un ātro krātuvi var izmantot kā atsevišķu nodomu žurnālu (vai SLOG), kur jaunpienākušie dati uz laiku tiktu uzglabāti, pirms tie tiek izvadīti uz baseina lielāko galveno krātuvi. Lai pievienotu slog ierīci, izpildiet komandu:

$ zpool pievieno tvertnes žurnālu ada3

Kur tvertne ir jūsu baseina nosaukums, žurnāls ir atslēgvārds, kas liek ZFS apstrādāt ierīci ada3 kā SLOG ierīci. Jūsu SSD ierīces mezgls var nebūt ada3, izmantojiet pareizo mezgla nosaukumu.

Tagad jūs varat pārbaudīt ierīces savā baseinā, kā parādīts zemāk:

Jūs joprojām varat būt noraizējies, ka dati, kas pastāvīgi atmiņā neizdosies, ja SSD neizdosies. Tādā gadījumā jūs varat izmantot vairākus SSD, kas atspoguļo viens otru vai jebkurā RAIDZ konfigurācijā.

$ zpool pievienot tvertnes žurnāla spoguli ada3 ada4

Lielākajā daļā lietošanas gadījumu SLOG ierīcei vispiemērotākie ir mazie 16–64 GB ļoti ātrās un izturīgās zibatmiņas krātuves atmiņas.


Adaptīvā rezerves kešatmiņa (ARC) un L2ARC

Mēģinot saglabāt kešatmiņā lasīšanas operācijas, mūsu mērķis mainās. Tā vietā, lai pārliecinātos, ka mēs saņemam labu sniegumu, kā arī uzticamus darījumus, tagad ZFS motīvs pāriet uz nākotnes prognozēšanu. Tas nozīmē, ka kešatmiņā saglabājama informācija, kas lietojumprogrammai būtu nepieciešama tuvākajā nākotnē, vienlaikus izmetot informāciju, kas pēc laika būs nepieciešama vistālāk.

Lai to izdarītu, daļa no galvenās atmiņas tiek izmantota kešatmiņā datiem, kas tika izmantoti vai nu nesen, vai arī datiem piekļūst visbiežāk. No turienes nāk termins Adaptīvā rezerves kešatmiņa (ARC). Papildus tradicionālajai lasīšanas kešatmiņai, kur kešatmiņā tiek saglabāti tikai pēdējie izmantotie objekti, ARC pievērš uzmanību arī tam, cik bieži datiem ir piekļūts.

L2ARC vai 2. līmeņa ARC ir ARC paplašinājums. Ja jums ir īpaša atmiņas ierīce, kas darbojas kā jūsu L2ARC, tā glabā visus datus, kas nav pārāk svarīgi, lai paliktu ARC, bet tajā pašā laikā šie dati ir pietiekami noderīgi, lai nopelnītu vietu lēnāk nekā atmiņā NVMe ierīce.

Lai pievienotu ierīci kā L2ARC savam ZFS baseinam, palaidiet komandu:

$ zpool pievienot tvertnes kešatmiņu ada3

Kur tvertne ir jūsu baseina vārds un ada3 ir ierīces mezgla nosaukums jūsu L2ARC krātuvei.


Kopsavilkums

Lai saīsinātu garu stāstu, operētājsistēma bieži buferē rakstīšanas operācijas galvenajā atmiņā, ja faili tiek atvērti asinhronā režīmā. To nedrīkst sajaukt ar ZFS faktisko rakstīšanas kešatmiņu ZIL.

Pēc noklusējuma ZIL ir nepastāvīga baseina krātuves daļa, kurā dati tiek nodoti pagaidu glabāšanai, pirms tie tiek pareizi izplatīti pa visiem VDEV. Ja SSD izmantojat kā īpašu ZIL ierīci, to sauc par SLOG. Tāpat kā jebkurš VDEV, arī SLOG var būt spoguļa vai raidz konfigurācijā.

Lasītā kešatmiņa, kas saglabāta galvenajā atmiņā, ir pazīstama kā ARC. Tomēr ierobežotā RAM apjoma dēļ jūs vienmēr varat pievienot SSD kā L2ARC, kur tiek saglabātas kešatmiņā lietas, kuras nevar ietilpināt RAM.

Labākie Linux spēļu draiveri 2021. gadā
Linux operētājsistēma ir gājusi tālu no sākotnējā, vienkāršā uz serveriem balstītā izskata. Šī operētājsistēma pēdējos gados ir ārkārtīgi uzlabojusies...
Kā tvert un straumēt spēļu sesiju operētājsistēmā Linux
Agrāk spēļu spēlēšana tika uzskatīta tikai par hobiju, taču laika gaitā spēļu industrija piedzīvoja milzīgu tehnoloģiju un spēlētāju skaita pieaugumu....
Labākās spēles, ko spēlēt ar rokas izsekošanu
Oculus Quest nesen iepazīstināja ar lielisku ideju par rokas izsekošanu bez kontrolieriem. Ar arvien lielāku spēļu un aktivitāšu skaitu, kas atbalsta ...