Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Technológie na zlepšenie výkonu založené na použití SSD a široko používané v úložných systémoch sú už dlho vynájdené. V prvom rade je to využitie SSD ako úložného priestoru, ktoré je síce stopercentne efektívne, no drahé. Používajú sa preto únavné a cachovacie technológie, kde sa SSD disky používajú len na tie najpopulárnejšie („horúce“) dáta. Tiering je vhodný pre scenáre dlhodobého (dni-týždňového) používania „horúcich“ údajov. Ukladanie do vyrovnávacej pamäte je naopak na krátkodobé (minúty-hodiny) použitie. Obe tieto možnosti sú implementované v úložnom systéme QSAN XCubeSAN. V tomto článku sa pozrieme na implementáciu druhého algoritmu - SSD cache.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Podstatou technológie ukladania SSD do vyrovnávacej pamäte je použitie SSD ako medzipamäte medzi pevnými diskami a RAM radiča. Výkon SSD je samozrejme nižší ako výkon vlastnej cache radiča, ale objem je rádovo vyšší. Dostávame teda určitý kompromis medzi rýchlosťou a hlasitosťou.

Indikácie používania vyrovnávacej pamäte SSD na čítanie:

  • Prevaha operácií čítania nad operáciami zápisu (najčastejšie typické pre databázy a webové aplikácie);
  • Prítomnosť úzkeho miesta vo forme výkonu poľa pevných diskov;
  • Množstvo požadovaných údajov je menšie ako veľkosť vyrovnávacej pamäte SSD.

Indikácie pre používanie vyrovnávacej pamäte SSD na čítanie a zápis sú rovnaké, s výnimkou povahy operácií – zmiešaný typ (napríklad súborový server).

Väčšina predajcov úložísk používa vo svojich produktoch vyrovnávaciu pamäť SSD iba na čítanie. Zásadný rozdiel QSAN Poskytujú možnosť použiť vyrovnávaciu pamäť aj na písanie. Ak chcete aktivovať funkciu ukladania SSD do vyrovnávacej pamäte v úložných systémoch QSAN, musíte si zakúpiť samostatnú licenciu (dodávanú elektronicky).

SSD cache v XCubeSAN je fyzicky implementovaná vo forme samostatných SSD cache poolov. V systéme ich môžu byť až štyri. Každý fond, samozrejme, používa svoju vlastnú sadu SSD. A už vo vlastnostiach virtuálneho disku určujeme, či bude využívať cache pool a ktorý. Povolenie a zakázanie používania vyrovnávacej pamäte pre zväzky je možné vykonať online bez zastavenia I/O. Disky SSD môžete tiež pridať do fondu a odtiaľ ich odobrať. Pri vytváraní vyrovnávacej pamäte fondu SSD si musíte vybrať, v akom režime bude fungovať: iba na čítanie alebo na čítanie+zápis. Od toho závisí jeho fyzická organizácia. Keďže môže existovať niekoľko oblastí vyrovnávacej pamäte, ich funkčnosť môže byť odlišná (to znamená, že systém môže mať súčasne oblasti vyrovnávacej pamäte na čítanie a čítanie a zápis).

Ak sa používa oblasť vyrovnávacej pamäte iba na čítanie, môže pozostávať z 1-8 SSD. Disky nemusia mať rovnakú kapacitu a rovnakého dodávateľa, pretože sú spojené do štruktúry NRAID+. Všetky SSD v skupine sú zdieľané. Systém sa nezávisle snaží paralelizovať prichádzajúce požiadavky medzi všetkými SSD, aby dosiahol maximálny výkon. Ak jeden z SSD zlyhá, nestane sa nič zlé: vyrovnávacia pamäť napokon obsahuje iba kópiu údajov uložených na poli pevných diskov. Ide len o to, že množstvo dostupnej vyrovnávacej pamäte SSD sa zníži (alebo sa zníži na nulu, ak používate pôvodnú vyrovnávaciu pamäť SSD z jedného disku).

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Ak sa vyrovnávacia pamäť používa na operácie čítania a zápisu, potom by počet SSD diskov v oblasti mal byť násobkom dvoch, pretože obsah sa zrkadlí na pároch diskov (používa sa štruktúra NRAID 1+). Duplikovanie vyrovnávacej pamäte je nevyhnutné, pretože môže obsahovať údaje, ktoré ešte neboli zapísané na pevné disky. A v tomto prípade by zlyhanie SSD z vyrovnávacej pamäte viedlo k strate informácií. V prípade NRAID 1+ zlyhanie SSD jednoducho povedie k tomu, že sa vyrovnávacia pamäť prenesie do stavu len na čítanie, pričom nezapísané údaje sa vysypú na pole pevného disku. Po výmene chybného SSD disku sa vyrovnávacia pamäť vráti do pôvodného prevádzkového režimu. Mimochodom, pre väčšiu bezpečnosť môžete priradiť vyhradené horúce náhradné diely do vyrovnávacej pamäte na čítanie a zápis.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Pri použití funkcie ukladania do vyrovnávacej pamäte SSD v XCubeSAN existuje množstvo požiadaviek na množstvo pamäte radičov úložiska: čím viac systémovej pamäte, tým väčšia je oblasť vyrovnávacej pamäte.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Na rozdiel od väčšiny výrobcov úložných systémov, ktorí ponúkajú iba možnosť zapnúť/vypnúť vyrovnávaciu pamäť SSD, QSAN poskytuje viac možností. Najmä si môžete vybrať prevádzkový režim vyrovnávacej pamäte v závislosti od charakteru zaťaženia. Existujú tri prednastavené šablóny, ktoré sú svojou činnosťou najbližšie k zodpovedajúcim službám: databáza, súborový systém, webová služba. Okrem toho si administrátor môže vytvoriť svoj vlastný profil nastavením požadovaných hodnôt parametrov:

  • Veľkosť bloku (veľkosť bloku vyrovnávacej pamäte) – 1/2/4 MB
  • Počet požiadaviek na prečítanie bloku tak, aby bol skopírovaný do vyrovnávacej pamäte (Plulate-on-Read Threshold) – 1..4
  • Počet požiadaviek na zápis bloku tak, aby bol skopírovaný do vyrovnávacej pamäte (Populate-on-Write Threshold) – 0..4

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Profily je možné meniť za chodu, ale, samozrejme, s resetovaním obsahu vyrovnávacej pamäte a jej novým „zahriatím“.

Vzhľadom na princíp fungovania vyrovnávacej pamäte SSD môžeme zdôrazniť hlavné operácie pri práci s ňou:

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Čítanie údajov, keď nie sú vo vyrovnávacej pamäti

  1. Požiadavka od hostiteľa príde do kontroléra;
  2. Keďže požadované nie sú vo vyrovnávacej pamäti SSD, načítavajú sa z pevných diskov;
  3. Načítané údaje sa odošlú hostiteľovi. Súčasne sa vykoná kontrola, či sú tieto bloky „horúce“;
  4. Ak áno, skopírujú sa do vyrovnávacej pamäte SSD na ďalšie použitie.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Čítajte údaje, keď sú prítomné vo vyrovnávacej pamäti

  1. Požiadavka od hostiteľa príde do kontroléra;
  2. Keďže požadované údaje sú vo vyrovnávacej pamäti SSD, čítajú sa odtiaľ;
  3. Načítané údaje sa odosielajú hostiteľovi.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Zápis údajov pri použití vyrovnávacej pamäte na čítanie

  1. Požiadavka na zápis od hostiteľa príde do kontroléra;
  2. Údaje sa zapisujú na pevné disky;
  3. Odpoveď indikujúca úspešné nahrávanie sa vráti hostiteľovi;
  4. Zároveň sa kontroluje, či je blok „horúci“ (porovnáva sa parameter Populate-on-Write Threshold). Ak áno, skopíruje sa do vyrovnávacej pamäte SSD na neskoršie použitie.

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Zápis údajov pri použití vyrovnávacej pamäte na čítanie a zápis

  1. Požiadavka na zápis od hostiteľa príde do kontroléra;
  2. Údaje sa zapisujú do vyrovnávacej pamäte SSD;
  3. Odpoveď indikujúca úspešné nahrávanie sa vráti hostiteľovi;
  4. Údaje z vyrovnávacej pamäte SSD sa zapisujú na pevné disky na pozadí;

Kontrola v akcii

skúšobná stolica

2 servery (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) sú pripojené cez dva porty cez Fibre Channel 16G priamo k úložnému systému XCubeSAN XS5224D (16 GB RAM/radič).

Na dátové pole sme použili 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, kombinovaný v RAID5 (15+1), pre dátové pole a 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS cache ako 12GB

Boli vytvorené 2 zväzky: jeden pre každý server.

Test 1. SSD cache len na čítanie z 1-8 SSD

Vyrovnávacia pamäť SSD

  • Typ I/O: Prispôsobenie
  • Veľkosť bloku vyrovnávacej pamäte: 4 MB
  • Prah naplnenia pri čítaní: 1
  • Prah naplnenia pri zápise: 0

I/O vzor

  • Nástroj: IOmeter V1.1.0
  • Pracovníci: 1
  • Vynikajúce (hĺbka poradia): 128
  • Špecifikácie prístupu: 4 kB, 100 % čítanie, 100 % náhodné

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Teoreticky platí, že čím viac SSD diskov je vo vyrovnávacej pamäti, tým vyšší je výkon. V praxi sa to potvrdilo. Jediný výrazný nárast počtu SSD s malým počtom objemov nevedie k výbušnému efektu.

Test 2. SSD cache v režime čítania + zápisu s 2-8 SSD

Vyrovnávacia pamäť SSD

  • Typ I/O: Prispôsobenie
  • Veľkosť bloku vyrovnávacej pamäte: 4 MB
  • Prah naplnenia pri čítaní: 1
  • Prah naplnenia pri zápise: 1

I/O vzor

  • Nástroj: IOmeter V1.1.0
  • Pracovníci: 1
  • Vynikajúce (hĺbka poradia): 128
  • Špecifikácie prístupu: 4 kB, 100 % zápis, 100 % náhodný

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

Rovnaký výsledok: explozívny rast výkonu a škálovanie so zvyšujúcim sa počtom SSD.

V oboch testoch bolo množstvo pracovných údajov menšie ako celková veľkosť vyrovnávacej pamäte. Preto sa časom všetky bloky skopírovali do vyrovnávacej pamäte. A práca v skutočnosti už bola vykonaná s SSD, prakticky bez ovplyvnenia pevných diskov. Účelom týchto testov bolo jasne preukázať efektivitu zahrievania vyrovnávacej pamäte a škálovania jej výkonu v závislosti od počtu SSD diskov.

Teraz sa vráťme na zem a preverme si reálnejšiu situáciu, keď je množstvo dát väčšie ako veľkosť vyrovnávacej pamäte. Aby test prebehol v primeranom čase (obdobie „zahrievania“ vyrovnávacej pamäte sa výrazne zvyšuje so zvyšujúcou sa veľkosťou zväzku), obmedzíme veľkosť zväzku na 120 GB.

Test 3. Emulácia databázy

Vyrovnávacia pamäť SSD

  • Typ I/O: Databáza
  • Veľkosť bloku vyrovnávacej pamäte: 1 MB
  • Prah naplnenia pri čítaní: 2
  • Prah naplnenia pri zápise: 1

I/O vzor

  • Nástroj: IOmeter V1.1.0
  • Pracovníci: 1
  • Vynikajúce (hĺbka poradia): 128
  • Špecifikácie prístupu: 8 kB, 67 % čítanie, 100 % náhodné

Implementácia ukladania SSD do vyrovnávacej pamäte v úložnom systéme QSAN XCubeSAN

verdikt

Samozrejmým záverom je, samozrejme, dobrá účinnosť používania vyrovnávacej pamäte SSD na zlepšenie výkonu akéhokoľvek úložného systému. Aplikovaný na QSAN XCubeSAN Toto tvrdenie platí v plnej miere: funkcia ukladania do vyrovnávacej pamäte SSD je implementovaná dokonale. Týka sa to podpory režimov čítania a čítania + zápisu, flexibilných nastavení pre akýkoľvek scenár použitia, ako aj celkového výkonu systému ako celku. Preto za veľmi rozumné náklady (cena licencie je porovnateľná s nákladmi na 1-2 SSD) môžete výrazne zvýšiť celkový výkon.

Zdroj: hab.com

Pridať komentár