FAST VP „Unity“ saugykloje: kaip tai veikia

Šiandien kalbėsime apie įdomią technologiją, įdiegtą Unity/Unity XT saugojimo sistemose – FAST VP. Jei pirmą kartą girdite apie „Unity“, galite patikrinti sistemos charakteristikas naudodami nuorodą straipsnio pabaigoje. Daugiau nei metus dirbau FAST viceprezidentu Dell EMC projekto komandoje. Šiandien noriu pakalbėti apie šią technologiją plačiau ir atskleisti kai kurias jos įgyvendinimo detales. Žinoma, tik tuos, kuriuos leidžiama atskleisti. Jei domitės efektyvaus duomenų saugojimo klausimais arba tiesiog nevisiškai supratote dokumentacijos, šis straipsnis tikrai bus naudingas ir įdomus.

FAST VP „Unity“ saugykloje: kaip tai veikia

Iš karto pasakysiu, ko nebus medžiagoje. Nebus konkurentų paieškos ir lyginimo su jais. Taip pat neplanuoju kalbėti apie panašias technologijas iš atvirojo kodo, nes smalsus skaitytojas apie jas jau žino. Ir, žinoma, aš nesiruošiu nieko reklamuoti.

Sandėliavimo pakopos. FAST VP tikslai ir uždaviniai

FAST VP reiškia Fully Automated Storage Tiring for Virtual Pool. Šiek tiek sunku? Jokių problemų, dabar išsiaiškinsime. Pakopų nustatymas yra duomenų saugojimo organizavimo būdas, kuriame yra keli lygiai (pakopos), kuriuose saugomi šie duomenys. Kiekvienas turi savo ypatybes. Svarbiausia: informacijos vieneto saugojimo našumas, apimtis ir kaina. Žinoma, tarp jų yra ryšys.

Svarbi pakopų ypatybė yra ta, kad prieiga prie duomenų suteikiama vienodai, neatsižvelgiant į saugyklos lygį, kuriame jie šiuo metu yra, o telkinio dydis yra lygus į jį įtrauktų išteklių dydžių sumai. Čia ir slypi skirtumai nuo talpyklos: talpyklos dydis nepridedamas prie bendro resurso (šiuo atveju telkinio) apimties, o talpyklos duomenys dubliuoja tam tikrą pagrindinių medijos duomenų fragmentą (arba pasikartos, jei duomenys iš talpyklos dar neparašyti). Be to, duomenų paskirstymas pagal lygius yra paslėptas nuo vartotojo. Tai yra, jis tiksliai nemato, kokie duomenys yra kiekviename lygyje, nors jis gali tai netiesiogiai paveikti nustatydamas politiką (apie jas vėliau).

Dabar pažvelkime į „Unity“ saugyklos pakopų diegimo ypatybes. Vienybė turi 3 lygius arba pakopą:

  • Ekstremalus našumas (SSD)
  • Našumas (SAS HDD 10k / 15k RPM)
  • Talpa (NL-SAS HDD 7200 RPM)

Jie pateikiami našumo ir kainos mažėjimo tvarka. Ypatingas našumas apima tik kietojo kūno diskus (SSD). Kitos dvi pakopos apima magnetinius diskus, kurie skiriasi sukimosi greičiu ir atitinkamai našumu.

To paties lygio ir tokio pat dydžio laikmenos sujungiamos į RAID masyvą, suformuojant RAID grupę (RAID group, sutrumpintai RG); Apie galimus ir rekomenduojamus RAID lygius galite perskaityti oficialioje dokumentacijoje. Iš vieno ar kelių lygių RAID grupių sudaromi saugyklos telkiniai, iš kurių vėliau paskirstoma laisva vieta. O iš baseino vietos skiriama failų sistemoms ir LUN.

FAST VP „Unity“ saugykloje: kaip tai veikia

Kodėl man reikia pakopų?

Trumpai ir abstrakčiai: pasiekti didesnių rezultatų naudojant minimalius išteklius. Tiksliau, rezultatas dažniausiai suprantamas kaip saugojimo sistemos charakteristikų rinkinys – greitis ir prieigos laikas, saugojimo kaina ir kt. Išteklių minimumas reiškia mažiausias išlaidas: pinigus, energiją ir pan. FAST VP įdiegia mechanizmus, skirtus duomenų perskirstymui skirtinguose Unity / Unity XT saugojimo sistemų lygiuose. Jei tikite manimi, galite praleisti kitą pastraipą. Dėl kitų aš jums papasakosiu šiek tiek daugiau.

Tinkamas duomenų paskirstymas tarp saugyklos pakopų leidžia sutaupyti bendrų saugyklos išlaidų paaukojus prieigos prie kai kurios retai naudojamos informacijos greitį ir pagerinti našumą perkeliant dažnai naudojamus duomenis į greitesnę laikmeną. Čia kažkas gali ginčytis, kad net ir be pakopų normalus administratorius žino, kur kokius duomenis įdėti, kokios yra pageidaujamos saugojimo sistemos charakteristikos jo užduočiai atlikti ir pan. Tai neabejotinai tiesa, tačiau rankinis duomenų platinimas turi trūkumų:

  • reikalauja administratoriaus laiko ir dėmesio;
  • Ne visada įmanoma „perbraižyti“ saugojimo išteklius, kad jie atitiktų kintančias sąlygas;
  • dingsta svarbus pranašumas: vieninga prieiga prie išteklių, esančių skirtinguose saugojimo lygiuose.

Kad saugyklos administratoriai mažiau jaudintųsi dėl darbo saugumo, pridursiu, kad čia taip pat būtinas kompetentingas išteklių planavimas. Dabar, kai trumpai apibūdintos pakopų nustatymo užduotys, pažvelkime, ko galite tikėtis iš FAST VP. Dabar laikas grįžti prie apibrėžimo. Pirmieji du žodžiai – Fully Automated – pažodžiui išversti kaip „visiškai automatizuoti“ ir reiškia, kad pasiskirstymas tarp lygių vyksta automatiškai. Na, virtualus baseinas yra duomenų telkinys, apimantis išteklius iš skirtingų saugojimo lygių. Štai kaip atrodo:

FAST VP „Unity“ saugykloje: kaip tai veikia

Žvelgdamas į ateitį, pasakysiu, kad FAST VP perkelia duomenis tik viename telkinyje, o ne tarp kelių telkinių.

Problemas išsprendė FAST VP

Pirmiausia pakalbėkime abstrakčiai. Turime telkinį ir tam tikrą mechanizmą, kuris gali perskirstyti duomenis šiame telkinyje. Prisimindami, kad mūsų tikslas yra pasiekti maksimalų produktyvumą, paklauskime savęs: kokiais būdais galime tai pasiekti? Jų gali būti keletas, ir čia FAST VP turi ką pasiūlyti vartotojui, nes technologija yra kažkas daugiau nei tik saugojimo pakopos. Štai keletas būdų, kaip FAST VP gali padidinti baseino našumą:

  • Duomenų paskirstymas skirtingų tipų diskuose, lygiuose
  • Duomenų paskirstymas tarp to paties tipo diskų
  • Duomenų paskirstymas plečiant telkinį

Prieš pažvelgdami į tai, kaip šios užduotys sprendžiamos, turime žinoti keletą būtinų faktų apie tai, kaip veikia FAST VP. FAST VP veikia su tam tikro dydžio blokais – 256 megabaitais. Tai yra mažiausia gretima duomenų „gabalėlis“, kurį galima perkelti. Dokumentuose tai taip vadinama: gabalas. FAST VP požiūriu, visos RAID grupės susideda iš tokių „gabalų“ rinkinio. Atitinkamai tokiems duomenų blokams kaupiama visa I/O statistika. Kodėl pasirinktas šis bloko dydis ir ar jis bus sumažintas? Blokas yra gana didelis, tačiau tai yra kompromisas tarp duomenų detalumo (mažesnis bloko dydis reiškia tikslesnį paskirstymą) ir turimų skaičiavimo išteklių: atsižvelgiant į esamus griežtus RAM apribojimus ir didelį blokų skaičių, statistiniai duomenys gali užimti per daug, o skaičiavimų skaičius proporcingai padidės.

Kaip FAST VP priskiria duomenis telkiniui. Politikai

Norint valdyti duomenų talpinimą telkinyje, kai įjungtas FAST VP, taikomos šios strategijos:

  • Aukščiausia prieinama pakopa
  • Automatinis lygis
  • Pradėti aukštai, tada automatinis lygis (numatytasis)
  • Žemiausia galima pakopa

Jie turi įtakos tiek pradiniam blokų paskirstymui (pirmiausia įrašyti duomenys), tiek vėlesniam perskirstymui. Kai duomenys jau yra diskuose, perskirstymas bus inicijuotas pagal grafiką arba rankiniu būdu.

Aukščiausia pasiekiama pakopa bando įdėti naują bloką į našiausią pakopą. Jei jame neužtenka vietos, jis perkeliamas į kitą produktyviausią lygį, tačiau tuomet duomenis galima perkelti į produktyvesnį lygį (jei yra vietos arba išstumiant kitus duomenis). „Auto-Tier“ pateikia naujus duomenis skirtingais lygiais, atsižvelgiant į laisvos vietos kiekį, ir jie perskirstomi atsižvelgiant į poreikį ir laisvą vietą. Pradėti aukštai, tada automatinis lygis yra numatytoji politika ir taip pat rekomenduojama. Iš pradžių įdėjus, jis veikia kaip aukščiausia pasiekiama pakopa, o tada duomenys perkeliami atsižvelgiant į jų naudojimo statistiką. Taikant žemiausio pasiekiamo lygio politiką, duomenis siekiama pateikti mažiausiai produktyvioje pakopoje.

Duomenų perdavimas vyksta su žemu prioritetu, kad netrukdytų naudingam saugojimo sistemos veikimui, tačiau yra „Duomenų perkėlimo greičio“ nustatymas, kuris keičia prioritetą. Čia yra ypatumas: ne visi duomenų blokai turi vienodą perskirstymo tvarką. Pavyzdžiui, blokai, pažymėti kaip metaduomenys, pirmiausia bus perkelti į greitesnį lygį. Metaduomenys yra, taip sakant, „duomenys apie duomenis“, tam tikra papildoma informacija, kuri nėra vartotojo duomenys, bet saugo jų aprašymą. Pavyzdžiui, failų sistemos informacija apie tai, kuriame bloke yra tam tikras failas. Tai reiškia, kad prieigos prie duomenų greitis priklauso nuo prieigos prie metaduomenų greičio. Atsižvelgiant į tai, kad metaduomenys paprastai yra daug mažesnio dydžio, tikimasi, kad jų perkėlimas į didesnio našumo diskus bus didesnis.

Kriterijai, kuriuos Fast VP naudoja savo darbe

Pagrindinis kiekvieno bloko kriterijus, labai apytiksliai, yra duomenų „paklausos“ charakteristika, kuri priklauso nuo duomenų fragmento skaitymo ir rašymo operacijų skaičiaus. Šią savybę vadiname „Temperatūra“. Yra reikalaujamų (karštų) duomenų, kurie yra „karštesni“ nei nepareikalingi duomenys. Jis skaičiuojamas periodiškai, pagal numatytuosius nustatymus kas valandą.

Temperatūros skaičiavimo funkcija turi šias savybes:

  • Jei nėra įvesties / išvesties, duomenys laikui bėgant „atvėsta“.
  • Laikui bėgant, esant daugiau ar mažiau vienodai apkrovai, temperatūra iš pradžių pakyla, o paskui stabilizuojasi tam tikrame diapazone.

Toliau atsižvelgiama į aukščiau aprašytą politiką ir laisvą vietą kiekvienoje pakopoje. Aiškumo dėlei pateiksiu nuotrauką iš dokumentacijos. Čia raudona, geltona ir mėlyna spalvos žymi blokus su atitinkamai aukšta, vidutine ir žema temperatūra.

FAST VP „Unity“ saugykloje: kaip tai veikia

Bet grįžkime prie užduočių. Taigi, galime pradėti analizuoti, kas daroma siekiant išspręsti FAST VP problemas.

A. Duomenų paskirstymas skirtingų tipų diskuose, lygiuose

Tiesą sakant, tai yra pagrindinė FAST VP užduotis. Likusi dalis tam tikra prasme yra jos dariniai. Atsižvelgiant į pasirinktą politiką, duomenys bus paskirstyti skirtingais saugojimo lygiais. Pirmiausia atsižvelgiama į išdėstymo politiką, tada į bloko temperatūrą ir RAID grupių dydį/greitį.

Kalbant apie aukščiausios/žemiausios galimos pakopos politiką, viskas yra gana paprasta. Kitų dviejų atveju taip yra. Duomenys paskirstomi skirtingais lygiais, atsižvelgiant į RAID grupių dydį ir našumą: kad visos blokų „temperatūros“ ir kiekvienos RAID grupės „sąlyginio didžiausio našumo“ santykis būtų maždaug vienodas. Taigi apkrova pasiskirsto daugiau ar mažiau tolygiai. Daugiau paklausių duomenų perkeliama į greitą laikmeną, o retai naudojami duomenys perkeliami į lėtesnę laikmeną. Idealiu atveju paskirstymas turėtų atrodyti maždaug taip:

FAST VP „Unity“ saugykloje: kaip tai veikia

B. Duomenų paskirstymas tarp to paties tipo diskų

Prisiminkite, pradžioje rašiau, kad laikmena iš vienas ar daugiau lygiai sujungti į vieną baseiną? Vieno lygio atveju FAST VP taip pat turi ką veikti. Norint pasiekti maksimalų našumą bet kuriame lygyje, patartina duomenis paskirstyti tolygiai tarp diskų. Tai (teoriškai) leis jums gauti didžiausią IOPS kiekį. RAID grupės duomenys gali būti laikomi tolygiai paskirstyti diskuose, tačiau tai ne visada būna tarp RAID grupių. Esant disbalansui, FAST VP perkels duomenis tarp RAID grupių proporcingai jų kiekiui ir „sąlyginiam našumui“ (skaičiais). Aiškumo dėlei parodysiu trijų RAID grupių balansavimo schemą:

FAST VP „Unity“ saugykloje: kaip tai veikia

B. Duomenų paskirstymas plečiant telkinį

Ši užduotis yra ypatingas ankstesnės užduoties atvejis ir atliekama, kai į telkinį įtraukiama RAID grupė. Siekiant užtikrinti, kad naujai pridėta RAID grupė neliktų neveikli, dalis duomenų bus perkeliama į ją, o tai reiškia, kad apkrova bus perskirstyta visoms RAID grupėms.

SSD nusidėvėjimo išlyginimas

Naudodamas nusidėvėjimo išlyginimą, FAST VP gali pratęsti SSD naudojimo laiką, nors ši funkcija nėra tiesiogiai susijusi su saugojimo pakopa. Kadangi temperatūros duomenys jau yra, taip pat atsižvelgiama į rašymo operacijų skaičių ir mes žinome, kaip perkelti duomenų blokus, būtų logiška, kad FAST VP šią problemą išspręstų.

Jei įrašų skaičius vienoje RAID grupėje žymiai viršija įrašų skaičių kitoje, FAST VP perskirstys duomenis pagal rašymo operacijų skaičių. Viena vertus, tai sumažina apkrovą ir sutaupo kai kurių diskų išteklius, kita vertus, prideda „darbo“ mažiau apkrautiems ir padidina bendrą našumą.

Tokiu būdu FAST VP susidoroja su tradiciniais Storage Tiring iššūkiais ir daro šiek tiek daugiau. Visa tai leidžia gana efektyviai saugoti duomenis Unity saugojimo sistemoje.

Keli patarimai

  1. Nepamirškite perskaityti dokumentų. Yra geriausios praktikos ir jos veikia gana gerai. Jei laikysitės jų, tada, kaip taisyklė, rimtų problemų nekyla. Likę patarimai iš esmės juos pakartoja arba papildo.
  2. Jei sukonfigūravote ir įjungėte FAST VP, geriau palikite jį įjungtą. Tegul paskirsto duomenis jam skirtu laiku ir po truputį nei kartą per metus ir turi rimtos įtakos kitų užduočių atlikimui. Tokiais atvejais duomenų perskirstymas gali užtrukti ilgai.
  3. Būkite atsargūs rinkdamiesi perkėlimo langą. Nors tai akivaizdu, pasistenkite pasirinkti laiką kuo mažiau apkraunant Unity ir skirti pakankamai laiko.
  4. Planuokite išplėsti savo saugojimo sistemą, padarykite tai laiku. Tai yra bendra rekomendacija, kuri svarbi ir FAST VP. Jei laisvos vietos yra labai mažai, duomenų judėjimas sulėtės arba taps neįmanomas. Ypač jei nepaisėte 2 punkto.
  5. Plėsdami telkinį su įjungtu FAST VP, neturėtumėte pradėti nuo lėčiausių diskų. Tai yra, mes arba pridedame visas suplanuotas RAID grupes iš karto, arba pirmiausia pridedame greičiausius diskus. Tokiu atveju duomenų perskirstymas į naujus „greitus“ diskus padidins bendrą telkinio greitį. Priešingu atveju, pradedant nuo „lėtų“ diskų, gali susidaryti labai nemaloni situacija. Pirmiausia duomenys bus perkeliami į naujus, palyginti lėtus diskus, o vėliau, pridėjus greitesnius, priešinga kryptimi. Čia yra niuansų, susijusių su skirtinga FAST VP politika, tačiau apskritai galima panaši situacija.

Jei žiūrite į šį produktą, galite nemokamai išbandyti Unity atsisiųsdami Unity VSA virtualų įrenginį.

FAST VP „Unity“ saugykloje: kaip tai veikia

Medžiagos pabaigoje dalinuosi keliomis naudingomis nuorodomis:

išvada

Norėčiau apie daug ką parašyti, bet suprantu, kad ne visos detalės skaitytojui bus įdomios. Pavyzdžiui, galite plačiau pakalbėti apie kriterijus, pagal kuriuos FAST VP priima sprendimus dėl duomenų perdavimo, apie I/O statistikos analizės procesus. Taip pat sąveikos su tema Dinaminiai baseinai, ir tai nusipelno atskiro straipsnio. Jūs netgi galite fantazuoti apie šios technologijos vystymąsi. Tikiuosi nebuvo nuobodu ir aš jūsų nenuobodžiau. Iki pasimatymo!

Šaltinis: www.habr.com

Добавить комментарий