FAST VP na Unity skladištu: kako funkcionira

Danas ćemo pričati o zanimljivoj tehnologiji implementiranoj u Unity / Unity XT sistemu za pohranu - FAST VP. Ako ste prvi put čuli za Unity, onda se link na kraju članka može koristiti za upoznavanje sa karakteristikama sistema. Radio sam na FAST VP-u više od godinu dana u projektnom timu Dell EMC. Danas želim detaljnije govoriti o ovoj tehnologiji i otkriti neke detalje njene implementacije. Naravno, samo one koje je dozvoljeno otkriti. Ako vas zanimaju pitanja efikasnog skladištenja podataka ili jednostavno niste u potpunosti razumjeli dokumentaciju, onda će vam ovaj članak svakako biti koristan i zanimljiv.

FAST VP na Unity skladištu: kako funkcionira

Odmah ću vam reći šta neće biti u materijalu. Neće biti traženja konkurenata i poređenja sa njima. Takođe ne planiram da pričam o sličnim tehnologijama iz otvorenog koda, jer radoznali čitaoci već znaju za njih. I, naravno, neću ništa da reklamiram.

skladišni nivoi. Ciljevi i zadaci FAST VP

FAST VP je skraćenica za potpuno automatizirano razvrstavanje pohrane za virtualni bazen. Da li je teško? Ništa, sredićemo to. Niziranje je način organiziranja pohrane podataka, u kojem postoji nekoliko nivoa (slojeva) na kojima se ti podaci pohranjuju. Svaki ima svoje karakteristike. Najvažnije: performanse, obim i cijena pohranjivanja jedinice informacija. Naravno, postoji veza između njih.

Važna karakteristika razvrstavanja po slojevima je da se pristup podacima pruža ujednačeno bez obzira na kojem se nivou skladištenja trenutno nalazi, a veličina spremišta jednaka je zbiru veličina resursa uključenih u njega. Ovdje leži razlika u odnosu na predmemoriju: veličina keš memorije se ne dodaje ukupnoj količini resursa (u ovom slučaju bazen), a podaci keša dupliraju neki dio podataka iz glavnog medija (ili će se duplirati ako podaci iz keša još nisu upisani). Takođe, distribucija podataka po nivoima je skrivena od korisnika. Odnosno, on ne vidi tačno koji se podaci nalaze na svakom nivou, iako na to može uticati indirektno, postavljanjem politika (o njima kasnije).

Pogledajmo sada karakteristike implementacije razvrstavanja pohrane u Unity. U Unity-u postoje 3 nivoa ili nivoa:

  • Ekstremne performanse (SSD)
  • Performanse (SAS HDD 10k/15k RPM)
  • Kapacitet (NL-SAS HDD 7200RPM)

Prikazani su opadajućim redoslijedom performansi i cijene. Ekstremne performanse uključuju samo Solid State Drive (SSD). U druga dva nivoa nalaze se magnetni diskovi koji se razlikuju po brzini rotacije i, shodno tome, performansama.

Mediji za skladištenje sa istog nivoa i iste veličine se kombinuju u RAID niz, formirajući RAID grupu (RAID grupa, skraćeno RG); možete pročitati o dostupnim i preporučenim nivoima RAID-a u službenoj dokumentaciji. Od RAID grupa jednog ili više nivoa formiraju se skladišni bazeni iz kojih se zatim distribuira slobodan prostor. I već se iz bazena dodjeljuje prostor za sisteme datoteka i LUN-ove.

FAST VP na Unity skladištu: kako funkcionira

Zašto mi treba Tiering?

Ukratko i apstraktno: postići više rezultata uz najmanju količinu resursa. Konkretnije, rezultat se obično shvata kao skup karakteristika sistema za skladištenje podataka - brzina i vreme pristupa, cena skladištenja i drugo. Minimum resursa znači najmanje troškove: novac, energija i tako dalje. FAST VP samo implementira mehanizme za redistribuciju podataka na različitim nivoima u Unity / Unity XT sistemu skladištenja. Ako mi vjerujete, možete preskočiti sljedeći pasus. Za ostalo, reći ću vam nešto više.

Pravilnim razvrstavanjem podataka po slojevima, možete uštedjeti na ukupnim troškovima skladištenja žrtvovanjem brzine pristupa nekim rijetko korištenim informacijama i poboljšati performanse premeštanjem podataka kojima se često pristupa na brže medije. Ovdje neko može prigovoriti da čak i bez slojevitosti, normalan administrator zna gdje staviti koje podatke, koje karakteristike sistema za skladištenje su poželjne za njegov zadatak, itd. Naravno, to je tačno, ali distribucija podataka "ručno" ima svoje nedostatke:

  • zahtijeva vrijeme i pažnju administratora;
  • nije uvijek moguće "preoblikovati" skladišne ​​resurse pod promjenjivim uvjetima;
  • važna prednost nestaje: objedinjeni pristup resursima koji se nalaze na različitim nivoima skladištenja.

Kako bi administratori skladišta manje brinuli o sigurnosti posla, dodaću da je ovdje potrebno i kompetentno planiranje resursa. Sada kada su zadaci razvrstavanja ukratko navedeni, da vidimo šta možete očekivati ​​od FAST VP-a. Ovo je vrijeme da se vratimo na definiciju. Prve dvije riječi - Fully Automated - doslovno se prevode kao "potpuno automatizirane" i znače da se distribucija nivoa odvija automatski. Pa, virtuelni bazen je skup podataka koji uključuje resurse sa različitih nivoa skladištenja. Evo kako to izgleda:

FAST VP na Unity skladištu: kako funkcionira

Gledajući unaprijed, reći ću da FAST VP samo premješta podatke unutar jednog bazena, a ne između više bazena.

Zadatke rješava FAST VP

Hajde da prvo pričamo apstraktno. Imamo bazen i neki mehanizam koji može redistribuirati podatke unutar ovog bazena. Imajući u vidu da je naš zadatak postizanje maksimalne produktivnosti, zapitajmo se: na koje načine se to može postići? Može ih biti nekoliko, a ovdje FAST VP ima šta da ponudi korisniku, budući da je tehnologija nešto više od obične razine skladištenja. Evo nekoliko načina na koje FAST VP može povećati performanse bazena:

  • Distribucija podataka po različitim tipovima diskova, nivoima
  • Distribucija podataka među diskovima istog tipa
  • Distribucija podataka prilikom proširenja bazena

Prije nego pogledamo kako se ovi zadaci ostvaruju, moramo znati neke bitne činjenice o tome kako FAST VP funkcionira. FAST VP radi sa blokovima određene veličine - 256 megabajta. Ovo je najmanji neprekidni "komad" podataka koji se može premjestiti. U dokumentaciji se zove tako: slice. Sa stanovišta FAST VP-a, sve RAID grupe se sastoje od skupa takvih "komada". Prema tome, sva I/O statistika se akumulira za takve blokove podataka. Zašto je odabrana ova veličina bloka i hoće li biti smanjena? Blok je prilično velik, ali ovo je kompromis između granularnosti podataka (manja veličina bloka - preciznija distribucija) i dostupnih računarskih resursa: uz postojeća ozbiljna ograničenja RAM-a i veliki broj blokova, statistički podaci mogu potrajati previše, a broj proračuna će rasti proporcionalno.

Kako FAST VP postavlja podatke u bazen. Političari

Za kontrolu postavljanja podataka u skup s omogućenim FAST VP, postoje sljedeća pravila:

  • Najviši dostupni nivo
  • Auto Tier
  • Započni visoki, a zatim automatski nivo (zadano)
  • Najniži dostupni nivo

Oni utječu i na početnu dodjelu bloka (podaci se prvo upisuju) i na kasniju preraspodjelu. Kada su podaci već postavljeni na diskove, relokacija će biti pokrenuta prema rasporedu ili ručno.

Najviša dostupna razina pokušava postaviti novi blok na nivo s najvišim performansama. Ako na njemu nema dovoljno prostora, sljedeći po performansama, ali tada se podaci mogu premjestiti na produktivniji nivo (ako ima mjesta ili istiskuju druge podatke). Auto-Tier postavlja nove podatke u različite slojeve na osnovu količine dostupnog prostora i redistribuira ih na osnovu potražnje i slobodnog prostora. Start High then Auto-Tier je zadana politika i također se preporučuje. U početku radi kao najviši dostupni nivo, a zatim premješta podatke na osnovu statistike korištenja. Politika najniže dostupnog nivoa nastoji postaviti podatke na nivo s najmanje performansama.

Prijenos podataka ide s niskim prioritetom kako ne bi ometao korisni rad sistema za pohranu podataka, međutim, postoji postavka „Stopa premještanja podataka“ koja mijenja prioritet. Ovdje postoji posebnost: nemaju svi blokovi podataka isti redoslijed preraspodjele. Na primjer, blokovi označeni kao metapodaci prvo će biti premješteni na brži nivo. Metapodaci su, da tako kažemo, „podaci o podacima“, neke dodatne informacije koje nisu korisnički podaci, ali pohranjuju njihov opis. Na primjer, informacije u sistemu datoteka o tome u kojem se bloku nalazi određena datoteka. To znači da brzina pristupa podacima zavisi od brzine pristupa metapodacima. S obzirom da su metapodaci obično mnogo manji, očekuje se da će prednosti premještanja na brže diskove biti veće.

Kriterijumi koje Fast VP koristi u svom radu

Glavni kriterij za svaki blok, ako je vrlo grubo, je karakteristika "potražnja" podataka, koja ovisi o broju operacija čitanja i pisanja fragmenta podataka. Ova karakteristika se naziva "temperatura". Postoje vrući podaci koji su vrući od podataka za koje nije traženo. Izračunava se periodično, standardno u intervalu od jednog sata.

Funkcija izračuna temperature ima sljedeća svojstva:

  • U nedostatku I/O, podaci se vremenom "hlade".
  • Sa manje-više istim opterećenjem u vremenu, temperatura se prvo povećava, a zatim stabilizira u određenom rasponu.

Nadalje, gore opisane politike i slobodan prostor na svakom nivou se uzimaju u obzir. Radi jasnoće daću sliku iz dokumentacije. Ovdje crvena, žuta i plava boja označavaju blokove sa visokim, srednjim i niskim temperaturama, respektivno.

FAST VP na Unity skladištu: kako funkcionira

Ali vratimo se zadacima. Dakle, možemo početi analizirati šta se radi na rješavanju problema FAST VP.

A. Distribucija podataka na različitim tipovima diskova, nivoima

Zapravo, ovo je glavni zadatak FAST VP. Ostalo su, u određenom smislu, njegovi derivati. Ovisno o odabranoj politici, podaci će biti raspoređeni na različite razine pohrane. Prije svega, uzima se u obzir politika postavljanja, zatim temperatura blokova i veličina/brzina RAID grupa.

Za politike najvišeg/najnižeg dostupnog nivoa, sve je prilično jednostavno. Za druga dva, to je slučaj. Podaci se distribuiraju na različite nivoe, uzimajući u obzir veličinu i performanse RAID grupa: tako da je odnos ukupne "temperature" blokova i "uslovne maksimalne performanse" svake RAID grupe približno isti. Dakle, opterećenje je raspoređeno manje-više ravnomjerno. Podaci koji su traženiji se premeštaju na brži medij, a retko korišćeni podaci se prebacuju na sporije medije. U idealnom slučaju, distribucija bi trebala izgledati otprilike ovako:

FAST VP na Unity skladištu: kako funkcionira

B. Distribucija podataka među diskovima istog tipa

Zapamtite, na početku sam napisao da nosioci informacija od jedan ili više nivoi su kombinovani u jedan bazen? U slučaju jednog nivoa, FAST VP takođe ima posla. Da bi se maksimizirale performanse na bilo kojem nivou, poželjno je ravnomjerno distribuirati podatke po diskovima. Ovo će omogućiti (u teoriji) da dobijete maksimalan broj IOPS. Podaci unutar RAID grupe mogu se smatrati ravnomjerno raspoređenim po diskovima, ali to nije uvijek slučaj između RAID grupa. U slučaju neravnoteže, FAST VP će premještati podatke između RAID grupa proporcionalno njihovoj veličini i "uslovnim performansama" (u numeričkom smislu). Radi jasnoće, prikazat ću šemu ponovnog balansiranja između tri RAID grupe:

FAST VP na Unity skladištu: kako funkcionira

C. Distribucija podataka prilikom proširenja bazena

Ovaj zadatak je poseban slučaj prethodnog i izvodi se kada se RAID grupa doda u bazen. Kako bi se spriječilo da novododata RAID grupa ne bude u stanju mirovanja, neki od podataka će se prenijeti na nju, što znači da će se opterećenje na sve RAID grupe preraspodijeliti.

Izravnavanje trošenja SSD-a

Kroz nivelaciju habanja, FAST VP može produžiti vijek trajanja SSD-a, iako ova karakteristika nije direktno povezana sa Storage Tiering. Pošto već postoje podaci o temperaturi, uzima se u obzir i broj operacija pisanja, znamo kako premjestiti blokove podataka, logično bi bilo da FAST VP riješi i ovaj problem.

Ako broj upisa u jednu RAID grupu značajno premašuje broj upisa u drugu, FAST VP će redistribuirati podatke prema broju upisa. S jedne strane, ovo uklanja opterećenje i štedi resurse nekih diskova, s druge strane, dodaje "rad" za manje opterećene, povećavajući ukupne performanse.

Stoga, FAST VP preuzima tradicionalne zadatke Storage Tieringa i radi malo više od toga. Sve ovo vam omogućava da efikasno skladištite podatke u Unity sistemu za skladištenje.

A nekoliko savjeta

  1. Nemojte zanemariti čitanje dokumentacije. Postoje najbolje prakse i one rade prilično dobro. Ako ih slijedite, tada se ozbiljni problemi u pravilu ne pojavljuju. Ostali savjeti ih u osnovi ponavljaju ili dopunjuju.
  2. Ako ste konfigurisali i omogućili FAST VP, ostavite ga uključenim. Neka raspoređuje podatke u predviđenom vremenu i malo po malo jednom godišnje i ima ozbiljan uticaj na obavljanje drugih zadataka. U takvim slučajevima, preraspodjela podataka može potrajati dugo.
  3. Budite oprezni pri odabiru prozora za preseljenje. Iako je to očigledno, pokušajte odabrati vrijeme s najmanje opterećenja na Unity-u i izdvojiti dovoljno vremena.
  4. Planirajte proširenje skladišta, učinite to na vrijeme. Ovo je opšta preporuka koja je važna i za FAST VP. Ako je količina slobodnog prostora vrlo mala, tada će se kretanje podataka usporiti ili postati nemoguće. Pogotovo ako ste zanemarili tačku 2.
  5. Kada proširujete skup s omogućenim FAST VP, nemojte počinjati s najsporijim diskovima. Odnosno, ili dodajemo sve planirane RAID grupe odjednom, ili prvo dodajemo najbrže diskove. U ovom slučaju, preraspodjela podataka na nove "brze" diskove će povećati ukupnu brzinu skupa. Inače, počevši od "sporih" diskova, možete dobiti vrlo neugodnu situaciju. Prvo će se podaci prenijeti na nove, relativno spore diskove, a zatim, kada se dodaju brži, u suprotnom smjeru. Postoje nijanse povezane s različitim FAST VP politikama, ali u općenitom slučaju, ova situacija je moguća.

Ako gledate ovaj proizvod, onda možete besplatno isprobati Unity u akciji preuzimanjem Unity VSA virtualnog uređaja.

FAST VP na Unity skladištu: kako funkcionira

Na kraju članka dijelim nekoliko korisnih linkova:

zaključak

Želim pisati o mnogo čemu, ali razumijem da čitaoca neće zanimati svi detalji. Na primjer, možete detaljnije govoriti o kriterijima po kojima FAST VP donosi odluku o prijenosu podataka, o procesima za analizu I/O statistike. Također, tema interakcije sa Dynamic Pools, a ovo povlači poseban članak. Možete čak i maštati o razvoju ove tehnologije. Nadam se da nije bilo dosadno i da ti nisam dosadio. Vidimo se uskoro!

izvor: www.habr.com

Dodajte komentar