Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Tehnologije za izboljšanje zmogljivosti, ki temeljijo na uporabi SSD-jev in se pogosto uporabljajo v sistemih za shranjevanje, so že dolgo izumljene. Najprej je to uporaba SSD kot prostora za shranjevanje, ki je 100% učinkovit, a drag. Zato se uporabljajo tehnologije utrujanja in predpomnjenja, kjer se SSD diski uporabljajo samo za najbolj priljubljene (»vroče«) podatke. Razporeditev je dobra za scenarije dolgoročne (dnevi-tedni) uporabe "vročih" podatkov. Nasprotno, predpomnjenje je za kratkoročno (minute-ure) uporabo. Obe možnosti sta implementirani v sistem za shranjevanje QSAN XCubeSAN. V tem članku si bomo ogledali izvedbo drugega algoritma - SSD predpomnjenje.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Bistvo tehnologije predpomnjenja SSD je uporaba SSD diskov kot vmesnega predpomnilnika med trdimi diski in RAM-om krmilnika. Zmogljivost SSD-ja je seveda nižja od zmogljivosti lastnega predpomnilnika krmilnika, vendar je obseg za red velikosti večji. Tako dobimo določen kompromis med hitrostjo in glasnostjo.

Indikacije za uporabo predpomnilnika SSD za branje:

  • Prevlada bralnih operacij nad pisalnimi (najpogosteje značilne za baze podatkov in spletne aplikacije);
  • Prisotnost ozkega grla v obliki zmogljivosti matrike trdega diska;
  • Količina zahtevanih podatkov je manjša od velikosti predpomnilnika SSD.

Indikacije za uporabo predpomnilnika SSD za branje in pisanje so enake, razen glede narave operacij – mešani tip (na primer datotečni strežnik).

Večina prodajalcev pomnilnikov v svojih izdelkih uporablja predpomnilnik SSD samo za branje. Temeljna razlika QSAN Omogočajo uporabo predpomnilnika tudi za pisanje. Če želite aktivirati funkcijo predpomnjenja SSD v sistemih za shranjevanje QSAN, morate kupiti ločeno licenco (dobavljeno v elektronski obliki).

Predpomnilnik SSD v XCubeSAN je fizično implementiran v obliki ločenih predpomnilniških skupin SSD. V sistemu so lahko največ štirje. Vsak bazen seveda uporablja svoj nabor SSD-jev. In že v lastnostih navideznega diska določimo, ali bo uporabljal cache pool in katerega. Omogočanje in onemogočanje uporabe predpomnilnika za nosilce lahko izvedete prek spleta, ne da bi zaustavili V/I. Pogone SSD lahko tudi vroče dodate v skupino in jih od tam odstranite. Ko ustvarjate predpomnilnik bazena SSD, morate izbrati način, v katerem bo deloval: samo za branje ali branje+pisanje. Od tega je odvisna njegova fizična organiziranost. Ker je lahko več predpomnilniških področij, je njihova funkcionalnost lahko različna (to pomeni, da ima lahko sistem hkrati predpomnilniška področja za branje in branje+pisanje).

Če se uporablja predpomnilnik samo za branje, je lahko sestavljen iz 1–8 diskov SSD. Ni nujno, da so diski enake kapacitete in istega prodajalca, saj so združeni v strukturo NRAID+. Vsi SSD-ji v skupini so v skupni rabi. Sistem neodvisno poskuša vzporediti dohodne zahteve med vsemi SSD-ji, da doseže največjo zmogljivost. Če eden od SSD diskov odpove, se ne bo zgodilo nič hudega: navsezadnje predpomnilnik vsebuje le kopijo podatkov, shranjenih na nizu trdih diskov. Samo količina razpoložljivega predpomnilnika SSD se bo zmanjšala (ali postala nič, če uporabljate originalni predpomnilnik SSD z enega pogona).

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Če se predpomnilnik uporablja za operacije branja + pisanja, mora biti število SSD-jev v bazenu večkratnik dveh, saj se vsebina zrcali na parih pogonov (uporabljena je struktura NRAID 1+). Podvajanje predpomnilnika je potrebno, ker lahko vsebuje podatke, ki še niso bili zapisani na trde diske. In v tem primeru bi izpad SSD-ja iz področja predpomnilnika povzročil izgubo informacij. V primeru NRAID 1+ bo okvara SSD-ja preprosto vodila do tega, da se predpomnilnik prenese v stanje samo za branje, pri čemer se nezapisani podatki prenesejo na polje trdega diska. Po zamenjavi pokvarjenega SSD-ja se bo predpomnilnik vrnil v prvotni način delovanja. Mimogrede, za večjo varnost lahko predpomnilniku za branje in pisanje dodelite namenske vroče rezerve.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Pri uporabi funkcije predpomnjenja SSD v XCubeSAN obstajajo številne zahteve glede količine pomnilnika krmilnikov za shranjevanje: več kot je sistemskega pomnilnika, večje bo območje predpomnilnika na voljo.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Za razliko od večine proizvajalcev sistemov za shranjevanje, ki ponujajo samo možnost vklopa/izklopa predpomnilnika SSD, QSAN ponuja več možnosti. Zlasti lahko izberete način delovanja predpomnilnika glede na naravo obremenitve. Obstajajo tri prednastavljene predloge, ki so po svojem delovanju najbližje ustreznim storitvam: baza podatkov, datotečni sistem, spletna storitev. Poleg tega lahko skrbnik ustvari svoj profil z nastavitvijo zahtevanih vrednosti parametrov:

  • Velikost bloka (Velikost bloka predpomnilnika) – 1/2/4 MB
  • Število zahtev za branje bloka, tako da se kopira v predpomnilnik (Prag zapolni ob branju) – 1..4
  • Število zahtev za pisanje bloka, tako da se kopira v predpomnilnik (Prag zapolni ob zapisu) – 0..4

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Profile lahko spreminjamo sproti, seveda pa s ponastavitvijo vsebine predpomnilnika in njegovim novim "segrevanjem".

Glede na načelo delovanja predpomnilnika SSD lahko izpostavimo glavne operacije pri delu z njim:

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Branje podatkov, ko niso v predpomnilniku

  1. Zahteva gostitelja prispe do krmilnika;
  2. Ker zahtevanih ni v predpomnilniku SSD, se berejo s trdih diskov;
  3. Prebrani podatki se pošljejo gostitelju. Hkrati se preveri, ali so ti bloki "vroči";
  4. Če da, potem se kopirajo v predpomnilnik SSD za nadaljnjo uporabo.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Preberi podatke, ko so prisotni v predpomnilniku

  1. Zahteva gostitelja prispe do krmilnika;
  2. Ker so zahtevani podatki v predpomnilniku SSD, se preberejo od tam;
  3. Prebrani podatki se pošljejo gostitelju.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Pisanje podatkov pri uporabi predpomnilnika za branje

  1. Zahteva za pisanje od gostitelja prispe do krmilnika;
  2. Podatki se zapisujejo na trde diske;
  3. Odgovor, ki nakazuje uspešno snemanje, se vrne gostitelju;
  4. Hkrati se preveri, ali je blok "vroč" (primerja se parameter Populate-on-Write Threshold). Če da, potem se kopira v predpomnilnik SSD za poznejšo uporabo.

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Zapisovanje podatkov pri uporabi predpomnilnika za branje in pisanje

  1. Zahteva za pisanje od gostitelja prispe do krmilnika;
  2. Podatki se zapišejo v predpomnilnik SSD;
  3. Odgovor, ki nakazuje uspešno snemanje, se vrne gostitelju;
  4. Podatki iz predpomnilnika SSD se v ozadju zapisujejo na trde diske;

Preverite v akciji

Testno stojalo

2 strežnika (CPU: 2 x Xeon E5-2620v3 2.4 Hz / RAM: 32 GB) sta povezana z dvema priključkoma prek Fibre Channel 16G neposredno na sistem za shranjevanje XCubeSAN XS5224D (16 GB RAM/krmilnik).

Uporabili smo 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, združenih v RAID5 (15+1), za podatkovno polje in 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s kot predpomnilnik

Ustvarjena sta bila 2 nosilca: eden za vsak strežnik.

Preizkus 1. Predpomnilnik SSD samo za branje od 1-8 SSD-jev

Predpomnilnik SSD

  • Vrsta V/I: Prilagajanje
  • Velikost bloka predpomnilnika: 4 MB
  • Prag zapolni ob branju: 1
  • Prag izpolnitve ob pisanju: 0

V/I vzorec

  • Orodje: IOmeter V1.1.0
  • Delavci: 1
  • Izjemno (globina čakalne vrste): 128
  • Specifikacije dostopa: 4 KB, 100 % branje, 100 % naključno

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Teoretično velja, da je več SSD diskov v predpomnilniškem področju večja zmogljivost. V praksi se je to potrdilo. Edino znatno povečanje števila SSD-jev z majhnim številom nosilcev ne povzroči eksplozivnega učinka.

Test 2. Predpomnilnik SSD v načinu branja + pisanja z 2–8 diski SSD

Predpomnilnik SSD

  • Vrsta V/I: Prilagajanje
  • Velikost bloka predpomnilnika: 4 MB
  • Prag zapolni ob branju: 1
  • Prag izpolnitve ob pisanju: 1

V/I vzorec

  • Orodje: IOmeter V1.1.0
  • Delavci: 1
  • Izjemno (globina čakalne vrste): 128
  • Specifikacije dostopa: 4 KB, 100 % pisanje, 100 % naključno

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Enak rezultat: eksplozivna rast zmogljivosti in skaliranje z večanjem števila SSD-jev.

V obeh preizkusih je bila količina delovnih podatkov manjša od celotne velikosti predpomnilnika. Zato so bili sčasoma vsi bloki kopirani v predpomnilnik. In delo je bilo dejansko že opravljeno s SSD-ji, praktično brez vpliva na trde diske. Namen teh testov je bil jasno prikazati učinkovitost segrevanja predpomnilnika in prilagajanje njegove zmogljivosti glede na število diskov SSD.

Zdaj pa se vrnimo na zemljo in preverimo bolj realistično situacijo, ko je količina podatkov večja od velikosti predpomnilnika. Da bi preizkus opravil v razumnem času (obdobje »ogrevanja« predpomnilnika se močno poveča, ko se poveča velikost nosilca), bomo omejili velikost nosilca na 120 GB.

Test 3. Emulacija baze podatkov

Predpomnilnik SSD

  • Vrsta V/I: zbirka podatkov
  • Velikost bloka predpomnilnika: 1 MB
  • Prag zapolni ob branju: 2
  • Prag izpolnitve ob pisanju: 1

V/I vzorec

  • Orodje: IOmeter V1.1.0
  • Delavci: 1
  • Izjemno (globina čakalne vrste): 128
  • Specifikacije dostopa: 8 KB, 67 % branje, 100 % naključno

Izvedba predpomnjenja SSD v pomnilniškem sistemu QSAN XCubeSAN

Presoja

Očiten zaključek je seveda dobra učinkovitost uporabe predpomnilnika SSD za izboljšanje delovanja katerega koli sistema za shranjevanje. Uporabljeno za QSAN XCubeSAN Ta izjava velja v celoti: funkcija predpomnjenja SSD je implementirana odlično. To zadeva podporo za načine branja in branja + pisanja, prilagodljive nastavitve za kateri koli scenarij uporabe, pa tudi splošno delovanje sistema kot celote. Zato lahko za zelo razumno ceno (cena licence je primerljiva s ceno 1-2 SSD-jev) znatno povečate splošno zmogljivost.

Vir: www.habr.com

Dodaj komentar