Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

TeknologjitĂ« e rritjes sĂ« performancĂ«s, tĂ« bazuara nĂ« pĂ«rdorimin e SSD dhe tĂ« aplikueshme gjerĂ«sisht nĂ« SAN, janĂ« shpikur prej kohĂ«sh. SĂ« pari, Ă«shtĂ« pĂ«rdorimi i SSD si hapĂ«sirĂ« ruajtjeje, qĂ« Ă«shtĂ« 100% efektive, por e shtrenjtĂ«. Prandaj, pĂ«rdoren teknologjitĂ« e tier-ingut dhe caching, ku SSD pĂ«rdoren vetĂ«m pĂ«r tĂ« dhĂ«nat mĂ« tĂ« kĂ«rkuara («tĂ« nxehta»). Tier-ing Ă«shtĂ« i mirĂ« pĂ«r skenarĂ«t e pĂ«rdorimit afatgjatĂ« (ditĂ«-javĂ«) tĂ« tĂ« dhĂ«nave tĂ« “nxehta”. NdĂ«rsa caching, pĂ«rkundrazi, pĂ«r pĂ«rdorim afatshkurtĂ«r (minuta-orĂ«). TĂ« dy alternativat janĂ« zbatuar nĂ« SAN. QSAN XCubeSAN. NĂ« kĂ«tĂ« artikull ne do tĂ« shqyrtojmĂ« implementimin e algoritmit tĂ« dytĂ« – SSD caching.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Thelbi i teknologjisë së SSD caching është përdorimi i SSD si një ndërmjetësues midis hard diskëve dhe memories RAM të kontrollorit. Performanca e SSD, natyrisht, është më e ulët se performanca e caches së vetë kontrollorit, por kapaciteti është një rend më i lartë. Prandaj, arrijmë një kompromis midis shpejtësisë dhe kapacitetit.

Shenjat për përdorimin e SSD cache për lexim:

  • Dominimi i operacioneve tĂ« leximit mbi operacionet e shkrimit (zakonisht tipike pĂ«r bazat e tĂ« dhĂ«nave dhe aplikacionet web);
  • Prania e njĂ« ngushtice nĂ« performancĂ«n e grupeve tĂ« hard diskĂ«ve;
  • VĂ«llimi i tĂ« dhĂ«nave tĂ« kĂ«rkuara Ă«shtĂ« mĂ« i vogĂ«l se vĂ«llimi i SSD cache.

Shenjat pĂ«r pĂ«rdorimin e SSD cache pĂ«r lexim + shkrim janĂ« tĂ« njĂ«jtat arsye, pĂ«rveç natyrĂ«s sĂ« operacioneve – lloj i pĂ«rzier (p.sh., server skedarĂ«sh).

Shumica e prodhuesve të SAN përdorin në produktet e tyre SSD cache vetëm për operacionet e leximit. Dallimi themelor QSAN nga ata është mundësia e përdorimit të caches gjithashtu dhe për shkrim. Për aktivizimin e funksionalitetit SSD caching në SAN QSAN, kërkohet blerja e një licencë të veçantë (e cila ofrohet në formë elektronike).

SSD cache nĂ« XCubeSAN Ă«shtĂ« fizikisht e realizuar si grupe tĂ« veçanta SSD cache. NĂ« sistem mund tĂ« ketĂ« deri nĂ« katĂ«r. Çdo grup, natyrisht, pĂ«rdor setin e vet tĂ« SSD. Dhe tashmĂ« nĂ« pronĂ«sitĂ« e diskut virtual ne pĂ«rcaktojmĂ«, nĂ«se do tĂ« pĂ«rdorĂ« grupin e caches dhe cili domethĂ«nĂ«. Aktivizimi dhe çaktivizimi i pĂ«rdorimit tĂ« caches pĂ«r volumet mund tĂ« kryhet nĂ« mĂ«nyrĂ« online pa ndĂ«rprerĂ« hyrje/dali. Gjithashtu nĂ« “nxehtĂ«â€ mund tĂ« shtohen SSD nĂ« grup dhe tĂ« hiqen prej tij. Kur krijohet grupi i SSD cache Ă«shtĂ« e nevojshme tĂ« zgjidhet nĂ« cilin mod do tĂ« operejĂ«: vetĂ«m lexim ose lexim + shkrim. Kjo pĂ«rcakton organizimin fizik tĂ« tij. NdĂ«rsa mund tĂ« ketĂ« disa grupe caches, funksionaliteti i tyre mund tĂ« jetĂ« i ndryshĂ«m (pra, nĂ« sistem mund tĂ« ketĂ« njĂ«kohĂ«sisht grupe caches pĂ«r lexim dhe pĂ«r lexim + shkrim).

Në rastin e përdorimit të grupit të caches vetëm për lexim, ai mund të përbëhet nga 1-8 SSD. Diskët nuk duhet të jenë domosdoshmërisht të njëjtë në kapacitet dhe nga i njëjti prodhues, pasi ato bashkohen në strukturën NRAID+. Të gjitha SSD në grup përdoren së bashku. Sistemi përpiqet të ndajnë kërkesat e ardhshme midis të gjitha SSD për të arritur performancë maksimale. Në rastin e dështimit të njërit prej SSD, asgjë e keqe nuk do të ndodhë: sepse cache përmban vetëm një kopje të të dhënave që ruhen në grupin e hard diskëve. Thjesht kapaciteti i SSD cache do të zvogëlohet (ose do të bëhet zero në rastin e përdorimit të cache-t fillestar të SSD nga një ruajtës).

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

NĂ«se cache pĂ«rdoret pĂ«r operacione lexim + shkrim, atĂ«herĂ« numri i SSD nĂ« grup duhet tĂ« jetĂ« i barabartĂ« me dy, pasi pĂ«rmbajtja pasqyrohet nĂ« çiftin e ruajtĂ«sve (pĂ«rdoret struktura NRAID 1+). Dublimi i caches Ă«shtĂ« i nevojshĂ«m pĂ«r shkak se nĂ« tĂ« mund tĂ« pĂ«rmbahen tĂ« dhĂ«na qĂ« ende nuk janĂ« shkruar nĂ« hard diskĂ«. Dhe nĂ« kĂ«tĂ« rast, dĂ«shtimi i njĂ« SSD nga grupi i caches do tĂ« çonte nĂ« humbjen e informacionit. NĂ« rastin e NRAID 1+, dĂ«shtimi i SSD do tĂ« thotĂ« thjesht kalimin e caches nĂ« gjendjen e punĂ«s “vetĂ«m pĂ«r lexim” me shpĂ«rndarjen e tĂ« dhĂ«nave tĂ« pa shkruara nĂ« grupin e hard diskĂ«ve. Pas zĂ«vendĂ«simit tĂ« SSD tĂ« prishur, cache do tĂ« kthehet nĂ« mĂ«nyrĂ«n e tij fillestare tĂ« punĂ«s. PĂ«r mĂ« tepĂ«r, pĂ«r siguri mĂ« tĂ« madhe tĂ« caches, tĂ« punojĂ« nĂ« lexim + shkrim, mund tĂ« caktohet njĂ« rezervĂ« e nxehtĂ« e dedikuar.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Kur përdoret funksioni i SSD caching në XCubeSAN ka disa kërkesa për kapacitetin e memories së kontrollorëve të SAN: sa më shumë memorie sistemike, aq më i madh do të jetë kapaciteti i grupit të caches që do të jetë në dispozicion.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Ndryshe nga shumica e prodhuesve të SDD, të cilët ofrojnë vetëm opsionin e aktivizimit/festimit të SSD cache, QSAN ofron mundësi më të shumta. Në veçanti, mund të zgjidhni modin e punës së caches në varësi të natyrës së ngarkesës. Ka tre shabllona të paracaktuar, të cilët janë më afër funksionimit përkatës të shërbimeve: baza e të dhënave, sistemi i skedarëve, shërbimi web. Përveç kësaj, administratorët mund të krijojnë profilin e tyre të personalizuar, duke caktuar vlerat e kërkuara të parametrave:

  • MadhĂ«sia e bllokut (Cache Block Size) - 1/2/4 MB
  • Numri i kĂ«rkesave pĂ«r lexim tĂ« bllokut, qĂ« duhet tĂ« kopjohet nĂ« cache (Populate-on-Read Threshold) - 1..4
  • Numri i kĂ«rkesave pĂ«r shkruan bllokun, qĂ« duhet tĂ« kopjohet nĂ« cache (Populate-on-Write Threshold) - 0..4

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Profillet mund të ndryshohen "në flakë", por, sigurisht, me zbrazjen e përmbajtjes së caches dhe "ngrohjen" e tij të re.

Duke shqyrtuar parimin e funksionimit të SSD cache, mund të përfshihen operacionet kryesore gjatë punës me të:

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Leximi i të dhënave, kur ato nuk janë në cache

  1. Kërkesa nga hosti arrin në kontrollues;
  2. Pasi të dhënat e kërkuara nuk janë në SSD cache, ato lexohen nga diskët e fortë;
  3. Të dhënat e lexuara dërgohen në host. Në të njëjtën kohë, bëhet kontrolli nëse këto blloke janë "të nxehta";
  4. Nese po, ato kopjohen në SSD cache për përdorim të ardhshëm.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Leximi i të dhënave, kur ato janë në cache

  1. Kërkesa nga hosti arrin në kontrollues;
  2. Pasi të dhënat e kërkuara janë në SSD cache, ato lexohen prej andej;
  3. Të dhënat e lexuara dërgohen në host.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Shkrimi i të dhënave duke përdorur cache për lexim

  1. Kërkesa për shkrim nga hosti arrin në kontrollues;
  2. Të dhënat shkruhen në diskët e fortë;
  3. Hosti merr një përgjigje për shkrimin e suksesshëm;
  4. Në të njëjtën kohë, kontrollohet nëse blloku është "i nxehtë" (krahasohet parametrin Populate-on-Write Threshold). Nëse po, ai kopjohet në SSD cache për përdorim të mëvonshëm.

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Shkrimi i të dhënave duke përdorur cache për lexim + shkrim

  1. Kërkesa për shkrim nga hosti arrin në kontrollues;
  2. Të dhënat shkruhen në SSD cache;
  3. Hosti merr një përgjigje për shkrimin e suksesshëm;
  4. Të dhënat nga SSD cache jepen në sfond në diskët e fortë;

Kontrolli në veprim

Njësia e testimit

2 serverë (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) të lidhur me dy porte përmes Fibre Channel 16G drejtpërdrejt në SDD XCubeSAN XS5224D (16GB RAM/kontrollues).

Përdorën 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, të kombinuara në RAID5 (15+1), për grumbullin e të dhënave dhe 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SAS 12Gb/s si cache.

I janë krijuar 2 vëllime: një për secilin server.

Testi 1. SSD cache vetëm për lexim me 1-8 SSD

SSD Cache

  • Lloji I/O: Personalizim
  • MadhĂ«sia e Bllokut tĂ« Cache: 4MB
  • Populate-on-read Threshold: 1
  • Populate-on-write Threshold: 0

Modelo I/O

  • Mjeti: IOmeter V1.1.0
  • PunĂ«torĂ«t: 1
  • Numri i pritjes (Queue Depth): 128
  • Specifikimet e qasjeve: 4KB, 100% Lexim, 100% RastĂ«sor

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Teorikisht, sa më shumë SSD të ketë në grupin e caches, aq më e lartë është performanca. Në praktikë, ky fakt u konfirmua. E vetmja, rritja e dukshme e numrit të SSD-në një numër të vogël të vëllimeve nuk çon në një efekt eksploziv.

Testi 2. SSD cache në modin lexim + shkrim me 2-8 SSD

SSD Cache

  • Lloji I/O: Personalizim
  • MadhĂ«sia e Bllokut tĂ« Cache: 4MB
  • Populate-on-read Threshold: 1
  • Populate-on-write Threshold: 1

Modelo I/O

  • Mjeti: IOmeter V1.1.0
  • PunĂ«torĂ«t: 1
  • Numri i pritjes (Queue Depth): 128
  • Specifikimet e qasjeve: 4KB, 100% Shkrim, 100% RastĂ«sor

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Të njëjtat rezultate: rritje eksplozive e performancës dhe zgjerimi me rritjen e numrit të SSD.

Në të dy testet, volumi i të dhënave ishte më i vogël se volumi i përgjithshëm i caches. Prandaj, në kohën, të gjitha blloqet u kopjuan në cache. Dhe puna tashmë, në esencë, u krye me SSD, duke mos prekur pothuajse diskët e fortë. Qëllimi i këtyre testimeve ishte të ilustronte qartazi efikasitetin e ngrohjes së caches dhe rritjen e performancës në varësi të numrit të SSD.

Tani kthehemi në tokë dhe kontrollojmë një situatë më realiste, kur volumi i të dhënave është më i madh se madhësia e caches. Për të realizuar testin brenda një kohe të arsyeshme (periudha e "ngrohjes" së caches rritet shumë me rritjen e madhësisë së vëllimit), do të kufizohemi në një madhësi vëllimi prej 120GB.

Testi 3. Emulimi i punës së bazës së të dhënave

SSD Cache

  • Lloji I/O: Baza e tĂ« dhĂ«nave
  • MadhĂ«sia e Bllokut tĂ« Cache: 1MB
  • Populate-on-read Threshold: 2
  • Populate-on-write Threshold: 1

Modelo I/O

  • Mjeti: IOmeter V1.1.0
  • PunĂ«torĂ«t: 1
  • Numri i pritjes (Queue Depth): 128
  • Specifikimet e qasjeve: 8KB, 67% Lexim, 100% RastĂ«sor

Implementimi i SSD caching në ruajtësin QSAN XCubeSAN

Verdikti

Si një përfundim të dukshëm, sigurisht, sugjerohet një efikasitet i mirë i përdorimit të SSD caches për të rritur performancën e çdo SDD. Përshtatur për QSAN XCubeSAN kjo thënie zbatohet plotësisht: funksioni i SSD caching është implementuar shkëlqyeshëm. Kjo përfshin mbështetje për modulet e lexim dhe lexim + shkrim, si dhe konfigurim fleksibël për çdo skenar përdorimi, si dhe rendimentin përfundimtar të sistemit në tërësi. Prandaj, për një çmim të arsyeshëm (çmimi i licencës është në përpjesëtim me çmimin e 1-2 SSD) mund të rritet ndjeshëm performanca e përgjithshme.

Burimi: habr.com

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster