SSD vahemÀlu rakendamine QSAN XCubeSANis

JĂ”udluse paranemise tehnoloogiad, mis pĂ”hinevad SSD-de kasutamisel ja levinud andmesalvestusseadmetes, on juba ammu vĂ€lja mĂ”eldud. Esiteks on see SSD-de kasutamine salvestusruumina, mis on 100% efektiivne, kuid kallis. SeetĂ”ttu kasutatakse tirimist ja vahemĂ€lustamist, kus SSD-sid kasutatakse ainult kĂ”ige nĂ”udlike („kuumade”) andmete jaoks. Tirimine on hea stseenideks pikaajaliseks (pĂ€evad-nĂ€dalad) kuumade andmete kasutamiseks. VahemĂ€lu aga lĂŒhiajalise (minutid-tunnid) kasutamiseks. MĂ”lemad variandid on rakendatud andmesalvestusseadmetes. QSAN XCubeSAN. KĂ€esolevas artiklis vaatleme teise algoritmi rakendamist – SSD vahemĂ€lustamine.

SSD vahemÀlu rakendamine QSAN XCubeSANis

SSD vahemÀlustamise tehnoloogia olemus seisneb selles, et SSD-d kasutatakse vahemÀluna kÔvaketaste ja kontrolleri töömÀlu vahel. SSD jÔudlus on muidugi madalam kui kontrolleri enda vahemÀlu jÔudlus, kuid see-eest on maht kordades suurem. Seega saavutame teatud kompromissi kiirus ja mahu vahel.

Viidatud SSD vahemÀlu kasutamise nÀidustused lugemiseks:

  • Lugemisoperatsioonide ĂŒlekaal kirjutamisoperatsioonide ĂŒle (tavaliselt iseloomulik andmebaasidele ja veebirakendustele);
  • Kitsaskohaks on kĂ”vaketaste sĂŒsteemi jĂ”udlus;
  • NĂ”utavate andmete maht on vĂ€iksem kui SSD vahemĂ€lu maht.

SSD vahemĂ€lu kasutamise nĂ€idustused lugemiseks ja kirjutamiseks on samad pĂ”hjused, vĂ€lja arvatud operatsioonide iseloom – segatĂŒĂŒp (nĂ€iteks failiserver).

Enamik andmesalvestusseadmete tarnijaid kasutab oma toodetes SSD vahemĂ€lu ainult lugemisoperatsioonide jaoks. Oluline erinevus QSAN nende seas on vĂ”imalus kasutada vahemĂ€lu ka kirjutamiseks. SSD vahemĂ€lustamise funktsiooni aktiveerimiseks QSAN-andmesalvestusseadmetes on vaja soetada eraldi litsents (mĂŒĂŒakse elektrooniliselt).

SSD vahemĂ€lu XCubeSANis on fĂŒĂŒsiliselt teostatav eraldi SSD vahemĂ€lu basseinidena. SĂŒsteemis vĂ”ib neid olla kuni neli. Igal basseinil on loomulikult oma SSD-de kogum. Virtuaalse kĂ”vaketta omadustes mÀÀrame, kas see kasutab vahemĂ€lu basseini ja millist. VahemĂ€lu kasutamise lubamine ja keelamine mahutite jaoks on vĂ”imalik teha online-reĆŸiimis ilma sissetuleva/vĂ€ljamineva liikluse peatamiseta. Samuti saab „kuumalt” basseini lisada vĂ”i sealt eemaldada SSD-sid. SSD vahemĂ€lu basseini loomisel tuleb valida, millises reĆŸiimis see töötab: ainult lugemine vĂ”i lugemine + kirjutamine. Sellest sĂ”ltub selle fĂŒĂŒsiline korraldus. Kuna vahemĂ€lu basseinid vĂ”ivad olla mitmed, vĂ”ivad nende funktsioonid olla erinevad (st sĂŒsteemis vĂ”ivad samal ajal olla lugemiseks ja lugemiseks + kirjutamiseks vahemĂ€lu basseini).

Kui vahemĂ€lu basseini kasutatakse ainult lugemiseks, vĂ”ib see koosneda 1-8 SSD-st. Diskid ei pea tingimata olema sama suurusega ja sama tootjaga, kuna need ĂŒhendatakse NRAID+ struktuuri. KĂ”ik SSD-d basseinis kasutatakse ĂŒhiselt. SĂŒsteem pĂŒĂŒab automaatselt jaotada sisenevad pĂ€ringud kĂ”igi SSD-de vahel maksimaalse jĂ”udluse saavutamiseks. Kui ĂŒks SSD-d ebaĂ”nnestub, ei juhtu midagi halba: vahemĂ€lu sisaldab ainult koopiat andmetest, mis on salvestatud kĂ”vakettade kogumisse. Lihtsalt kergelt vĂ€heneb saadaval oleva SSD vahemĂ€lu maht (vĂ”i muutub nulliks, kui kasutatakse algset SSD vahemĂ€lud ainult ĂŒhe ketasena).

SSD vahemÀlu rakendamine QSAN XCubeSANis

Kui vahemĂ€lu kasutatakse lugemise + kirjutamise operatsioonide jaoks, peab basseinis olema SSD-de arv olema paaris, kuna sisu peegeldatakse paaridesse. Kasutatakse NRAID 1+ struktuuri. VahemĂ€lu dubleerimine on vajalik, kuna seal vĂ”ivad olla andmed, mis pole veel kĂ”vakettale salvestunud. Sellisel juhul tĂ€hendaks SSD ebaĂ”nnestumine vahemĂ€lu andmete kadumist. NRAID 1+ korral pĂ”hjustab SSD rike lihtsalt vahemĂ€lu ĂŒlemineku olekusse „ainult lugemine” koos salvestamata andmete edastamisega kĂ”vakettale. PĂ€rast rikke tĂ”ttu vahetatud SSD-d naaseb vahemĂ€lu oma algsesse tööreĆŸiimi. Muide, suurema turvalisuse jaoks, kui vahemĂ€lu töötab lugemise + kirjutamise reĆŸiimis, vĂ”ib sellele mÀÀrata eraldi hot spare.

SSD vahemÀlu rakendamine QSAN XCubeSANis

SSD-vahemĂ€lu funktsiooni kasutamisel XCubeSAN-is tuleb jĂ€rgida kontrollerite mĂ€lu mahtude nĂ”udeid: mida suurem on sĂŒsteemimĂ€lu, seda suurem on saadaolev vahemĂ€lu kogus.

SSD vahemÀlu rakendamine QSAN XCubeSANis

Erinevalt enamikest SAN-i tootjatest, kes pakuvad SSD-vahemĂ€lu seadistamiseks ainult lĂŒlitamis- ja vĂ€lja-lĂŒlitamisvĂ”imalust, pakub QSAN suuremaid vĂ”imalusi. EelkĂ”ige saab valida vahemĂ€lu tööreĆŸiimi sĂ”ltuvalt koormuse iseloomust. Saadaval on kolm eelnevalt seadistatud mustrit, mis on oma töölt kĂ”ige lĂ€hemal vastavatele teenustele: andmebaas, failisĂŒsteem, veebiteenus. Lisaks sellele saab administraator luua oma profiili, mÀÀrates vajalikud parameetrite vÀÀrtused:

  • Bloki suurus (Cache Block Size) – 1/2/4 MB
  • Lugemisettepanekute arv blokile, et see saaks vahemĂ€llu kopeerida (Populate-on-Read Threshold) – 1..4
  • Kirjete arv blokile, et see saaks vahemĂ€llu kopeerida (Populate-on-Write Threshold) – 0..4

SSD vahemÀlu rakendamine QSAN XCubeSANis

Profiile saab muuta "otsi", kuid loomulikult koos vahemĂ€lu sisu tĂŒhjendamise ja selle uue "soojendamisega".

SSD-vahemÀlu tööpÔhimÔtte seisukohalt saab vÀlja tuua peamised tehingud selle kasutamisel:

SSD vahemÀlu rakendamine QSAN XCubeSANis

Andmete lugemine, kui need ei ole vahemÀlus

  1. KĂŒsimus hostilt saabub kontrollerisse;
  2. Kuna taotletavad andmed ei ole SSD-vahemÀlus, loetakse need kÔvaketastelt;
  3. Lugemisandmed saadetakse hostile. Samal ajal kontrollitakse, kas need plokid on "kuumad";
  4. Kui jah, siis kopeeritakse need SSD-vahemÀlusse edasiseks kasutamiseks.

SSD vahemÀlu rakendamine QSAN XCubeSANis

Andmete lugemine, kui need on vahemÀlus

  1. KĂŒsimus hostilt saabub kontrollerisse;
  2. Kuna taotletavad andmed on SSD-vahemÀlus, loetakse need sealt;
  3. Lugemisandmed saadetakse hostile.

SSD vahemÀlu rakendamine QSAN XCubeSANis

Andmete kirjutamine, kui kasutatakse lugemisavaemÀlu

  1. Kirjete pÀring hostilt saabub kontrollerisse;
  2. Andmed salvestatakse kÔvaketastele;
  3. Hostile saadetakse vastus eduka kirjutamise kohta;
  4. Samal ajal kontrollitakse, kas plokk on "kuum" (vÔrreldakse parameetrit Populate-on-Write Threshold). Kui jah, siis kopeeritakse see SSD-vahemÀlusse edasiseks kasutamiseks.

SSD vahemÀlu rakendamine QSAN XCubeSANis

Andmete kirjutamine, kui kasutatakse lugemis- ja kirjutavaemÀlu

  1. Kirjete pÀring hostilt saabub kontrollerisse;
  2. Andmed salvestatakse SSD-vahemÀllu;
  3. Hostile saadetakse vastus eduka kirjutamise kohta;
  4. SSD vahemÀlu andmed taustal salvestatakse kÔvaketastele;

Kontroll kohtus

Testseade

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

Kasutati 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, mis on ĂŒhendatud RAID5 (15+1) konfiguratsioonis andmemassi jaoks, ja 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s vahemĂ€luna.

Loodud oli 2 mahtu: ĂŒks igale serverile.

Test 1. SSD vahemĂ€lu ainult lugemisreĆŸiimis 1-8 SSD

SSD VahemÀlu

  • I/O TĂŒĂŒp: Kohandamine
  • VahemĂ€lu ploki suurus: 4MB
  • Populate-on-read kĂŒnnis: 1
  • Populate-on-write kĂŒnnis: 0

I/O Muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (jĂ€rjekorra sĂŒgavus): 128
  • JuurdepÀÀsu spetsifikatsioonid: 4KB, 100% Lugemine, 100% Juhuslik

SSD vahemÀlu rakendamine QSAN XCubeSANis

SSD vahemÀlu rakendamine QSAN XCubeSANis

Teoorias, mida rohkem SSD jaotises vahemÀlus, seda kÔrgem on jÔudlus. Praktikas on see ka kinnitust leidnud. Ainuke, signifitseeriv suurendamine SSD-de arvu juures vÀheste mahutite korral ei too plahvatuslikku efekti.

Test 2. SSD vahemĂ€lu lugemise + kirjutamise reĆŸiimis 2-8 SSD

SSD VahemÀlu

  • I/O TĂŒĂŒp: Kohandamine
  • VahemĂ€lu ploki suurus: 4MB
  • Populate-on-read kĂŒnnis: 1
  • Populate-on-write kĂŒnnis: 1

I/O Muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (jĂ€rjekorra sĂŒgavus): 128
  • JuurdepÀÀsu spetsifikatsioonid: 4KB, 100% Kirjutamine, 100% Juhuslik

SSD vahemÀlu rakendamine QSAN XCubeSANis

SSD vahemÀlu rakendamine QSAN XCubeSANis

Sama tulemus: plahvatuslik jÔudluse kasv ja skaleerimine SSDde arvu suurenemisel.

MÔlema testi korral oli tööandmete maht vÀiksem kui vahemÀlu kogumaht. SeetÔttu kopeeriti aja jooksul kÔik plokid vahemÀllu. Ja töö kÀidi juba pÔhimÔtteliselt SSD-lt, praktiliselt puudutamata kÔvakettasid. Nende testide eesmÀrk oli ilmekalt nÀidata vahemÀlu soojendamise efektiivsust ja selle jÔudluse skaleerimist sÔltuvalt SSDde arvust.

NĂŒĂŒd tuleme tagasi reaalsusesse ja kontrollime elu lĂ€hedasemat olukorda, kus andmete maht on suurem kui vahemĂ€lu suurus. Et test toimuks mĂ”istliku ajaga (vahemĂ€lu "soojendamise" aeg suureneb mahuti suuruse kasvu tĂ”ttu), piirdume 120GB mahuga.

Test 3. Andmebaasi töö simuleerimine

SSD VahemÀlu

  • I/O TĂŒĂŒp: Andmebaas
  • VahemĂ€lu ploki suurus: 1MB
  • Populate-on-read kĂŒnnis: 2
  • Populate-on-write kĂŒnnis: 1

I/O Muster

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (jĂ€rjekorra sĂŒgavus): 128
  • JuurdepÀÀsu spetsifikatsioonid: 8KB, 67% Lugemine, 100% Juhuslik

SSD vahemÀlu rakendamine QSAN XCubeSANis

Otsus

Selge jĂ€reldusena, on ilmselgelt SSD vahemĂ€lu kasutamise tĂ”husus igasuguse salvestuslahenduse toimivuse parandamiseks. Seoses sellega QSAN XCubeSAN See vĂ€ide kehtib tĂ€ielikult: SSD vahemĂ€lu funktsioon on suurepĂ€raselt rakendatud. See puudutab lugemise ja lugemise + kirjutamise reĆŸiimide toetust, paindlikku seadistamist mistahes kasutusstsenaariumide jaoks ning sĂŒsteemi lĂ”ppvĂ”imekust ĂŒldiselt. SeetĂ”ttu vĂ”ib ĂŒsna mĂ”istliku hinna (licentsi hind on vĂ”rreldav 1-2 SSD hinnaga) mĂ€rgatavalt suurendada kogu sĂŒsteemi sooritusvĂ”imet.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster