SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

SSD-de kasutamisel põhinevad ja salvestussüsteemides laialdaselt kasutatavad jõudluse parandamise tehnoloogiad on juba ammu leiutatud. Esiteks on see SSD kasutamine salvestusruumina, mis on 100% efektiivne, kuid kallis. Seetõttu kasutatakse väsitavaid ja vahemällu salvestamise tehnoloogiaid, kus SSD-sid kasutatakse ainult kõige populaarsemate (“kuumade”) andmete jaoks. Tasandamine on hea "kuumade" andmete pikaajalise (päevad-nädalad) kasutamise stsenaariumide puhul. Vahemällu salvestamine, vastupidi, on mõeldud lühiajaliseks (minutid-tunnid) kasutamiseks. Mõlemad valikud on salvestussüsteemis rakendatud QSAN XCubeSAN. Selles artiklis vaatleme teise algoritmi rakendamist - SSD vahemälu.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

SSD vahemälutehnoloogia olemus seisneb SSD-de kasutamises kõvaketaste ja kontrolleri RAM-i vahemäluna. SSD jõudlus on loomulikult väiksem kui kontrolleri enda vahemälu jõudlus, kuid helitugevus on suurusjärgu võrra suurem. Seetõttu saame kiiruse ja helitugevuse vahel teatud kompromissi.

Näidustused SSD vahemälu kasutamiseks lugemiseks:

  • Lugemisoperatsioonide ülekaal kirjutamisoperatsioonide ees (enamasti tüüpiline andmebaasidele ja veebirakendustele);
  • Kitsaskoha olemasolu kõvakettamassiivi jõudluse näol;
  • Nõutavate andmete hulk on väiksem kui SSD vahemälu suurus.

Lugemis-kirjutamise SSD vahemälu kasutamise näidustused on samad, välja arvatud toimingute iseloom – segatüüp (näiteks failiserver).

Enamik salvestusseadmete pakkujaid kasutab oma toodetes kirjutuskaitstud SSD vahemälu. Põhiline erinevus QSAN Need annavad võimaluse kasutada vahemälu ka kirjutamiseks. SSD vahemällu salvestamise funktsiooni aktiveerimiseks QSAN-salvestussüsteemides peate ostma eraldi litsentsi (tarnitakse elektrooniliselt).

XCubeSANi SSD-vahemälu on füüsiliselt rakendatud eraldi SSD-vahemälukogumite kujul. Neid võib süsteemis olla kuni neli. Iga bassein kasutab loomulikult oma SSD-de komplekti. Ja juba virtuaalse ketta atribuutides määrame kindlaks, kas see kasutab vahemälu kogumit ja millist. Köidete vahemälu kasutamist saab lubada ja keelata võrgus ilma I/O-d peatamata. Samuti saate SSD-sid basseini kuumalt lisada ja sealt eemaldada. SSD basseini vahemälu loomisel peate valima, millises režiimis see töötab: kirjutuskaitstud või lugemis-+kirjutusrežiim. Sellest sõltub selle füüsiline korraldus. Kuna vahemälukogumeid võib olla mitu, siis nende funktsionaalsus võib olla erinev (ehk süsteemil võib korraga olla nii lugemis- kui ka lugemis-+kirjutusvahemälukogumid).

Kui kasutatakse kirjutuskaitstud vahemälu kogumit, võib see koosneda 1–8 SSD-st. Kettad ei pea olema sama mahutavusega ja sama tarnijaga, kuna need on ühendatud NRAID+ struktuuriks. Kõik basseinis olevad SSD-d on jagatud. Maksimaalse jõudluse saavutamiseks proovib süsteem sõltumatult paralleelstada sissetulevaid päringuid kõigi SSD-de vahel. Kui üks SSD-ketastest ebaõnnestub, ei juhtu midagi hullu: lõppude lõpuks sisaldab vahemälu ainult kõvaketaste massiivi salvestatud andmete koopiat. Lihtsalt saadaoleva SSD vahemälu hulk väheneb (või muutub nulliks, kui kasutate algset SSD vahemälu ühest draivist).

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Kui vahemälu kasutatakse lugemis- ja kirjutamistoiminguteks, peaks kogumis olevate SSD-de arv olema kahekordne, kuna sisu peegeldub draivipaaridel (kasutatakse NRAID 1+ struktuuri). Vahemälu dubleerimine on vajalik, kuna see võib sisaldada andmeid, mida pole veel kõvaketastele kirjutatud. Ja sel juhul põhjustab vahemälukogumi SSD rike teabe kadumise. NRAID 1+ puhul viib SSD rike lihtsalt selleni, et vahemälu viiakse kirjutuskaitstud olekusse, kusjuures kirjutamata andmed kantakse kõvaketta massiivi. Pärast vigase SSD vahetamist naaseb vahemälu algsesse töörežiimi. Muide, suurema turvalisuse huvides saate lugemis- ja kirjutamisvahemällu määrata spetsiaalsed kuumad varuosad.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

SSD vahemälu funktsiooni kasutamisel XCubeSANis on salvestuskontrollerite mälumahule mitmeid nõudeid: mida rohkem süsteemimälu, seda suurem on vahemälukogum.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Erinevalt enamikust salvestussüsteemide tootjatest, kes pakuvad ainult SSD vahemälu sisse/välja lülitamise võimalust, pakub QSAN rohkem võimalusi. Eelkõige saate valida vahemälu töörežiimi sõltuvalt koormuse iseloomust. Seal on kolm eelseadistatud malli, mis on oma töös kõige lähemal vastavatele teenustele: andmebaas, failisüsteem, veebiteenus. Lisaks saab administraator luua oma profiili, määrates vajalikud parameetrite väärtused:

  • Ploki suurus (vahemälu ploki suurus) – 1/2/4 MB
  • Päringute arv ploki lugemiseks, et see vahemällu kopeerida (Populate-on-Read Threshold) – 1...4
  • Päringute arv ploki kirjutamiseks nii, et see kopeeritakse vahemällu (Populate-on-Write Threshold) – 0...4

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Profiilid saab muuta käigu pealt, kuid loomulikult vahemälu sisu lähtestamise ja selle uue “soojendusega”.

Arvestades SSD vahemälu tööpõhimõtet, saame sellega töötamisel esile tuua peamised toimingud:

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Andmete lugemine, kui neid pole vahemälus

  1. Päring hostilt saabub kontrollerile;
  2. Kuna nõutud pole SSD vahemälus, loetakse need kõvaketastelt;
  3. Loetud andmed saadetakse hostile. Samal ajal kontrollitakse, kas need plokid on “kuumad”;
  4. Kui jah, siis kopeeritakse need edasiseks kasutamiseks SSD vahemällu.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Lugege andmeid, kui need on vahemälus

  1. Päring hostilt saabub kontrollerile;
  2. Kuna küsitavad andmed on SSD vahemälus, loetakse neid sealt;
  3. Loetud andmed saadetakse hostile.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Andmete kirjutamine lugemisvahemälu kasutamisel

  1. Kontrollerile saabub hosti kirjutamistaotlus;
  2. Andmed kirjutatakse kõvaketastele;
  3. Vastus, mis näitab edukat salvestamist, tagastatakse hostile;
  4. Samal ajal kontrollitakse, kas plokk on “kuum” (võrdletakse parameetrit Populate-on-Write Threshold). Kui jah, siis kopeeritakse see hilisemaks kasutamiseks SSD vahemällu.

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Andmete kirjutamine lugemis- ja kirjutamisvahemälu kasutamisel

  1. Kontrollerile saabub hosti kirjutamistaotlus;
  2. Andmed kirjutatakse SSD vahemällu;
  3. Vastus, mis näitab edukat salvestamist, tagastatakse hostile;
  4. SSD vahemälust olevad andmed kirjutatakse taustal kõvaketastele;

Kontrollige tegevuses

Katselaud

2 serverit (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) on kahe pordi kaudu ühendatud Fibre Channel 16G kaudu otse XCubeSAN XS5224D salvestussüsteemiga (16 GB RAM/kontroller).

Andmemassiivi jaoks kasutasime 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, kombineerituna RAID5-s (15+1) ja 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, vahemälu 100GB S/ASs, ass.

Loodi 2 köidet: üks iga serveri jaoks.

Test 1. Kirjutuskaitstud SSD vahemälu 1–8 SSD-lt

SSD vahemälu

  • I/O tüüp: kohandamine
  • Vahemälu ploki suurus: 4 MB
  • Täitmise lugemise lävi: 1
  • Täitmise kirjutamise lävi: 0

I/O muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Silmapaistev (järjekorra sügavus): 128
  • Juurdepääsu spetsifikatsioonid: 4KB, 100% lugemine, 100% juhuslik

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Teoreetiliselt, mida rohkem SSD-sid vahemälukogumis on, seda suurem on jõudlus. Praktikas on see kinnitust leidnud. Ainus väikese mahuga SSD-de arvu märkimisväärne kasv ei too kaasa plahvatuslikku efekti.

Test 2. SSD vahemälu lugemise + kirjutamise režiimis 2-8 SSD-ga

SSD vahemälu

  • I/O tüüp: kohandamine
  • Vahemälu ploki suurus: 4 MB
  • Täitmise lugemise lävi: 1
  • Täitmise kirjutamise lävi: 1

I/O muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Silmapaistev (järjekorra sügavus): 128
  • Juurdepääsu spetsifikatsioonid: 4KB, 100% kirjutamine, 100% juhuslik

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Sama tulemus: jõudluse plahvatuslik kasv ja skaleerimine SSD-de arvu suurenedes.

Mõlemas testis oli tööandmete hulk väiksem kui vahemälu kogumaht. Seetõttu kopeeriti aja jooksul kõik plokid vahemällu. Ja tegelikult tehti tööd juba SSD-dega, praktiliselt kõvakettaid mõjutamata. Nende testide eesmärk oli selgelt näidata vahemälu soojendamise ja selle jõudluse skaleerimise tõhusust sõltuvalt SSD-de arvust.

Nüüd tuleme tagasi maa peale ja kontrollime realistlikumat olukorda, kui andmemaht on suurem kui vahemälu maht. Selleks, et test läheks läbi mõistliku aja jooksul (vahemälu “soojendusperiood” pikeneb oluliselt, kui maht suureneb), piirame helitugevuse mahtu 120 GB-ni.

Test 3. Andmebaasi emuleerimine

SSD vahemälu

  • I/O tüüp: andmebaas
  • Vahemälu ploki suurus: 1 MB
  • Täitmise lugemise lävi: 2
  • Täitmise kirjutamise lävi: 1

I/O muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Silmapaistev (järjekorra sügavus): 128
  • Juurdepääsu spetsifikatsioonid: 8KB, 67% lugemine, 100% juhuslik

SSD vahemälu juurutamine QSAN XCubeSAN salvestussüsteemis

Kohtuotsus

Ilmselgeks järelduseks on muidugi SSD vahemälu kasutamise hea efektiivsus mis tahes salvestussüsteemi jõudluse parandamiseks. Rakendatud QSAN XCubeSAN See väide kehtib täielikult: SSD vahemällu salvestamise funktsioon on täielikult rakendatud. See puudutab lugemis- ja lugemis- ja kirjutamisrežiimide tuge, paindlikke sätteid mis tahes kasutusstsenaariumi jaoks, aga ka kogu süsteemi üldist jõudlust. Seetõttu saate väga mõistliku kulu eest (litsentsi hind on võrreldav 1-2 SSD maksumusega) üldist jõudlust oluliselt suurendada.

Allikas: www.habr.com

Lisa kommentaar