SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

SSD-tehnoloogiad, mis suurendavad jĂ”udlust ja mida laialdaselt rakendatakse salvestussĂŒsteemides, on juba ammu leiutatud. Esiteks on see SSD-de kasutamine salvestusruumina, mis on 100% efektiivne, kuid kallis. SeetĂ”ttu kasutatakse tierimist ja vahemĂ€lu, kus SSD-d kasutatakse ainult kĂ”ige nĂ”utumate ('kuumade') andmete jaoks. Tierimine sobib pikaajaliste (pĂ€evad-nĂ€dalad) 'kuumade' andmete kasutamise stsenaariumi jaoks. VahemĂ€lu, vastupidi, lĂŒhiajalise (minutid-tunnid) kasutamise jaoks. MĂ”lemad variandid on rakendatud salvestussĂŒsteemis. QSAN XCubeSAN. KĂ€esolevas artiklis vaatleme teise algoritmi rakendust – SSD vahemĂ€lu.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

. SSD vahemĂ€lu tehnoloogia pĂ”hiolemus on kasutada SSD-d vahemĂ€lu vahendina kĂ”vakettade ja kontrolleri operatiivmĂ€lu vahel. SSD jĂ”udlus on loomulikult madalam kui kontrolleri oma vahemĂ€lu jĂ”udlus, kuid ruumala on kĂŒllaltki suurem. Seega saavutame teatud tasakaalu kiirus ja ruumi vahel.

SSD vahemÀlu kasutamise nÀidustused lugemiseks:

  • Lugemise toimingute ĂŒlekaal kirjutamise toimingute ĂŒle (tavaliselt iseloomulik andmebaasidele ja veebirakendustele);
  • Kitsaskoht kĂ”vakettamassiivi jĂ”udluses;
  • NĂ”utavate andmete maht on vĂ€iksem kui SSD vahemĂ€lu maht.

Lugemise+kirjutamise SSD vahemĂ€lu kasutamise pĂ”hjused on samad, vĂ€lja arvatud toimingute iseloom – segatĂŒĂŒp (nt failiserver).

Enamik salvestusseadmeste tootjatest kasutab oma toodetes SSD vahemÀlu ainult lugemiseks. Peamine erinevus QSAN on vÔimalus kasutada vahemÀlu ka kirjutamiseks. QSAN salvestusseadmestike SSD vahemÀlu aktiveerimise funktsiooni jaoks on vajalik eraldi litsentsi soetamine (antakse elektrooniliselt).

XCubeSAN-i SSD-kiiruspuud fĂŒĂŒsiliselt realiseeritakse eraldi SSD kiiruspuudena. SĂŒsteemis vĂ”ib neid olla kuni neli. Iga puud, nagu vĂ”ib arvata, kasutab oma SSD-de kogumit. Ja virtuaalse ketta omadustes mÀÀrame, kas see kasutab kiiruspuud ja millist. Kiiruspuu kasutamise lubamist ja keelamist mahtude jaoks saab teha online-reĆŸiimis ilma sisendi/vĂ€ljundi seiskamiseta. Samuti saab kuumalt SSD-sid puudesse lisada ja neid sealt eemaldada. SSD kiiruspuu loomisel tuleb valida, millises reĆŸiimis see töötab: ainult lugemine vĂ”i lugemine+kirjutamine. Sellest sĂ”ltub selle fĂŒĂŒsiline organiseeritus. Kuna kiiruspuude vĂ”ib olla mitu, vĂ”ivad nende funktsioonid olla erinevad (tohutu sĂŒsteemis vĂ”ivad samal ajal olla lugemis- ja lugemise+kirjutamise kiiruspuud).

Kui kasutada ainult lugemiseks mĂ”eldud vahemĂ€lu, vĂ”ib see koosneda 1–8 SSD-st. KĂ”vakettad ei pea olema ĂŒhe suuruse ega sama tootja omad, kuna need ĂŒhendatakse NRAID+ struktuuri. KĂ”ik vahemĂ€lu SSD-d kasutatakse ĂŒhiselt. SĂŒsteem pĂŒĂŒab iseseisvalt jagada saabuvad pĂ€ringud kĂ”igi SSD-de vahel, et saavutada maksimaalne jĂ”udlus. Kui ĂŒks SSD rikki lĂ€heb, siis ei juhtu midagi kohutavat: vahemĂ€lu sisaldab vaid andmete koopiat, mis on salvestatud kĂ”vakettade kogumisse. Lihtsalt SSD vahemĂ€lu saadav maht vĂ€heneb (vĂ”i muutub nulliks, kui kasutatakse algset SSD vahemĂ€lu ĂŒksiku seadme pealt).

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Kui vahemĂ€lu kasutatakse lugemis- ja kirjutamisoperatsioonide jaoks, peavad pooli SSD-d olema paarides, kuna sisu peegeldatakse kettapaarides (kasutatakse NRAID 1+ struktuuri). VahemĂ€lu dubleerimine on vajalik, kuna see vĂ”ib sisaldada andmeid, mis pole veel kĂ”vaketastele kirjutatud. Sel juhul tĂ€hendaks SSD rike vahemĂ€lust andmete kaotust. NRAID 1+ korral toob SSD rike lihtsalt kaasa vahemĂ€lu ĂŒlemineku 'ainult lugemise' tööreĆŸiimi, kus kirjutamata andmed suunatakse kĂ”vakettamaatriksile. PĂ€rast rikete eemaldamist naaseb vahemĂ€lu oma algsesse tööreĆŸiimi. Üksikasjalikult, vahemĂ€lu, mis töötab lugemise + kirjutamise reĆŸiimis, vĂ”ib saada ka eraldatud hot spare'i suurema turvalisuse tagamiseks.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

XCubeSAN-i SSD vahemĂ€lu kasutamisel on salvestusseadmemeetodite mĂ€lu mahu osas mitmeid nĂ”udeid: mida rohkem on sĂŒsteemimĂ€lu, seda suurem on saadaval vahemĂ€lu maht.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Erinevalt enamiku SSD vahetusseadmestike tootjatest, kes pakuvad SSD vahemĂ€lu seadistamiseks vaid sisse-/vĂ€ljalĂŒlitamise vĂ”imalust, pakub QSAN rohkem funktsioone. Esiteks saab valida vahemĂ€lu tööreĆŸiimi vastavalt koormuse iseloomule. Saadaval on kolm eelkonfigureeritud mustrit, mis sarnanevad toimingute jaoks: andmebaas, failisĂŒsteem, veebiteenus. Lisaks saab administreerija luua oma profiili, mÀÀrates vajalikud parameetrite vÀÀrtused:

  • Bloki suurus (Cache Block Size) – 1/2/4 MB
  • Blokki lugemise pĂ€ringute arv, et see kopeeritaks vahemĂ€lusse (Populate-on-Read Threshold) – 1..4
  • Blokki kirjutamise pĂ€ringute arv, et see kopeeritaks vahemĂ€lusse (Populate-on-Write Threshold) – 0..4

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Profiile saab muuta «lennult», ent loomulikult koos vahemÀlu sisu nullimise ja selle uue «soojendamisega».

Kuna vaatame SSD vahemÀlu tööprintsiipi, saame tuvastada peamised toimingud selle kasutamisel:

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Andmete lugemine, kui need puuduvad vahemÀlust

  1. KĂŒsimus hostilt jĂ”uab kontrollisse;
  2. Kuna nÔutavaid andmeid ei ole 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 SSD vahemÀlusse edaspidiseks kasutamiseks.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Andmete lugemine, kui need on vahemÀlus olemas

  1. KĂŒsimus hostilt jĂ”uab kontrollisse;
  2. Kuna nÔutavad andmed on SSD vahemÀlus, loetakse need sealt;
  3. Loetud andmed saadetakse hostile.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Andmete kirjutamine lugemisvahemÀlu kasutamisel

  1. Kirjutussoov hostilt jÔuab kontrollisse;
  2. Andmed kirjutatakse kÔvaketastele;
  3. Hostile saadetakse teade eduka kirjutamise kohta;
  4. Samal ajal kontrollitakse, kas plokk on „kuum“ (vĂ”rreldakse Populate-on-Write Threshold parameetrit). Kui jah, siis kopeeritakse see SSD vahemĂ€lusse edaspidiseks kasutamiseks.

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Andmete kirjutamine lugemis- ja kirjutamisvahemÀlu kasutamisel

  1. Kirjutussoov hostilt jÔuab kontrollisse;
  2. Andmed kirjutatakse SSD vahemÀllu;
  3. Hostile saadetakse teade eduka kirjutamise kohta;
  4. Andmed SSD vahemÀlust kirjutatakse taustal kÔvaketastele;

Kontroll asja korral

Teststand

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

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

Loodi 2 mahtu: ĂŒks igale serverile.

Test 1. SSD vahemÀlu ainult lugemiseks 1-8 SSD-ga.

SSD Cache

  • I/O tĂŒĂŒp: Kohandamine
  • VahemĂ€lu ploki suurus: 4MB
  • Populate-on-read lĂ€vend: 1
  • Populate-on-write lĂ€vend: 0

I/O mustril

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (Queue Depth): 128
  • JuhtimisnĂ”uded: 4KB, 100% lugemine, 100% juhuslik

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Teoorias, mida rohkem SSD, seda suurem efektiivsus. Praktikas tÔestati see ka. Ainus, suurenenud SSD arv vÀikse arvu mahtude korral ei too kaasa plahvatuslikku efekti.

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

SSD Cache

  • I/O tĂŒĂŒp: Kohandamine
  • VahemĂ€lu ploki suurus: 4MB
  • Populate-on-read lĂ€vend: 1
  • Populate-on-write lĂ€vend: 1

I/O mustril

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (Queue Depth): 128
  • JuhtimisnĂ”uded: 4KB, 100% kirjutamine, 100% juhuslik

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

Sama tulemus: plahvatuslik efektiivsuse kasv ja skaleerimine SSD arv suurenedes.

MĂ”lemas testis oli tööandmete maht vĂ€iksem summarisest vahemĂ€lu mahust. SeetĂ”ttu kandsid kĂ”ik plokid aja jooksul vahemĂ€lusse. Töö toimus juba sisuliselt SSD-l, puudutamata peaaegu ĂŒldse kĂ”vakettaid. Nende testide eesmĂ€rk oli visuaalselt nĂ€idata vahemĂ€lu soojendamise efektiivsust ja selle jĂ”udluse skaleeritavust sĂ”ltuvalt SSD-de arvust.

NĂŒĂŒd tuleme taevast tagasi maapeale ja kontrollime elulisemat olukorda, kus andmete maht on suurem kui vahemĂ€lu suurus. Et test oleks mĂ”istlikul ajal valmis (vahemĂ€lu „soojenemise” aeg suureneb dramaatiliselt mahukuse suurenedes), piirame maht 120GB.

Test 3. Andmebaasi töö simuleerimine

SSD Cache

  • I/O tĂŒĂŒp: Andmebaas
  • VahemĂ€lu ploki suurus: 1MB
  • Populeeri lugemise kĂŒnnis: 2
  • Populate-on-write lĂ€vend: 1

I/O mustril

  • Tööriist: IOmeter V1.1.0
  • Töötajad: 1
  • Ootel (Queue Depth): 128
  • JuurdepÀÀsu spetsifikatsioonid: 8KB, 67% lugemine, 100% juhuslik

SSD vahemÀlu implementatsioon QSAN XCubeSAN-is

18.04 LTS

Ilmselt on jĂ€reldus, et SSD vahemĂ€lu kasutamise efektiivsus, et suurendada iga andmemagasi jĂ”udlust, on ĂŒsna hea. Seotud QSAN XCubeSAN see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see, see.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster