FAST VP në ruajtjen e Unity: si funksionon

Sot do të flasim për një teknologji interesante të zbatuar në sistemet e ruajtjes Unity/Unity XT - FAST VP. Nëse kjo është hera e parë që dëgjoni për Unity, atëherë mund të shikoni karakteristikat e sistemit duke përdorur lidhjen në fund të artikullit. Kam punuar në FAST VP në ekipin e projektit Dell EMC për më shumë se një vit. Sot dua të flas për këtë teknologji në më shumë detaje dhe të zbuloj disa detaje të zbatimit të saj. Natyrisht, vetëm ato që lejohen të zbulohen. Nëse jeni të interesuar për çështjet e ruajtjes efikase të të dhënave ose thjesht nuk e keni kuptuar plotësisht dokumentacionin, atëherë ky artikull me siguri do të jetë i dobishëm dhe interesant.

FAST VP në ruajtjen e Unity: si funksionon

Unë do t'ju them menjëherë se çfarë nuk do të jetë në material. Nuk do të ketë kërkim për konkurrentët dhe krahasim me ta. Unë gjithashtu nuk planifikoj të flas për teknologji të ngjashme nga burimi i hapur, sepse lexuesi kurioz tashmë di për to. Dhe, sigurisht, nuk do të reklamoj asgjë.

Niveli i ruajtjes. Qëllimet dhe objektivat e FAST VP

FAST VP do të thotë Niveli plotësisht i automatizuar i ruajtjes për pishinën virtuale. Pak e vështirë? Nuk ka problem, do ta kuptojmë tani. Niveli është një mënyrë e organizimit të ruajtjes së të dhënave në të cilën ekzistojnë disa nivele (nivele) ku ruhen këto të dhëna. Secili ka karakteristikat e veta. Më e rëndësishmja: performanca, vëllimi dhe çmimi i ruajtjes së një njësie informacioni. Sigurisht që ka një marrëdhënie mes tyre.

Një tipar i rëndësishëm i nivelit është se qasja në të dhëna sigurohet në mënyrë uniforme, pavarësisht nga niveli i ruajtjes në të cilin ndodhet aktualisht, dhe madhësia e grupit është e barabartë me shumën e madhësive të burimeve të përfshira në të. Këtu qëndrojnë ndryshimet nga cache: madhësia e cache-së nuk i shtohet vëllimit të përgjithshëm të burimit (pool në këtë rast), dhe të dhënat e cache dublikojnë disa fragmente të të dhënave kryesore të medias (ose do të kopjohen nëse të dhënat nga cache nuk janë shkruar ende). Gjithashtu, shpërndarja e të dhënave sipas niveleve është e fshehur nga përdoruesi. Kjo do të thotë, ai nuk sheh saktësisht se cilat të dhëna gjenden në çdo nivel, megjithëse ai mund të ndikojë në këtë në mënyrë indirekte duke vendosur politika (më shumë për to më vonë).

Tani le të shohim tiparet e zbatimit të niveleve të ruajtjes në Unity. Uniteti ka 3 nivele ose nivele:

  • Performancë ekstreme (SSD)
  • Performanca (SAS HDD 10k/15k RPM)
  • Kapaciteti (NL-SAS HDD 7200 RPM)

Ato janë paraqitur në rend zbritës të performancës dhe çmimit. Performanca ekstreme përfshin vetëm disqet e gjendjes së ngurtë (SSD). Dy nivelet e tjera përfshijnë disqet magnetike, të cilat ndryshojnë në shpejtësinë e rrotullimit dhe, në përputhje me rrethanat, performancën.

Mediat e ruajtjes nga i njëjti nivel dhe të njëjtën madhësi kombinohen në një grup RAID, duke formuar një grup RAID (grupi RAID, shkurtuar si RG); Mund të lexoni për nivelet e disponueshme dhe të rekomanduara të RAID në dokumentacionin zyrtar. Pishinat e ruajtjes formohen nga grupet RAID nga një ose më shumë nivele, nga të cilat më pas shpërndahet hapësira e lirë. Dhe nga hapësira e pishinës ndahet për sistemet e skedarëve dhe LUN.

FAST VP në ruajtjen e Unity: si funksionon

Pse më duhet Tiering?

Shkurt dhe abstrakte: për të arritur rezultate më të mëdha duke përdorur një minimum burimesh. Më konkretisht, rezultati zakonisht kuptohet si një grup karakteristikash të sistemit të ruajtjes - shpejtësia dhe koha e aksesit, kostoja e ruajtjes dhe të tjera. Minimumi i burimeve nënkupton shpenzimin më të vogël: para, energji, etj. FAST VP zbaton mekanizma për rishpërndarjen e të dhënave nëpër nivele të ndryshme në sistemet e ruajtjes Unity/Unity XT. Nëse më besoni, atëherë mund të kaloni paragrafin tjetër. Për pjesën tjetër, do t'ju tregoj pak më shumë.

Shpërndarja e duhur e të dhënave në nivelet e ruajtjes ju lejon të kurseni në koston e përgjithshme të ruajtjes duke sakrifikuar shpejtësinë e aksesit në disa informacione të përdorura rrallë dhe të përmirësoni performancën duke zhvendosur të dhënat e përdorura shpesh në media më të shpejta. Këtu dikush mund të argumentojë se edhe pa nivele, një administrator normal e di se ku të vendosë çfarë të dhënash, cilat janë karakteristikat e dëshirueshme të një sistemi ruajtjeje për detyrën e tij, etj. Kjo është padyshim e vërtetë, por shpërndarja manuale e të dhënave ka të metat e saj:

  • kërkon kohë dhe vëmendje të administratorit;
  • Nuk është gjithmonë e mundur të "ritërhiqen" burimet e ruajtjes për t'iu përshtatur kushteve në ndryshim;
  • zhduket një avantazh i rëndësishëm: aksesi i unifikuar në burimet e vendosura në nivele të ndryshme ruajtjeje.

Për t'i bërë administratorët e ruajtjes të shqetësohen më pak për sigurinë e punës, do të shtoj se planifikimi kompetent i burimeve është gjithashtu i nevojshëm këtu. Tani që detyrat e niveleve janë përshkruar shkurtimisht, le të hedhim një vështrim se çfarë mund të prisni nga FAST VP. Tani është koha për t'u kthyer në përkufizim. Dy fjalët e para - plotësisht e automatizuar - fjalë për fjalë përkthehen si "plotësisht e automatizuar" dhe nënkuptojnë se shpërndarja midis niveleve ndodh automatikisht. Epo, Virtual Pool është një grup të dhënash që përfshin burime nga nivele të ndryshme ruajtjeje. Kështu duket:

FAST VP në ruajtjen e Unity: si funksionon

Duke parë përpara, do të them se FAST VP lëviz të dhënat vetëm brenda një grupi, dhe jo midis disa grupeve.

Problemet e zgjidhura nga FAST VP

Le të flasim fillimisht në mënyrë abstrakte. Ne kemi një grup dhe disa mekanizma që mund të rishpërndajnë të dhënat brenda këtij grupi. Duke kujtuar se qëllimi ynë është të arrijmë produktivitetin maksimal, le të pyesim veten: në çfarë mënyrash mund ta arrijmë atë? Mund të ketë disa prej tyre, dhe këtu FAST VP ka diçka për t'i ofruar përdoruesit, pasi teknologjia është diçka më shumë sesa thjesht niveli i ruajtjes. Këtu janë disa mënyra se si FAST VP mund të rrisë performancën e pishinës:

  • Shpërndarja e të dhënave nëpër lloje të ndryshme disqesh, nivele
  • Shpërndarja e të dhënave ndërmjet disqeve të të njëjtit lloj
  • Shpërndarja e të dhënave gjatë zgjerimit të grupit

Përpara se të shikojmë se si zgjidhen këto detyra, duhet të dimë disa fakte të nevojshme se si funksionon FAST VP. FAST VP funksionon me blloqe të një madhësie të caktuar - 256 megabajt. Kjo është "pjesa" më e vogël e të dhënave që mund të zhvendoset. Në dokumentacion kështu e quajnë: fetë. Nga pikëpamja e FAST VP, të gjitha grupet RAID përbëhen nga një grup "copash" të tilla. Prandaj, të gjitha statistikat I/O grumbullohen për blloqe të tilla të dhënash. Pse u zgjodh kjo madhësi blloku dhe a do të reduktohet? Blloku është mjaft i madh, por ky është një kompromis midis granularitetit të të dhënave (madhësia më e vogël e bllokut do të thotë shpërndarje më e saktë) dhe burimeve të disponueshme kompjuterike: duke pasur parasysh kufizimet ekzistuese strikte në RAM dhe një numër të madh blloqesh, të dhënat statistikore mund të marrin shumë, dhe numri i llogaritjeve do të rritet proporcionalisht.

Sa FAST VP shpërndan të dhëna në grup. Politikanët

Për të kontrolluar vendosjen e të dhënave në një grup me FAST VP të aktivizuar, ekzistojnë politikat e mëposhtme:

  • Niveli më i lartë i disponueshëm
  • Niveli automatik
  • Nisni lart dhe pastaj niveli automatik (i parazgjedhur)
  • Niveli më i ulët i disponueshëm

Ato ndikojnë si në alokimin fillestar të bllokut (të dhënat e shkruara fillimisht) ashtu edhe në rialokimin pasues. Kur të dhënat gjenden tashmë në disqe, rishpërndarja do të fillojë sipas një plani ose manualisht.

Niveli më i lartë i disponueshëm përpiqet të vendosë një bllok të ri në nivelin më të lartë të performancës. Nëse nuk ka hapësirë ​​të mjaftueshme në të, ai vendoset në nivelin tjetër më produktiv, por më pas të dhënat mund të zhvendosen në një nivel më produktiv (nëse ka hapësirë ​​ose duke zhvendosur të dhëna të tjera). Auto-Tier vendos të dhëna të reja në nivele të ndryshme në varësi të sasisë së hapësirës në dispozicion, dhe ato rishpërndahen në varësi të kërkesës dhe hapësirës së lirë. Start High pastaj Auto-Tier është politika e paracaktuar dhe gjithashtu rekomandohet. Kur vendoset fillimisht, ai funksionon si niveli më i lartë i disponueshëm dhe më pas të dhënat zhvendosen në varësi të statistikave të përdorimit të tij. Politika e nivelit më të ulët të disponueshëm kërkon të vendosë të dhënat në nivelin më pak produktiv.

Transferimi i të dhënave ndodh me prioritet të ulët në mënyrë që të mos ndërhyjë në funksionimin e dobishëm të sistemit të ruajtjes, megjithatë, ekziston një cilësim "Shkalla e zhvendosjes së të dhënave" që ndryshon përparësinë. Këtu ka një veçori: jo të gjitha blloqet e të dhënave kanë të njëjtin rend rishpërndarjeje. Për shembull, blloqet e shënuara si meta të dhëna do të zhvendosen së pari në një nivel më të shpejtë. Metadatat janë, si të thuash, "të dhëna për të dhënat", disa informacione shtesë që nuk janë të dhëna të përdoruesit, por ruan përshkrimin e tyre. Për shembull, informacion në sistemin e skedarëve se në cilin bllok ndodhet një skedar i caktuar. Kjo do të thotë se shpejtësia e aksesit në të dhëna varet nga shpejtësia e qasjes në meta të dhëna. Duke pasur parasysh që meta të dhënat janë zakonisht shumë më të vogla në madhësi, përfitimet e zhvendosjes së tyre në disqe me performancë më të lartë pritet të jenë më të mëdha.

Kriteret që Fast VP përdor në punën e tij

Kriteri kryesor për çdo bllok, shumë përafërsisht, është karakteristika e "kërkesës" së të dhënave, e cila varet nga numri i operacioneve të leximit dhe shkrimit të një fragmenti të të dhënave. Ne e quajmë këtë karakteristikë "Temperaturë". Ka të dhëna të kërkuara (të nxehta) që janë "më të nxehta" se të dhënat e padeklaruara. Ai llogaritet periodikisht, si parazgjedhje në intervale prej një ore.

Funksioni i llogaritjes së temperaturës ka këto karakteristika:

  • Në mungesë të I/O, të dhënat "ftohen" me kalimin e kohës.
  • Nën ngarkesë pak a shumë të barabartë me kalimin e kohës, temperatura fillimisht rritet dhe më pas stabilizohet në një interval të caktuar.

Më pas, merren parasysh politikat e përshkruara më sipër dhe hapësira e lirë në çdo nivel. Për qartësi, unë do të jap një foto nga dokumentacioni. Këtu ngjyrat e kuqe, të verdha dhe blu tregojnë blloqe me temperatura të larta, mesatare dhe të ulëta, përkatësisht.

FAST VP në ruajtjen e Unity: si funksionon

Por le të kthehemi te detyrat. Pra, ne mund të fillojmë të analizojmë se çfarë po bëhet për të zgjidhur problemet e FAST VP.

A. Shpërndarja e të dhënave nëpër lloje të ndryshme disqesh, nivele

Në fakt, kjo është detyra kryesore e FAST VP. Pjesa tjetër, në njëfarë kuptimi, janë derivate të saj. Në varësi të politikës së zgjedhur, të dhënat do të shpërndahen në nivele të ndryshme ruajtjeje. Para së gjithash, merret parasysh politika e vendosjes, pastaj temperatura e bllokut dhe madhësia/shpejtësia e grupeve RAID.

Për politikat e nivelit më të lartë/më të ulët të disponueshëm, gjithçka është mjaft e thjeshtë. Për dy të tjerët ky është rasti. Të dhënat shpërndahen në nivele të ndryshme duke marrë parasysh madhësinë dhe performancën e grupeve RAID: në mënyrë që raporti i "temperaturës" totale të blloqeve me "performancën maksimale të kushtëzuar" të secilit grup RAID është afërsisht i njëjtë. Kështu, ngarkesa shpërndahet pak a shumë në mënyrë të barabartë. Më shumë të dhëna të kërkuara zhvendosen në media të shpejta dhe të dhënat e përdorura rrallë zhvendosen në media më të ngadalta. Në mënyrë ideale, shpërndarja duhet të duket diçka si kjo:

FAST VP në ruajtjen e Unity: si funksionon

B. Shpërndarja e të dhënave ndërmjet disqeve të të njëjtit lloj

Mbani mend, në fillim kam shkruar se media e ruajtjes nga një ose më shumë nivelet janë të kombinuara në një pishinë? Në rastin e një niveli të vetëm, FAST VP gjithashtu ka punë për të bërë. Për të arritur performancën maksimale në çdo nivel, këshillohet që të dhënat të shpërndahen në mënyrë të barabartë midis disqeve. Kjo (teorikisht) do t'ju lejojë të merrni sasinë maksimale të IOPS. Të dhënat brenda një grupi RAID mund të konsiderohen të shpërndara në mënyrë të barabartë nëpër disqe, por kjo nuk është gjithmonë rasti midis grupeve RAID. Në rast të një çekuilibri, FAST VP do të lëvizë të dhënat midis grupeve RAID në proporcion me vëllimin e tyre dhe "performancën e kushtëzuar" (në terma numerikë). Për qartësi, unë do të tregoj një skemë ribalancimi midis tre grupeve RAID:

FAST VP në ruajtjen e Unity: si funksionon

B. Shpërndarja e të dhënave gjatë zgjerimit të grupit

Kjo detyrë është një rast i veçantë i asaj të mëparshme dhe kryhet kur një grup RAID shtohet në grup. Për të siguruar që grupi RAID i shtuar rishtazi të mos mbetet i papunë, disa nga të dhënat do të transferohen tek ai, që do të thotë se ngarkesa do të rishpërndahet në të gjitha grupet RAID.

Nivelimi i veshjes së SSD

Duke përdorur nivelimin e konsumit, FAST VP mund të zgjasë jetën e një SSD, megjithëse kjo veçori nuk lidhet drejtpërdrejt me Nivelin e ruajtjes. Meqenëse të dhënat e temperaturës janë tashmë të disponueshme, numri i operacioneve të shkrimit gjithashtu merret parasysh dhe ne dimë se si të zhvendosim blloqet e të dhënave, do të ishte logjike që FAST VP ta zgjidhë këtë problem.

Nëse numri i hyrjeve në një grup RAID tejkalon ndjeshëm numrin e hyrjeve në një tjetër, FAST VP do t'i rishpërndajë të dhënat në përputhje me numrin e operacioneve të shkrimit. Nga njëra anë, kjo lehtëson ngarkesën dhe kursen burimin e disa disqeve, nga ana tjetër, shton "punë" për ata më pak të ngarkuar, duke rritur performancën e përgjithshme.

Në këtë mënyrë, FAST VP merr përsipër sfidat tradicionale të Storage Tiering dhe bën pak më shumë se kaq. E gjithë kjo ju lejon të ruani të dhënat në mënyrë mjaft efikase në sistemin e ruajtjes Unity.

Disa këshilla

  1. Mos neglizhoni leximin e dokumentacionit. Ka praktika më të mira dhe ato funksionojnë mjaft mirë. Nëse i ndiqni ato, atëherë, si rregull, nuk lindin probleme serioze. Pjesa tjetër e këshillave në thelb i përsërit ose i plotëson ato.
  2. Nëse keni konfiguruar dhe aktivizuar FAST VP, është më mirë ta lini të aktivizuar. Lëreni të shpërndajë të dhënat në kohën e caktuar dhe pak nga pak se një herë në vit dhe të ketë një ndikim serioz në kryerjen e detyrave të tjera. Në raste të tilla, rishpërndarja e të dhënave mund të zgjasë shumë.
  3. Kini kujdes kur zgjidhni një dritare zhvendosjeje. Edhe pse kjo është e qartë, përpiquni të zgjidhni një kohë me ngarkesën më të vogël në Unity dhe të ndani një periudhë të mjaftueshme kohore.
  4. Planifikoni të zgjeroni sistemin tuaj të ruajtjes, bëjeni në kohë. Ky është një rekomandim i përgjithshëm që është i rëndësishëm edhe për FAST VP. Nëse sasia e hapësirës së lirë është shumë e vogël, atëherë lëvizja e të dhënave do të ngadalësohet ose bëhet e pamundur. Sidomos nëse keni lënë pas dore pikën 2.
  5. Kur zgjeroni një grup me FAST VP të aktivizuar, nuk duhet të filloni me disqet më të ngadaltë. Kjo do të thotë, ne ose shtojmë të gjitha grupet e planifikuara RAID menjëherë, ose shtojmë së pari disqet më të shpejtë. Në këtë rast, rishpërndarja e të dhënave në disqe të rinj "të shpejtë" do të rrisë shpejtësinë e përgjithshme të grupit. Përndryshe, fillimi me disqe "të ngadaltë" mund të çojë në një situatë shumë të pakëndshme. Së pari, të dhënat do të transferohen në disqe të rinj, relativisht të ngadaltë, dhe më pas, kur të shtohen më të shpejtë, në drejtim të kundërt. Këtu ka nuanca që lidhen me politika të ndryshme FAST VP, por në përgjithësi, një situatë e ngjashme është e mundur.

Nëse po shikoni këtë produkt, mund ta provoni Unity falas duke shkarkuar pajisjen virtuale Unity VSA.

FAST VP në ruajtjen e Unity: si funksionon

Në fund të materialit, unë ndaj disa lidhje të dobishme:

Përfundim

Do të doja të shkruaja për shumë, por e kuptoj që jo të gjitha detajet do të jenë interesante për lexuesin. Për shembull, mund të flisni më në detaje për kriteret me të cilat FAST VP merr vendime për transferimin e të dhënave, për proceset e analizimit të statistikave I/O. Gjithashtu, tema e ndërveprimit me Pishina dinamike, dhe kjo meriton një artikull të veçantë. Ju madje mund të fantazoni për zhvillimin e kësaj teknologjie. Shpresoj të mos ishte e mërzitshme dhe të mos ju mërzita. Shihemi perseri!

Burimi: www.habr.com

Shto një koment