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. . KĂ€esolevas artiklis vaatleme teise algoritmi rakendust â .

. 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 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).

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.

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.

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

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:

Andmete lugemine, kui need puuduvad vahemÀlust
- KĂŒsimus hostilt jĂ”uab kontrollisse;
- Kuna nÔutavaid andmeid ei ole SSD vahemÀlus, loetakse need kÔvaketastelt;
- Loetud andmed saadetakse hostile. Samal ajal kontrollitakse, kas need plokid on âkuumadâ;
- Kui jah, siis kopeeritakse need SSD vahemÀlusse edaspidiseks kasutamiseks.

Andmete lugemine, kui need on vahemÀlus olemas
- KĂŒsimus hostilt jĂ”uab kontrollisse;
- Kuna nÔutavad andmed on SSD vahemÀlus, loetakse need sealt;
- Loetud andmed saadetakse hostile.

Andmete kirjutamine lugemisvahemÀlu kasutamisel
- Kirjutussoov hostilt jÔuab kontrollisse;
- Andmed kirjutatakse kÔvaketastele;
- Hostile saadetakse teade eduka kirjutamise kohta;
- Samal ajal kontrollitakse, kas plokk on âkuumâ (vĂ”rreldakse Populate-on-Write Threshold parameetrit). Kui jah, siis kopeeritakse see SSD vahemĂ€lusse edaspidiseks kasutamiseks.

Andmete kirjutamine lugemis- ja kirjutamisvahemÀlu kasutamisel
- Kirjutussoov hostilt jÔuab kontrollisse;
- Andmed kirjutatakse SSD vahemÀllu;
- Hostile saadetakse teade eduka kirjutamise kohta;
- 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


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


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

18.04 LTS
Ilmselt on jĂ€reldus, et SSD vahemĂ€lu kasutamise efektiivsus, et suurendada iga andmemagasi jĂ”udlust, on ĂŒsna hea. Seotud 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
