Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

I tecnulugii per migliurà u rendiment basatu annantu à l'usu di SSD è largamente usati in i sistemi di almacenamento sò stati inventati longu. Prima di tuttu, hè l'usu di SSD cum'è spaziu di almacenamiento, chì hè 100% efficace, ma caru. Per quessa, i tecnulugii stanchi è caching sò usati, induve SSD sò usati solu per i dati più populari ("hot"). Tiring hè bonu per scenarii di usu à longu andà (ghjorni-settimane) di dati "caldi". A caching, à u cuntrariu, hè per un usu di cortu termini (minuti-ore). E duie opzioni sò implementate in u sistema di almacenamiento QSAN XCubeSAN. In questu articulu, guardemu l'implementazione di u sicondu algoritmu - Cache SSD.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

L'essenza di a tecnulugia di cache SSD hè l'usu di SSD cum'è cache intermediu trà i discu duru è a RAM di u controller. U rendiment di u SSD hè, sicuru, più bassu di u rendiment di u cache propiu di u controller, ma u voluminu hè un ordine di grandezza più altu. Dunque, avemu un certu cumprumissu trà a velocità è u voluminu.

Indicazioni per aduprà a cache SSD per a lettura:

  • A predominanza di l'operazioni di lettura sopra l'operazioni di scrittura (più spessu tipica per e basa di dati è l'applicazioni web);
  • A prisenza di un collu di buttiglia in a forma di prestazione di l'array di discu duru;
  • A quantità di dati necessarii hè menu di a dimensione di a cache SSD.

L'indicazioni per aduprà una cache SSD di lettura + scrittura sò listessi, salvu a natura di l'operazioni - tipu mistu (per esempiu, servitore di file).

A maiò parte di i venditori di almacenamiento utilizanu cache SSD di sola lettura in i so prudutti. A diferenza fundamentale QSAN Forniscenu a capacità di utilizà a cache per scrive ancu. Per attivà a funziunalità di cache SSD in i sistemi di almacenamiento QSAN, duvete cumprà una licenza separata (furnita elettronicamente).

A cache SSD in XCubeSAN hè implementata fisicamente in forma di cache SSD separati. Ci ponu esse sin'à quattru di elli in u sistema. Ogni piscina, sicuru, usa u so propiu set di SSD. E digià in e pruprietà di u discu virtuale determinamu s'ellu utilizerà un cache pool è quale. L'attivazione è a disattivazione di l'usu di cache per i volumi pò esse fattu in linea senza arrestà l'I/O. Pudete ancu aghjunghje SSD à a piscina è sguassate da quì. Quandu crea una cache di pool SSD, avete bisognu di sceglie in quale modu operarà: sola lettura o lettura + scrittura. A so urganizazione fisica dipende da questu. Siccomu ci ponu esse parechje cache pools, a so funziunalità pò esse diversa (vale à dì, u sistema pò avè sia leghje è leghje + scrive cache pools à u stessu tempu).

Se si usa un cache di sola lettura, pò esse cumpostu da 1-8 SSD. I dischi ùn anu micca esse di a stessa capacità è di u stessu venditore, postu chì sò cumminati in una struttura NRAID +. Tutti i SSD in a piscina sò spartuti. U sistema prova indipindente di parallelizà e richieste entrate trà tutti i SSD per ottene u massimu rendiment. Se unu di i SSD falla, ùn succede nunda di male: dopu à tuttu, a cache cuntene solu una copia di e dati guardati nantu à l'array di discu duru. Hè solu chì a quantità di cache SSD dispunibile diminuirà (o diventerà zero se utilizate a cache SSD originale da una unità).

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Se a cache hè aduprata per l'operazioni di lettura + scrittura, allora u numeru di SSD in a piscina deve esse un multiplu di dui, postu chì i cuntenuti sò specchiati in coppie di unità (a struttura NRAID 1+ hè aduprata). Duplicà a cache hè necessariu perchè pò cuntene dati chì ùn sò micca stati scritti à i discu duru. È in questu casu, u fallimentu di u SSD da u cache pool porta à a perdita di l'infurmazioni. In u casu di NRAID 1+, un fallimentu di u SSD hà da purtari à u cache esse trasferitu à un statu di sola lettura, cù dati micca scritti esse scaricati nantu à u array di discu duru. Dopu avè rimpiazzatu u SSD difettu, a cache torna à u so modu operativu originale. A propositu, per una sicurità più grande, pudete assignà ricambi caldi dedicati à una cache di lettura + scrittura.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Quandu si usa a funzione di cache SSD in XCubeSAN, ci sò parechje esigenze per a quantità di memoria di i cuntrolli di almacenamiento: più memoria di u sistema, più grande u cache pool serà dispunibule.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

A cuntrariu di a maiò parte di i fabricatori di sistemi di almacenamentu, chì offrenu solu una opzione per accende / disattivà a cache SSD, QSAN furnisce più opzioni. In particulare, pudete selezziunà u modu di funziunamentu di cache secondu a natura di a carica. Ci sò trè mudelli predeterminati chì sò più vicinu in u so funziunamentu à i servizii currispundenti: basa di dati, sistema di schedari, serviziu web. Inoltre, l'amministratore pò creà u so propiu prufilu stabilendu i valori di i parametri necessarii:

  • Dimensione di u bloccu (Taglia di u bloccu Cache) - 1/2/4 MB
  • Numeru di dumande per leghje un bloccu in modu chì hè copiatu in a cache (Populate-on-Read Threshold) - 1..4
  • Numero di richieste per scrive un bloccu in modu chì hè copiatu in a cache (Populate-on-Write Threshold) - 0..4

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

I profili ponu esse cambiati nantu à a mosca, ma, sicuru, cù u cuntenutu di u cache resettatu è u so novu "riscaldamentu".

In cunsiderà u principiu di u funziunamentu di u cache SSD, pudemu mette in risaltu l'operazioni principali quandu u travagliu cù questu:

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Lettura di dati quandu ùn hè micca in a cache

  1. Una dumanda da l'ospite ghjunghje à u controller;
  2. Siccomu i dumandati ùn sò micca in u cache SSD, sò leghjite da i discu duru;
  3. I dati letti sò mandati à l'ospite. À u listessu tempu, un cuntrollu hè fattu per vede s'ellu sti blocchi sò "caldi";
  4. Se sì, allora sò copiati in a cache SSD per un usu più.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Lettura di dati quandu hè presente in a cache

  1. Una dumanda da l'ospite ghjunghje à u controller;
  2. Siccomu i dati dumandati sò in a cache SSD, hè lettu da quì;
  3. I dati letti sò mandati à l'ospite.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Scrive dati quandu si usa a cache di lettura

  1. Una dumanda di scrittura da l'ospite arriva à u controller;
  2. I dati sò scritti à i discu duru;
  3. Una risposta chì indica una registrazione successu hè tornata à l'ospite;
  4. À u listessu tempu, hè verificatu se u bloccu hè "caldo" (u paràmetru Populate-on-Write Threshold hè paragunatu). Se sì, allora hè copiatu in a cache SSD per u usu dopu.

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Scrive dati quandu si usa una cache di lettura + scrittura

  1. Una dumanda di scrittura da l'ospite arriva à u controller;
  2. I dati sò scritti in a cache SSD;
  3. Una risposta chì indica una registrazione successu hè tornata à l'ospite;
  4. I dati da a cache SSD sò scritti à i discu duru in fondo;

Verificate in azzione

banc d'essai

2 servitori (CPU: 2 x Xeon E5-2620v3 2.4Hz / RAM: 32GB) sò cunnessi da dui porti via Fibre Channel 16G direttamente à u sistema di almacenamiento XCubeSAN XS5224D (16GB RAM / controller).

Avemu usatu 16 x Seagate Constellation ES, ST500NM0001, 500GB, SAS 6Gb/s, cumminati in RAID5 (15+1), per l'array di dati è 8 x HGST Ultrastar SSD800MH.B, HUSMH8010BSS200, 100GB, SASs as cache12Gb

2 volumi sò stati creati: unu per ogni servitore.

Test 1. Cache SSD di sola lettura da 1-8 SSD

Cache SSD

  • Tipu I/O: persunalizazione
  • Dimensione di u bloccu di cache: 4 MB
  • Soglia di populazione nantu à lettura: 1
  • Soglia di populazione in scrittura: 0

Pattern I/O

  • Strumenta: IOmeter V1.1.0
  • I travagliadori: 1
  • Eccezionale (Profondità di fila): 128
  • Specificazioni di Accessu: 4KB, 100% Lettu, 100% Random

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

In teoria, più SSD in u cache pool, u più altu u rendiment. In pratica, questu hè statu cunfirmatu. L'unicu incrementu significativu in u numeru di SSD cù un picculu numeru di volumi ùn porta micca à un effettu splusivi.

Test 2. Cache SSD in u modu di lettura + scrittura cù 2-8 SSD

Cache SSD

  • Tipu I/O: persunalizazione
  • Dimensione di u bloccu di cache: 4 MB
  • Soglia di populazione nantu à lettura: 1
  • Soglia di populazione in scrittura: 1

Pattern I/O

  • Strumenta: IOmeter V1.1.0
  • I travagliadori: 1
  • Eccezionale (Profondità di fila): 128
  • Specificazioni di Accessu: 4KB, 100% Scrittura, 100% Random

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

U stessu risultatu: crescita splusiva di u rendiment è scala chì u numeru di SSD aumenta.

In i dui testi, a quantità di dati di travagliu era menu di a dimensione di cache tutale. Dunque, cù u tempu, tutti i blocchi sò stati copiati in a cache. È u travagliu, in fattu, era digià realizatu cù SSD, praticamenti senza affettà i discu duru. U scopu di sti testi era di dimustrà chjaramente l'efficacità di riscaldamentu di a cache è di scalà a so prestazione secondu u numeru di SSD.

Avà, vultà à a terra è verificate una situazione più realistica, quandu a quantità di dati hè più grande di a cache. Per chì a prova passa in una quantità di tempu raghjone (u periodu di "riscaldamentu" di cache aumenta assai cum'è a dimensione di u voluminu aumenta), limiteremu a dimensione di u voluminu à 120GB.

Test 3. Emulazione di basa di dati

Cache SSD

  • Tipu I/O: Database
  • Dimensione di u bloccu di cache: 1 MB
  • Soglia di populazione nantu à lettura: 2
  • Soglia di populazione in scrittura: 1

Pattern I/O

  • Strumenta: IOmeter V1.1.0
  • I travagliadori: 1
  • Eccezionale (Profondità di fila): 128
  • Specificazioni di Accessu: 8KB, 67% Lettu, 100% Random

Implementazione di cache SSD in u sistema di almacenamiento QSAN XCubeSAN

Verità

A cunclusione ovvia, sicuru, hè a bona efficienza di utilizà una cache SSD per migliurà a prestazione di qualsiasi sistema di almacenamento. Appiicatu à QSAN XCubeSAN Questa dichjarazione si applica cumplettamente: a funzione di caching SSD hè implementata perfettamente. Si tratta di supportu per i modi di lettura è lettura + scrittura, paràmetri flessibili per ogni scenariu d'usu, è ancu u rendiment generale di u sistema in tuttu. Dunque, per un costu assai ragiunate (u prezzu di licenza hè paragunabile à u costu di 1-2 SSD), pudete aumentà significativamente u rendiment generale.

Source: www.habr.com

Add a comment