FAST VP in Unity storage: cumu funziona

Oghje parlemu di una tecnulugia interessante implementata in i sistemi di almacenamiento Unity / Unity XT - FAST VP. Sè questu hè a vostra prima volta à sente parlà di Unity, allora pudete verificà e caratteristiche di u sistema usendu u ligame à a fine di l'articulu. Aghju travagliatu in FAST VP in u gruppu di prughjettu Dell EMC per più di un annu. Oghje vogliu parlà di sta tecnulugia in più detail è revelà qualchi dettagli di a so implementazione. Di sicuru, solu quelli chì sò permessi di esse revelati. Sè site interessatu in tematiche di almacenamentu di dati efficiente o simpricimenti ùn avete micca capitu cumplettamente a documentazione, allora questu articulu serà certamente utile è interessante.

FAST VP in Unity storage: cumu funziona

Vi dicu subitu ciò chì ùn serà micca in u materiale. Ùn ci sarà micca ricerca di cuncurrenti è paraguni cun elli. Ùn aghju micca pensatu ancu di parlà di tecnulugii simili da open source, perchè u curiosu lettore sapi digià di elli. È, sicuru, ùn aghju micca fà publicità nunda.

Tiring di Storage. Obiettivi è obiettivi di FAST VP

FAST VP significa Tiring di Storage Fully Automated for Virtual Pool. Un pocu difficiule? Nisun prublema, avemu da capisce avà. Tiring hè una manera di urganizà u almacenamentu di dati in quale ci sò parechji livelli (tiers) induve sta dati hè almacenatu. Ognunu hà e so caratteristiche. U più impurtante: u rendiment, u voluminu è u prezzu di almacenà una unità di informazioni. Di sicuru, ci hè una relazione trà elli.

Una funzione impurtante di u tiering hè chì l'accessu à i dati hè furnitu in modu uniforme, indipendentemente da u livellu di almacenamento à quale hè attualmente situatu, è a dimensione di a piscina hè uguale à a summa di e dimensioni di e risorse incluse in questu. Hè quì chì e sferenze da u cache si trovanu: a dimensione di u cache ùn hè micca aghjuntu à u voluminu tutale di a risorsa (piscina in questu casu), è i dati di u cache duplicate qualchì frammentu di i dati principali di i media (o duplicà si dati da a cache ùn sò micca stati scritti). Inoltre, a distribuzione di dati per livelli hè oculata da l'utilizatore. Questu hè, ùn vede micca esattamente ciò chì i dati sò situati à ogni livellu, ancu s'ellu pò influenzà questu indirettu per stabilisce e pulitiche (più nantu à elli dopu).

Avà guardemu à e caratteristiche di l'implementazione di i livelli di almacenamento in Unity. Unità hà 3 livelli, o tier:

  • Prestazioni estreme (SSD)
  • Prestazione (SAS HDD 10k/15k RPM)
  • Capacità (NL-SAS HDD 7200 RPM)

Sò presentati in ordine decrescente di prestazione è prezzu. A prestazione estrema include solu unità di stati solidi (SSD). L'altri dui livelli includenu unità di discu magneticu, chì sò diffirenti in a velocità di rotazione è, per quessa, u rendiment.

I media di almacenamento da u listessu livellu è a stessa dimensione sò cumminati in un array RAID, chì formanu un gruppu RAID (gruppu RAID, abbreviatu cum'è RG); Pudete leghje nantu à i livelli RAID dispunibuli è cunsigliati in a documentazione ufficiale. Piscine di almacenamiento sò furmati da gruppi RAID da unu o più livelli, da quale u spaziu liberu hè allora distribuitu. È da u spaziu di piscina hè attribuitu per i sistemi di schedari è LUN.

FAST VP in Unity storage: cumu funziona

Perchè aghju bisognu di Tiering?

In breve è in astrattu: per ottene risultati maiò cù un minimu di risorse. Più specificamente, u risultatu hè generalmente capitu cum'è un inseme di caratteristiche di u sistema di almacenamento - rapidità è tempu d'accessu, costu di almacenamento è altri. U minimu di risorse significa u minimu spesa: soldi, energia, etc. FAST VP implementa meccanismi per a ridistribuzione di dati in diversi livelli in i sistemi di almacenamiento Unity / Unity XT. Se mi credi, allora pudete saltà u prossimu paragrafu. Per u restu, vi dicu un pocu di più.

A distribuzione curretta di dati à traversu i livelli di almacenamento permette di risparmià u costu generale di u almacenamentu sacrificendu a velocità d'accessu à alcune informazioni raramente usate, è migliurà a prestazione movendu e dati aduprati spessu in media più veloci. Quì qualchissia puderia argumentà chì ancu senza tiering, un amministratore normale sapi induve mette quale dati, quale sò e caratteristiche desiderate di un sistema di almacenamiento per u so compitu, etc. Questu hè senza dubbitu veru, ma a distribuzione manuale di dati hà i so inconvenienti:

  • richiede u tempu è l'attenzione di l'amministratore;
  • Ùn hè micca sempre pussibule di "redraw" risorse di almacenamiento per adattà à e cundizioni cambianti;
  • un vantaghju impurtante sparisce: accessu unificatu à e risorse situate à diversi livelli di almacenamento.

Per fà chì l'amministratori di l'almacenamiento si preoccupanu menu di a sicurità di u travagliu, aghju aghjunghje chì a pianificazione di risorse cumpetente hè necessariu ancu quì. Avà chì i travaglii di i livelli sò stati brevemente delineati, fighjemu un ochju à ciò chì pudete aspittà da FAST VP. Avà hè u tempu di vultà à a definizione. I primi dui paroli - Completamente Automatizatu - sò literalmente tradutti cum'è "completamente automatizatu" è significanu chì a distribuzione trà i livelli si faci automaticamente. Ebbè, Virtual Pool hè un pool di dati chì include risorse da diversi livelli di almacenamiento. Questu hè ciò chì pare:

FAST VP in Unity storage: cumu funziona

Fighjendu avanti, diceraghju chì FAST VP move dati solu in una piscina, è micca trà parechje piscine.

I prublemi risolti da FAST VP

Parlemu prima in astrattu. Avemu una piscina è un pocu miccanisimu chì ponu redistribuisce dati in questa piscina. Ricurdativi chì u nostru scopu hè di ottene a produtividade massima, ci dumandemu: chì manere pudemu ghjunghje ? Ci ponu esse parechji di elli, è quì FAST VP hà qualcosa da offre à l'utilizatori, postu chì a tecnulugia hè qualcosa di più cà solu di almacenamentu. Eccu alcuni modi chì FAST VP pò aumentà u rendiment di a piscina:

  • Distribuzione di dati in diversi tipi di discu, livelli
  • Distribuzione di dati trà dischi di u listessu tipu
  • Distribuzione di dati quandu espansione a piscina

Prima di guardà cumu si sò risolti sti travaglii, avemu bisognu di sapè alcuni fatti necessarii nantu à cumu funziona FAST VP. FAST VP opera cù blocchi di una certa dimensione - 256 megabytes. Questu hè u più chjucu "chunk" contiguu di dati chì pò esse spustatu. In a ducumentazione questu hè ciò chì chjamanu: slice. Da u puntu di vista di FAST VP, tutti i gruppi RAID sò custituiti da un inseme di tali "pezzi". Per quessa, tutte e statistiche I / O sò accumulate per tali blocchi di dati. Perchè hè stata scelta questa dimensione di bloccu è serà ridutta? U bloccu hè abbastanza grande, ma questu hè un cumprumissu trà a granularità di e dati (una dimensione di bloccu più chjuca significa una distribuzione più precisa) è e risorse informatiche dispunibuli: datu i stretti limitazioni esistenti nantu à a RAM è un gran numaru di blocchi, i dati di statistiche ponu piglià. troppu, è u numeru di calculi cresce proporzionalmente.

Cumu FAST VP attribuisce dati à a piscina. I pulitichi

Per cuntrullà u piazzamentu di dati in una piscina cù FAST VP attivatu, esiste e seguenti pulitiche:

  • U più altu livellu dispunibule
  • Auto-Tier
  • Start High poi Auto-Tier (predefinitu)
  • U livellu più bassu dispunibule

Affettanu sia l'allocazione iniziale di bloccu (dati scritti prima) è a riallocazione successiva. Quandu i dati sò digià situati nantu à i dischi, a redistribuzione serà iniziata secondu un schedariu o manualmente.

U più altu livellu dispunibile prova di mette un novu bloccu à u livellu più altu di rendiment. Se ùn ci hè micca abbastanza spaziu nantu à questu, hè piazzatu à u prossimu livellu più produtivu, ma poi i dati ponu esse spustati à un livellu più produtivu (se ci hè spaziu o spustendu altre dati). Auto-Tier mette novi dati à diversi livelli sicondu a quantità di spaziu dispunibule, è hè ridistribuitu secondu a dumanda è u spaziu liberu. Start High allora Auto-Tier hè a pulitica predeterminata è ancu cunsigliatu. Quandu si mette inizialmente, funziona cum'è u Livellu più altu dispunibule, è dopu i dati sò spustati secondu e so statistiche d'usu. A pulitica di u livellu più bassu dispunibile cerca di mette i dati in u livellu menu produttivu.

U trasferimentu di dati si trova cù priorità bassa per ùn interferiscenu micca cù l'operazione utile di u sistema di almacenamento, in ogni modu, ci hè un paràmetru di "Tassa di trasferimentu di dati" chì cambia a priorità. Ci hè una peculiarità quì: micca tutti i blocchi di dati anu u listessu ordine di redistribuzione. Per esempiu, i blocchi marcati cum'è metadata seranu spustati prima à un livellu più veloce. Metadata hè, per dì cusì, "dati nantu à i dati", una certa infurmazione supplementaria chì ùn hè micca dati di l'utilizatori, ma guarda a so descrizzione. Per esempiu, l'infurmazioni in u sistema di fugliale nantu à quale bloccu si trova un schedariu particulari. Questu significa chì a vitezza di l'accessu à e dati dipende da a velocità di l'accessu à i metadati. Siccomu chì i metadati sò tipicamente assai più chjuchi in grandezza, i beneficii di trasfurmà à i dischi di più altu rendiment sò previsti per esse più grande.

Criteriums chì Fast VP usa in u so travagliu

U criteriu principalu per ogni blocu, assai apprussimatamente, hè a caratteristica di a "esigenza" di e dati, chì dipende da u numeru di operazioni di lettura è scrittura di un fragmentu di dati. Chjamemu sta caratteristica "Temperatura". Ci hè dumandata (calda) dati chì hè "più caldu" chè dati unclaimed. Hè calculatu periodicamente, per difettu à intervalli di una ora.

A funzione di calculu di temperatura hà e seguenti proprietà:

  • In assenza di I/O, i dati "si raffreddano" con il tempo.
  • Sottu carica più o menu uguali à u tempu, a temperatura prima aumenta è poi stabilizza in un certu intervallu.

Dopu, e pulitiche descritte sopra è u spaziu liberu à ogni livellu sò cunsiderate. Per a chjarità, daraghju una foto da a documentazione. Quì i culori rossi, gialli è blu indicanu blocchi cù temperature alte, medie è bassu, rispettivamente.

FAST VP in Unity storage: cumu funziona

Ma tornemu à i travaglii. Allora, pudemu cumincià à analizà ciò chì hè fattu per risolve i prublemi FAST VP.

A. Distribuzione di dati à traversu diversi tipi di discu, livelli

In realtà, questu hè u compitu principale di FAST VP. U restu, in un sensu, sò derivati ​​​​di questu. Sicondu a pulitica selezziunata, i dati seranu distribuiti in diversi livelli di almacenamento. Prima di tuttu, a pulitica di piazzamentu hè presa in contu, dopu a temperatura di u bloccu è a dimensione / velocità di i gruppi RAID.

Per e pulitiche di Livellu più altu / più bassu dispunibule tuttu hè abbastanza simplice. Per l'altri dui questu hè u casu. I dati sò distribuiti in diversi livelli, tenendu in contu a dimensione è a prestazione di i gruppi RAID: cusì chì u rapportu di a "temperatura" tutale di i blocchi à a "prestazione massima cundizionale" di ogni gruppu RAID hè apprussimatamente a stessa. Cusì, a carica hè distribuita più o menu uniforme. Più dati in-demand hè spustatu à i media veloci, è i dati raramente usati sò spustati in media più lenti. Idealmentu, a distribuzione deve esse simile à questu:

FAST VP in Unity storage: cumu funziona

B. Distribuzione di dati trà dischi di u listessu tipu

Ricurdativi, à u principiu aghju scrittu chì i media di almacenamiento da unu o più i livelli sò cumminati in una sola piscina? In u casu di un unicu livellu, FAST VP hà ancu travagliu da fà. Per ottene u massimu rendiment à ogni livellu, hè cunsigliatu di distribuisce e dati in modu uniforme trà i dischi. Questu vi permetterà (in teoria) di ottene a quantità massima di IOPS. I dati in un gruppu RAID pò esse cunsideratu distribuitu uniformemente in i dischi, ma questu ùn hè micca sempre u casu trà i gruppi RAID. In l'eventu di un sbilanciamentu, FAST VP moverà e dati trà i gruppi RAID in proporzione à u so voluminu è "prestazioni cundiziunali" (in termini numerichi). Per a chjarità, mustraraghju un schema di riequilibriu trà trè gruppi RAID:

FAST VP in Unity storage: cumu funziona

B. Distribuzione di dati quandu espansione a piscina

Stu compitu hè un casu speciale di u precedente è hè realizatu quandu un gruppu RAID hè aghjuntu à a piscina. Per assicurà chì u gruppu RAID novu aghjuntu ùn resta micca inattivu, alcuni di i dati seranu trasferiti à questu, chì significa chì a carica serà ridistribuita in tutti i gruppi RAID.

SSD Wear Leveling

Utilizendu u nivellu di usura, FAST VP pò allargà a vita di un SSD, anche se sta funzione ùn hè micca direttamente ligata à Storage Tiering. Siccomu i dati di temperatura hè digià dispunibule, u numeru di operazioni di scrittura hè ancu pigliatu in contu, è sapemu cumu si move i blocchi di dati, saria logicu per FAST VP per risolve stu prublema.

Se u numeru di entrate in un gruppu RAID supera significativamente u nùmeru di entrate in un altru, FAST VP redistribuisce e dati in cunfurmità cù u numeru di operazioni di scrittura. Per una banda, questu allevia a carica è salva a risorsa di certi dischi, da l'altra banda, aghjunghje "travagliu" per i menu carichi, aumentendu u rendiment generale.

In questu modu, FAST VP assume i sfidi tradiziunali di Storage Tiering è face un pocu più di questu. Tuttu chistu permette di almacenà e dati in modu abbastanza efficace in u sistema di almacenamiento Unity.

A picca minichichje

  1. Ùn trascurate micca a lettura di a documentazione. Ci sò e migliori pratiche, è travaglianu abbastanza bè. Se li seguitate, allora, in regula, ùn ci sò micca prublemi serii. U restu di i cunsiglii basicamente ripeti o cumplementa.
  2. Se avete cunfiguratu è attivatu FAST VP, hè megliu lascià attivatu. Lasciate distribuisce e dati in u so tempu attribuitu è ​​pocu à pocu più di una volta à l'annu è avè un impattu seriu nantu à a realizazione di altre attività. In tali casi, a redistribuzione di dati pò piglià assai tempu.
  3. Attenti quandu sceglite una finestra di trasferimentu. Ancu s'ellu hè ovvi, pruvate à sceglie un tempu cù u minimu di carica nantu à Unità è attribuisce un periudu di tempu abbastanza.
  4. Pianu di espansione u vostru sistema di almacenamiento, fate à tempu. Questa hè una raccomandazione generale chì hè impurtante ancu per FAST VP. Se a quantità di spaziu liberu hè assai chjuca, allora u muvimentu di dati rallenta o diventa impussibile. Soprattuttu se avete trascuratu u puntu 2.
  5. Quandu espansione una piscina cù FAST VP attivatu, ùn deve micca principià cù i dischi più lenti. Questu hè, o aghjunghje tutti i gruppi RAID pianificati in una volta, o aghjunghje i dischi più veloci prima. In questu casu, a ridistribuzione di dati à novi dischi "rapidi" aumenterà a veloce generale di a piscina. Altrimenti, principiatu cù dischi "lenti" pò purtà à una situazione assai dispiacevule. Prima, i dati saranu trasferiti à novi dischi relativamente lenti, è dopu, quandu sò aghjuntu più veloci, in a direzzione opposta. Ci sò sfumature quì ligati à e diverse pulitiche FAST VP, ma in generale, una situazione simili hè pussibule.

Sè vo circate stu pruduttu, pudete pruvà Unity gratuitamente scaricando l'apparechju virtuale Unity VSA.

FAST VP in Unity storage: cumu funziona

À a fine di u materiale, sparte parechji ligami utili:

cunchiusioni

Mi piacerebbe scrive assai, ma capiscu chì micca tutti i dettagli seranu interessanti per u lettore. Per esempiu, pudete parlà in più detail nantu à i criteri per quale FAST VP face decisioni nantu à u trasferimentu di dati, nantu à i prucessi di analizà e statistiche I / O. Inoltre, u tema di l'interazzione cù Piscine dinamiche, è questu merita un articulu separatu. Pudete ancu fantastichi nantu à u sviluppu di sta tecnulugia. Spergu chì ùn era micca noiosa è ùn vi aghju micca stancu. Ci si vede di novu !

Source: www.habr.com

Add a comment