Continuând să analizăm tehnologiile de accelerare a operațiunilor de intrare/ieșire aplicate sistemelor de stocare, început în , nu putem să nu ne oprim asupra unei opțiuni foarte populare, și anume tiering-ul (Auto Tiering). Deși ideologia de funcționare a acestei funcții este destul de similară între diferiții producători de sisteme de stocare, vom analiza specificitățile implementării tiering-ului prin exemplul .

În ciuda diversității datelor stocate pe sistemele de stocare, aceste date pot fi împărțite în mai multe grupuri, în funcție de cererea lor (frecvența utilizării). Este extrem de important să se asigure un acces cât mai rapid la datele cele mai populare („fierbinți”), în timp ce procesarea datelor mai puțin cerute („reci”) poate fi realizată cu un prioritate mai scăzută.
Pentru a organiza o astfel de schemă, se aplică funcționalitatea tiering-ului. Arhiva de date constă în acest caz nu dintr-un singur tip de discuri, ci din mai multe grupuri de unități de stocare, formând diferite niveluri de stocare (tier). Prin intermediul unui algoritm special, datele sunt mutate automat între niveluri cu scopul de a asigura o performanță totală maximă.

Sisteme de stocare suportă până la trei niveluri de stocare:
- Tier 1: SSD, performanță maximă
- Tier 2: HDD SAS 10K/15K, performanță înaltă
- Tier 3: HDD NL-SAS 7.2K, capacitate maximă
Pool-ul Auto Tiering poate conține toate cele trei niveluri sau doar două în orice combinație. În fiecare Tier, unitățile de stocare sunt grupate în raide familiare. Pentru o flexibilitate maximă, nivelul RAID în fiecare Tier poate fi diferit. Adică, de exemplu, nimic nu oprește organizarea unei structuri de tip 4x SSD RAID10 + 6x HDD 10K RAID5 + 12 HDD 7.2K RAID6
După crearea volumelor (discurilor virtuale) pe pool, începe o colectare de fundal a statisticilor referitoare la toate operațiunile de intrare/ieșire. Pentru aceasta, spațiul este „tăiat” în blocuri de dimensiune de 1 GB (așa-numitele sub LUN). La fiecare acces la un astfel de bloc, acesta primește un coeficient de 1. Apoi, în timp, acest coeficient scade. După 24 de ore, în absența solicitărilor de intrare/ieșire pentru acest bloc, acesta va fi deja egal cu 0.5 și va continua să scadă cu fiecare oră următoare.
La un moment dat (de obicei în fiecare zi la miezul nopții) are loc clasificarea rezultatelor colectate în funcție de activitatea sub LUN pe baza coeficientului acestora. În funcție de asta, se ia decizia cu privire la ce blocuri să fie mutate și în ce direcție. După care, se realizează efectiv relocarea datelor între niveluri.

În sistemul de stocare Qsan, gestionarea procesului de tiering este excelent implementată printr-o mulțime de parametri, ceea ce va permite să configurăm destul de flexibil performanța finală a raid-ului.
Pentru a determina locația inițială a datelor și direcția prioritizată a mutării acestora se folosesc politici, care sunt stabilite separat pentru fiecare volum:
- Auto Tiering – politica implicită, locația inițială și direcția mutărilor sunt determinate automat, adică datele „fierbinți” tinde să se ducă la cel mai înalt nivel, iar datele „reci” se deplasează în jos. Locația inițială este aleasă pe baza spațiului disponibil pe fiecare dintre niveluri. Dar trebuie să înțelegem că sistemul se străduiește în primul rând să folosească cât mai mult posibil cele mai rapide suporturi de stocare. Așadar, dacă există spațiu liber, datele vor fi plasate la nivelurile superioare. Această politică se potrivește pentru cele mai multe scenarii în care nu se poate prezice în avans cererea de date.
- Începe de sus, apoi Auto Tiering – diferența față de precedentă este doar în locația inițială a datelor (la cel mai rapid nivel)
- Nivel maxim de înalt – datele tinde să ocupe întotdeauna cel mai rapid nivel. Dacă, în timpul funcționării, acestea sunt mutate în jos, la prima oportunitate ele sunt mutate înapoi. Această politică este potrivită pentru date care necesită acces maxim de rapid.
- Nivel minim – datele tinde să ocupe întotdeauna cel mai jos nivel. Această politică este excelentă pentru date rareori folosite (de exemplu, arhive).
- Fără mutare – sistemul determină automat locația inițială a datelor și nu le mută. Totuși, statisticile continuă să fie colectate în caz că mai târziu ar fi necesară relocarea acestora.
Merită menționat că, deși politicile sunt stabilite la crearea fiecărui volum, acestea pot fi schimbate de mai multe ori „în zbor” pe parcursul ciclului de viață al sistemului.
Pe lângă politica pentru mecanismul de tiering, se setează și frecvența și ritmul de mutare a datelor între niveluri. Se poate stabili un timp specific pentru mutare: zilnic sau în anumite zile ale săptămânii, precum și să se reducă intervalul de colectare a statisticilor la câteva ore (frecvența minimă – 2 ore). Dacă există necesitatea de a limita timpul de execuție a operației de mutare a datelor, se pot defini limite temporale (fereastra pentru mutare). În plus, se indică și viteza de relocare – 3 moduri: rapid, mediu, lent.

În cazul în care există o necesitate de relocare imediată a datelor, există posibilitatea de a o realiza manual în orice moment la comanda administratorului.
Este evident că, cu cât mutarea datelor între niveluri se face mai des și mai rapid, cu atât cadrul de stocare va fi mai flexibil în adaptarea la condițiile curente de exploatare. Dar, de asemenea, trebuie să ne amintim că mutarea reprezintă o sarcină suplimentară (în principal pentru discuri), așa că nu este recomandat să 'forțăm' datele fără o necesitate extremă. Este mai bine să planificăm mutarea în momentele de minimă încărcare. Dacă activitatea cadrul de stocare necesită constant performanțe mari în regim 24/7, atunci ar trebui să se reducă ritmul de relocare la minimum.
Abundența de setări pentru tiering va încânta fără îndoială utilizatorii avansați. Totuși, pentru cei care se confruntă cu această tehnologie pentru prima dată, nu este nimic de speriat. Se poate avea încredere în setările implicite (politica Auto Tiering, mutare la viteza maximă odată pe noapte) și, pe măsură ce se acumulează statistici, se pot ajusta anumite parametri pentru a obține rezultatul dorit.
Comparând tiering-ul cu o tehnologie la fel de populară pentru creșterea performanței, cum ar fi , trebuie să ținem cont de diferitele principii de funcționare ale algoritmilor lor.
caching-ul SSD
Auto Tiering
Viteza de apariție a efectului
Aproape instantaneu. Dar efectul vizibil apare doar după 'încălzirea' cache-ului (minute-ore)
După colectarea statisticilor (de la 2 ore, ideal – o zi) plus timpul pentru mutarea datelor
Durata efectului
Până când datele nu sunt înlocuite cu un nou set (minute-ore)
Atunci când cererea pentru date este încă relevantă (o zi sau mai mult)
Indicații de utilizare
Creștere instantanee a performanței pe termen scurt (baze de date, medii de virtualizare)
Creșterea performanței pe termen lung (servere de fișiere, web, poștă)
De asemenea, una dintre caracteristicile tiering-ului este posibilitatea utilizării acestuia nu doar pentru scenarii de tip «SSD + HDD», ci și «HDD rapide + HDD lente» sau chiar toate cele trei niveluri, ceea ce în cazul aplicării caching-ului SSD este, în principiu, imposibil.
Testare
Pentru a verifica funcționarea algoritmilor de tiering, am efectuat un test simplu. A fost creat un pool din două niveluri SSD (RAID 1) + HDD 7.2K (RAID1), pe care am plasat un volum cu politica de «nivel minim». Adică, datele trebuie să fie întotdeauna plasate pe discurile lente.


Interfața de gestionare arată clar distribuția datelor între niveluri
După umplerea volumului cu date, am schimbat politica de plasare în Auto Tiering și am pornit testul IOmeter.

După câteva ore de testare, când sistemul a reușit să acumuleze statistici, a început procesul de relocare.

La finalizarea mutării datelor, volumul nostru de test era complet «mutat» pe nivelul superior (SSD).


Verdict
Auto Tiering – o tehnologie minunată, care permite creșterea performanței sistemului de stocare cu costuri minime de material și timp, prin utilizarea mai intensă a unităților rapide. Aplicabil la singura investiție este licența, care se achiziționează o dată pentru totdeauna, fără limitări privind volumul/numărul de discuri/poli/ etc. Această funcționalitate este dotată cu atât de multe opțiuni de configurare, încât poate satisface practic orice cerințe de afaceri. Iar vizualizarea proceselor în interfață va permite gestionarea eficientă a dispozitivului.
Sursa: habr.com
