ZFS

A ZFS gyorsítótár beállítása nagy sebességű IO-hoz

A ZFS gyorsítótár beállítása nagy sebességű IO-hoz

Gyorsítótár beállítása a ZFS-készleten

Ha már áttekintette a ZFS alapjaival kapcsolatos korábbi bejegyzéseinket, akkor már tudja, hogy ez egy robusztus fájlrendszer. Ellenőrző összegeket hajt végre a lemezre írt minden adattömbön, és a fontos metaadatokat, például magukat az ellenőrző összegeket, több különböző helyre írják. A ZFS elveszítheti az adatait, de garantáltan soha nem ad vissza téves adatokat, mintha a megfelelőek lennének.

A ZFS-készlet redundanciájának nagy része az alapul szolgáló VDEV-kből származik. Ugyanez vonatkozik a tárolókészlet teljesítményére is. Mind az olvasási, mind az írási teljesítmény nagymértékben javulhat nagy sebességű SSD-k vagy NVMe-eszközök hozzáadásával. Ha olyan hibrid lemezeket használt, ahol az SSD és a forgó lemez egyetlen hardverként van csomagolva, akkor tudja, mennyire rosszak a hardver szintű gyorsítótárazás mechanizmusai. A ZFS nem ilyen, különféle tényezők miatt, amelyeket itt meg fogunk vizsgálni.

Két különböző gyorsítótár van, amelyet a medence használhat:

  1. A ZFS szándéknaplója vagy ZIL a WRITE műveletek pufferolásához.
  2. ARC és L2ARC, amelyek READ műveletekre szolgálnak.

Szinkron vs aszinkron írások

A ZFS, mint a legtöbb más fájlrendszer, megpróbálja az írási műveletek pufferét fenntartani a memóriában, majd kiírni a lemezekre ahelyett, hogy közvetlenül a lemezekre írná. Ezt nevezik aszinkron ír, és ez tisztességes teljesítménynövekedést jelent azoknál az alkalmazásoknál, amelyek hibatűrőek vagy ahol az adatvesztés nem okoz sok kárt. Az operációs rendszer egyszerűen tárolja az adatokat a memóriában, és elmondja az írást kérő alkalmazásnak, hogy az írás befejeződött. Ez az operációs rendszerek alapértelmezett viselkedése, még a ZFS futtatása esetén is.

Az a tény azonban továbbra is fennáll, hogy a rendszer meghibásodása vagy áramkimaradás esetén a fő memóriában lévő összes pufferelt írás elvész. Tehát azok az alkalmazások, amelyek a teljesítményre való következetességre vágynak, megnyithatják a fájlokat szinkron módot, majd az adatok csak akkor tekinthetők írottaknak, ha ténylegesen a lemezen vannak. A legtöbb adatbázis és alkalmazás, például az NFS, mindig a szinkron írásokra támaszkodik.

Beállíthatja a zászlót: szinkron = mindig hogy a szinkron írásokat az adott adatkészlet alapértelmezett viselkedésévé tegye.

$ zfs set sync = mindig mypool / dataset1

Természetesen jó teljesítményre vágyhat, függetlenül attól, hogy a fájlok szinkron módban vannak-e vagy sem. Ott jön a képbe a ZIL.


ZFS Intent Log (ZIL) és SLOG eszközök

A ZFS szándéknaplója a tárolókészlet egy részére utal, amelyet a ZFS az új vagy módosított adatok tárolásához használ, mielőtt azokat elosztaná a fő tárolókészletben, és az összes VDEV-t leválasztaná.

Alapértelmezés szerint a medencéből mindig kis mennyiségű tárhely van kivágva, hogy a ZIL-hez hasonlóan működjön, még akkor is, ha csak egy csomó forgó lemezt használ. Jobban járhat azonban, ha kicsi NVMe vagy bármilyen más típusú SSD áll az Ön rendelkezésére.

A kicsi és gyors tárhely külön szándéknaplóként (vagy SLOG-ként) használható, ahol az újonnan érkezett adatokat ideiglenesen tárolják, mielőtt a medence nagyobb fõtárolójába vezetnék. Slog eszköz hozzáadásához futtassa a parancsot:

$ zpool add tank tank ada3

Hol tartály a medencéd neve, napló az a kulcsszó, amely arra utasítja a ZFS-t, hogy kezelje az eszközt ada3 mint SLOG eszköz. Az SSD eszközcsomópontja nem feltétlenül az ada3, használja a megfelelő csomópont nevet.

Most ellenőrizheti a medence eszközeit az alábbiak szerint:

Akkor is aggódhat, hogy a nem felejtő memóriában lévő adatok meghibásodnak, ha az SSD meghibásodik. Ebben az esetben több SSD-t használhat, amelyek tükrözik egymást, vagy bármilyen RAIDZ-konfigurációban.

$ zpool tank tank log tükör ada3 ada4

A legtöbb használati esetben a kicsi, 16–64 GB-os, valóban gyors és tartós flash-tárhely a legalkalmasabb jelölt a SLOG-eszközhöz.


Adaptív csere gyorsítótár (ARC) és az L2ARC

Amikor megpróbáljuk gyorsítótárba helyezni az olvasási műveleteket, a célunk megváltozik. Ahelyett, hogy megbizonyosodnánk arról, hogy jó teljesítményt és megbízható tranzakciókat kapunk, most a ZFS indítéka a jövő megjóslása felé mozdul el. Ez azt jelenti, hogy az alkalmazásnak a közeljövőben szükséges adatai tárolódnak, miközben elveti azokat, amelyekre a legrövidebb időn belül lesz szükség.

Ehhez a fő memória egy részét a közelmúltban használt adatok gyorsítótárazásához használják, vagy az adatokhoz a leggyakrabban hozzáférnek. Innen ered az adaptív csere-gyorsítótár (ARC) kifejezés. A hagyományos olvasási gyorsítótár mellett, ahol csak a legutóbb használt objektumok vannak gyorsítótárban, az ARC arra is figyel, hogy az adatokhoz milyen gyakran kerültek hozzáférésre.

Az L2ARC vagy 2. szintű ARC az ARC kiterjesztése. Ha van egy dedikált tárolóeszköze, amely L2ARC-ként működik, akkor az összes olyan adatot tárol, amely nem túl fontos az ARC-ben való tartózkodáshoz, ugyanakkor az adatok elég hasznosak ahhoz, hogy helyet kapjanak a memóriánál lassabban. NVMe eszköz.

Eszköz hozzáadásához L2ARC néven a ZFS-készlethez futtassa a parancsot:

$ zpool add tank cache ada3

Hol tartály a medencéd neve és ada3 az eszközcsomópont neve az L2ARC tárolóhoz.


Összegzés

Hosszú történet rövidítése érdekében az operációs rendszer gyakran pufferolja az írási műveleteket a fő memóriában, ha a fájlokat aszinkron módban nyitják meg. Ez nem tévesztendő össze a ZFS tényleges írási gyorsítótárával, a ZIL-lel.

A ZIL alapértelmezés szerint a készlet nem illékony tárolásának része, ahol az adatok ideiglenes tárolásra kerülnek, mielőtt azokat megfelelően elterjesztenék az összes VDEV-en. Ha SSD-t használ dedikált ZIL eszközként, akkor az SLOG néven ismert. Mint minden VDEV, a SLOG lehet tükör vagy raidz konfiguráció.

A fő memóriában tárolt olvasási gyorsítótár ARC néven ismert. A korlátozott RAM-méret miatt azonban mindig adhat hozzá SSD-t L2ARC-ként, ahol a RAM-ba nem férő dolgok tárolódnak.

5 legjobb arcade játék Linuxhoz
Manapság a számítógépek komoly gépek, amelyeket játékra használnak. Ha nem sikerül megszerezni az új magas pontszámot, akkor tudni fogja, mire gondolo...
Csata a Wesnothért 1.13.6 Megjelent a fejlesztés
Csata a Wesnothért 1.13.A múlt hónapban megjelent 6 a hatodik fejlesztési kiadás az 1-ben.13.x sorozat, és számos fejlesztést hajt végre, nevezetesen ...
A League of Legends telepítése az Ubuntu 14-re.04
Ha rajongsz a League of Legendsért, akkor ez egy lehetőség arra, hogy teszteld a League of Legends játékot. Ne feledje, hogy a LOL a PlayOnLinux rends...