Unity сактагычындагы FAST VP: ал кантип иштейт

Бүгүн биз Unity/Unity XT сактоо тутумдарында ишке ашырылган кызыктуу технология жөнүндө сүйлөшөбүз - FAST VP. Эгер сиз Биримдик жөнүндө биринчи жолу угуп жатсаңыз, анда макаланын аягындагы шилтеме аркылуу системанын мүнөздөмөлөрүн текшере аласыз. Мен Dell EMC долбоорунун командасында FAST VP кызматында бир жылдан ашык иштедим. Бүгүн мен бул технология жөнүндө кененирээк айтып, аны ишке ашыруунун айрым деталдарын ачып бергим келет. Албетте, ачыкка чыгууга уруксат берилгендер гана. Эгер сиз маалыматты эффективдүү сактоо маселелерине кызыксаңыз же документтерди толук түшүнө элек болсоңуз, анда бул макала, албетте, пайдалуу жана кызыктуу болот.

Unity сактагычындагы FAST VP: ал кантип иштейт

Мен материалда эмне жок болорун дароо айтып берем. Атаандаштарды издөө жана алар менен салыштыруу болбойт. Мен ошондой эле ачык булактан алынган ушуга окшош технологиялар жөнүндө сүйлөшкүм келбейт, анткени кызыккан окурман алар жөнүндө мурунтан эле билет. Анан, албетте, мен эч нерсени реклама кылбайм.

Сактоо деңгээли. Максаттары жана милдеттери FAST VP

FAST VP виртуалдык бассейн үчүн толук автоматташтырылган сактагыч даражасын билдирет. Бир аз кыйынбы? Эч нерсе эмес, азыр чечебиз. Тиринг - бул маалыматтар сакталган бир нече деңгээлдер (деңгээлдер) бар маалыматтарды сактоону уюштуруунун жолу. Ар биринин өзүнүн өзгөчөлүктөрү бар. Эң негизгиси: маалымат бирдигин сактоонун өндүрүмдүүлүгү, көлөмү жана баасы. Албетте, алардын ортосунда мамиле бар.

Деңгээлге коюунун маанилүү өзгөчөлүгү - маалыматтарга жетүү ал учурда жайгашкан сактоо деңгээлине карабастан бирдей камсыздалат жана бассейндин өлчөмү ага кирген ресурстардын өлчөмдөрүнүн суммасына барабар. Бул жерде кэштен айырмачылыктар жатат: кэштин көлөмү ресурстун жалпы көлөмүнө кошулбайт (бул учурда бассейн), ал эми кэш маалыматы негизги медиа маалыматтарынын кээ бир фрагменттерин кайталайт (же болбосо кайталанат. кэштен маалыматтар али жазыла элек). Ошондой эле, маалыматтарды деңгээлдер боюнча бөлүштүрүү колдонуучудан жашырылган. Башкача айтканда, ал ар бир деңгээлде кандай маалыматтар жайгашканын так көрө албайт, бирок ал саясатты белгилөө аркылуу ага кыйыр түрдө таасир эте алат (алар жөнүндө кийинчерээк).

Эми Биримдикте сактоо катмарын ишке ашыруунун өзгөчөлүктөрүн карап көрөлү. Биримдиктин 3 деңгээли же деңгээли бар:

  • Экстремалдуу аткаруу (SSDs)
  • Өндүрүмдүүлүк (SAS HDD 10k/15k RPM)
  • Кубаттуулугу (NL-SAS HDD 7200 RPM)

Алар аткаруунун жана баасынын азаюу тартибинде берилген. Өзгөчө аткаруу катуу абалдагы дисктерди (SSD) гана камтыйт. Калган эки деңгээлге магниттик дисктер кирет, алар айлануу ылдамдыгы жана ошого жараша иштеши боюнча айырмаланат.

Ошол эле деңгээлдеги жана бирдей өлчөмдөгү сактагычтар RAID массивине бириктирилип, RAID тобун түзүшөт (RAID тобу, RG катары кыскартылган); Жеткиликтүү жана сунушталган RAID деңгээли тууралуу расмий документтерден окуй аласыз. Сактагыч бассейндер бир же бир нече деңгээлдеги RAID топторунан түзүлүп, андан кийин бош орун бөлүштүрүлөт. Ал эми бассейнден мейкиндик файл тутумдары жана LUNs үчүн бөлүнгөн.

Unity сактагычындагы FAST VP: ал кантип иштейт

Эмне үчүн мага Tiering керек?

Кыскача жана абстрактуу: ресурстарды минималдуу пайдалануу менен жогорку натыйжаларга жетишуу. Тагыраак айтканда, натыйжа, адатта, сактоо тутумунун мүнөздөмөлөрүнүн жыйындысы катары түшүнүлөт - ылдамдык жана кирүү убактысы, сактоо наркы жана башкалар. Ресурстардын минималдуу болушу эң аз чыгымды билдирет: акча, энергия ж.б. FAST VP Unity/Unity XT сактоо тутумдарында ар кандай деңгээлдеги маалыматтарды кайра бөлүштүрүү механизмдерин ишке ашырат. Мага ишенсеңиз, кийинки абзацты өткөрүп жиберсеңиз болот. Калгандары үчүн мен сизге дагы бир аз айтып берем.

Сактоо деңгээли боюнча маалыматтарды туура бөлүштүрүү кээ бир сейрек колдонулган маалыматка жетүү ылдамдыгын курмандыкка чалып, сактоонун жалпы баасын үнөмдөөгө жана көп колдонулган маалыматтарды ылдамыраак медиага жылдыруу менен ишти жакшыртууга мүмкүндүк берет. Бул жерде кимдир бирөө деңгээли жок болсо да, кадимки администратор кайсы маалыматтарды кайда жайгаштырууну, анын тапшырмасы үчүн сактоо тутумунун керектүү мүнөздөмөлөрү кандай экенин билет деп талашышы мүмкүн. Бул, албетте, туура, бирок маалыматтарды кол менен таратуунун кемчиликтери бар:

  • администратордун убактысын жана көңүлүн талап кылат;
  • Бул өзгөрүп жаткан шарттарга ылайык сактоо ресурстарын "кайра чийүү" дайыма эле мүмкүн эмес;
  • маанилүү артыкчылыгы жоголот: ар кандай сактоо деңгээлинде жайгашкан ресурстарга бирдиктүү жетүү.

Сактагыч администраторлор жумуштун коопсуздугу жөнүндө азыраак тынчсызданышы үчүн, мен бул жерде компетенттүү ресурстарды пландаштыруу керектигин кошом. Эми деңгээлди түзүү милдеттери кыскача баяндалгандан кийин, FAST VPден эмнени күтө аларыңызды карап көрөлү. Эми аныктамага кайтууга убакыт келди. Биринчи эки сөз – Толук автоматташтырылган – түзмө-түз “толук автоматташтырылган” деп которулат жана деңгээлдердин ортосундагы бөлүштүрүү автоматтык түрдө ишке ашат дегенди билдирет. Ооба, Virtual Pool - бул ар кандай сактоо деңгээлдериндеги ресурстарды камтыган маалымат пулу. Бул көрүнүш мына мындай:

Unity сактагычындагы FAST VP: ал кантип иштейт

Алдыга карап, мен FAST VP маалыматтарды бир нече бассейндердин ортосунда эмес, бир бассейндин ичинде гана жылдырат деп айтам.

FAST VP тарабынан чечилген көйгөйлөр

Алгач абстракттуу сүйлөшөлү. Бизде бассейн жана бул бассейндин ичиндеги маалыматтарды кайра бөлүштүрө турган бир механизм бар. Биздин максат максималдуу өндүрүмдүүлүккө жетишүү экенин эстеп, өзүбүзгө суроо берели: ага кандай жолдор менен жете алабыз? Алардын бир нечеси болушу мүмкүн жана бул жерде FAST VP колдонуучуга сунуш кыла турган нерсеге ээ, анткени технология жөн гана сактоо деңгээлинен башка нерсе. Бул жерде FAST VP бассейндин иштешин жогорулатуунун кээ бир жолдору бар:

  • Берилиштерди дисктердин ар кандай типтери, деңгээли боюнча бөлүштүрүү
  • Бир типтеги дисктер арасында маалыматтарды бөлүштүрүү
  • Бассейнди кеңейтүүдө маалыматтарды бөлүштүрүү

Бул милдеттер кантип чечилерин карап чыгуудан мурун, биз FAST VP кандайча иштээри жөнүндө кээ бир керектүү фактыларды билишибиз керек. FAST VP белгилүү өлчөмдөгү блоктор менен иштейт - 256 мегабайт. Бул жылдырыла турган маалыматтардын эң кичинекей "бөлүгү". Документте муну алар мындай деп аташат: кесим. FAST VP көз карашы боюнча, бардык RAID топтору ушундай "бөлүктөрдүн" жыйындысынан турат. Демек, мындай маалымат блоктору үчүн бардык киргизүү/чыгаруу статистикасы топтолот. Эмне үчүн бул блоктун өлчөмү тандалган жана ал кыскартылабы? Блок абдан чоң, бирок бул маалыматтардын гранулярдуулугу (кичинекей блоктун көлөмү так бөлүштүрүүнү билдирет) жана жеткиликтүү эсептөө ресурстарынын ортосундагы компромисс: оперативдүү эстутумдагы катуу чектөөлөрдү жана көп сандагы блокторду эске алганда, статистикалык маалыматтар талап кылынышы мүмкүн. өтө көп, жана эсептөөлөрдүн саны пропорционалдуу көбөйөт.

Кантип FAST VP бассейнге маалыматтарды бөлүштүрөт. Саясатчылар

FAST VP иштетилген көлмөгө маалыматтарды жайгаштырууну көзөмөлдөө үчүн төмөнкү саясаттар бар:

  • Эң жогорку жеткиликтүү деңгээл
  • Auto-Tier
  • Жогорку баштап, андан кийин Авто-деңгээл (демейки)
  • Эң төмөнкү жеткиликтүү деңгээл

Алар блоктордун баштапкы бөлүштүрүлүшүнө (маалыматтар биринчи жазылган) жана андан кийинки кайра бөлүштүрүүгө да таасирин тийгизет. Маалыматтар дисктерде жайгашканда, кайра бөлүштүрүү графикке ылайык же кол менен башталат.

Эң жогорку жеткиликтүү деңгээл жаңы блокту эң жогорку натыйжалуу деңгээлге коюуга аракет кылат. Эгерде анда орун жетишсиз болсо, анда ал кийинки эң жемиштүү деңгээлге жайгаштырылат, бирок андан кийин маалыматтар жемиштүү деңгээлге жылдырылышы мүмкүн (эгерде орун болсо же башка маалыматтарды алмаштыруу менен). Auto-Tier жеткиликтүү мейкиндиктин көлөмүнө жараша жаңы маалыматтарды ар кандай деңгээлде жайгаштырат жана ал суроо-талапка жана бош орунга жараша кайра бөлүштүрүлөт. Жогорку деңгээлде баштаңыз, андан кийин Auto-Tier демейки саясат жана ошондой эле сунушталат. Алгач жайгаштырылганда, ал Эң Жогорку Жеткиликтүү Деңгээл катары иштейт, андан кийин маалыматтар анын колдонуу статистикасына жараша жылдырылат. Эң төмөн жеткиликтүү деңгээл саясаты маалыматтарды эң аз өндүрүмдүү деңгээлге жайгаштырууга умтулат.

Сактоо тутумунун пайдалуу иштешине тоскоол болбоо үчүн берилиштерди өткөрүү төмөнкү артыкчылык менен ишке ашат, бирок артыкчылыкты өзгөрткөн "Маалыматтарды көчүрүү ылдамдыгы" параметри бар. Бул жерде бир өзгөчөлүк бар: бардык маалымат блоктору бирдей бөлүштүрүү тартибине ээ эмес. Мисалы, метадайындар катары белгиленген блоктор алгач тезирээк деңгээлге жылдырылат. Метаберилиштер, мындайча айтканда, "маалыматтар жөнүндө", колдонуучунун маалыматы эмес, анын сүрөттөлүшүн сактаган кээ бир кошумча маалымат. Мисалы, файл тутумундагы белгилүү бир файл кайсы блокто жайгашканы жөнүндө маалымат. Бул маалыматка жетүү ылдамдыгы метаберилиштерге жетүү ылдамдыгынан көз каранды экенин билдирет. Метаберилиштер демейде көлөмү жагынан алда канча кичине экенин эске алсак, аны натыйжалуулугу жогору дисктерге жылдыруунун пайдасы көбүрөөк болот деп күтүлүүдө.

Fast VP өз ишинде колдонгон критерийлер

Ар бир блок үчүн негизги критерий, өтө болжол менен, маалымат фрагментинин окуу жана жазуу операцияларынын санына жараша болгон маалыматтардын “талаптын” мүнөздөмөсү. Биз бул өзгөчөлүктү "Температура" деп атайбыз. Талап кылынбаган маалыматтарга караганда "ысык" талап кылынган (ысык) маалыматтар бар. Ал мезгил-мезгили менен, демейки боюнча бир сааттык аралыкта эсептелет.

Температураны эсептөө функциясы төмөнкү касиеттерге ээ:

  • I/O жок болгон учурда, маалыматтар убакыттын өтүшү менен "муздайт".
  • Убакыттын өтүшү менен аздыр-көптүр бирдей жүктөмдүн астында температура адегенде жогорулап, андан кийин белгилүү бир диапазондо турукташат.

Андан кийин, жогоруда сүрөттөлгөн саясаттар жана ар бир деңгээлдеги бош орун эске алынат. Түшүнүктүү болушу үчүн, мен документациядан бир сүрөттү берем. Бул жерде кызыл, сары жана көк түстөр тиешелүүлүгүнө жараша жогорку, орто жана төмөнкү температурадагы блокторду көрсөтөт.

Unity сактагычындагы FAST VP: ал кантип иштейт

Бирок, келгиле, милдеттерге кайрылып көрөлү. Ошентип, биз FAST VP көйгөйлөрүн чечүү үчүн эмне жасалып жатканын талдай баштасак болот.

A. Маалыматтарды дисктердин ар кандай типтери, деңгээли боюнча бөлүштүрүү

Чынында, бул FAST VP негизги милдети болуп саналат. Калгандары, кандайдыр бир мааниде, анын туундулары. Тандалган саясатка жараша, маалыматтар ар кандай сактоо деңгээлинде бөлүштүрүлөт. Биринчи кезекте, жайгаштыруу саясаты, андан кийин блоктун температурасы жана RAID топторунун өлчөмү / ылдамдыгы эске алынат.

Эң Жогорку/Төмөнкү Жеткиликтүү Деңгээл саясаттары үчүн бардыгы жөнөкөй. Калган экөө үчүн бул жагдай. Маалыматтар RAID топторунун көлөмүн жана иштешин эске алуу менен ар кандай деңгээлде бөлүштүрүлөт: блоктордун жалпы “температурасынын” ар бир RAID тобунун “шарттуу максималдуу иштешине” катышы болжол менен бирдей болушу үчүн. Ошентип, жүк аздыр-көптүр бирдей бөлүштүрүлөт. Көбүрөөк талап кылынган маалыматтар тез медиага, ал эми сейрек колдонулган маалыматтар жайыраак медиага жылдырылат. Идеалында, бөлүштүрүү төмөнкүдөй болушу керек:

Unity сактагычындагы FAST VP: ал кантип иштейт

B. Бир типтеги дисктер арасында маалыматтарды бөлүштүрүү

Эсиңизде болсун, башында мен ошол сактагычты жаздым бир же көбүрөөк деңгээлдер бир бассейнге бириктирилгенби? Бир деңгээлдеги учурда, FAST VP дагы аткара турган жумуштары бар. Кандай гана деңгээлде болбосун максималдуу өндүрүмдүүлүккө жетүү үчүн маалыматтарды дисктердин ортосунда бирдей бөлүштүрүү сунушталат. Бул (теориялык жактан) IOPSтин максималдуу суммасын алууга мүмкүндүк берет. RAID тобунун ичиндеги маалыматтар дисктер боюнча бирдей бөлүштүрүлгөн деп эсептесе болот, бирок бул дайыма эле RAID топторунун ортосунда боло бербейт. дисбаланс болгон учурда, FAST VP алардын көлөмүнө жана "шарттуу аткарууга" (сандык мааниде) пропорционалдуу RAID топтордун ортосунда маалыматтарды жылдырат. Түшүнүктүү болуу үчүн, мен үч RAID тобунун ортосунда тең салмактуулук схемасын көрсөтөм:

Unity сактагычындагы FAST VP: ал кантип иштейт

B. Бассейнди кеңейтүүдө маалыматтарды бөлүштүрүү

Бул тапшырма мурунку өзгөчө учур жана бассейнге RAID тобу кошулганда аткарылат. Жаңы кошулган RAID тобу иштебей калбашы үчүн, айрым маалыматтар ага өткөрүлүп берилет, демек, жүк бардык RAID топтору боюнча бөлүштүрүлөт.

SSD Wear Leveling

Тийиштүү тегиздөөнү колдонуу менен, FAST VP SSDдин иштөө мөөнөтүн узарта алат, бирок бул өзгөчөлүк Сактагыч Тирингине түздөн-түз тиешеси жок. Температура маалыматтары мурунтан эле бар болгондуктан, жазуу операцияларынын саны да эске алынат жана биз маалымат блокторун кантип жылдыруу керектигин билебиз, FAST VP үчүн бул маселени чечүү логикалык болмок.

Эгерде бир RAID тобундагы жазуулардын саны экинчисиндеги жазуулардын санынан кыйла ашып кетсе, FAST VP жазуу операцияларынын санына ылайык маалыматтарды кайра бөлүштүрөт. Бир жагынан алганда, бул жүктү жеңилдетет жана кээ бир дисктердин ресурсун үнөмдөйт, экинчи жагынан, ал азыраак жүктөлгөндөр үчүн "иш" кошуп, жалпы өндүрүмдүүлүктү жогорулатат.

Ушундай жол менен, FAST VP Сактоо деңгээли боюнча салттуу кыйынчылыктарды өзүнө алат жана андан бир аз көбүрөөк кылат. Мунун баары Unity сактоо тутумунда маалыматтарды кыйла натыйжалуу сактоого мүмкүндүк берет.

Бир нече ыкмалары

  1. Документти окууну унутпаңыз. Мыкты тажрыйбалар бар, алар абдан жакшы иштейт. Эгер сиз аларды аткарсаңыз, анда, эреже катары, эч кандай олуттуу көйгөйлөр пайда болбойт. Калган кеңештер негизинен аларды кайталайт же толуктайт.
  2. Эгер сиз FAST VP конфигурациялап жана иштеткен болсоңуз, аны иштетип койгонуңуз оң. Жылына бир жолудан кем эмес маалыматтарды өз убагында жана аз-аздан таркатып, башка милдеттерди аткарууга олуттуу таасирин тийгизсин. Мындай учурларда, маалыматтарды кайра бөлүштүрүү көп убакыт талап кылынышы мүмкүн.
  3. Көчүрүү терезесин тандоодо этият болуңуз. Бул ачык көрүнүп турса да, Unity боюнча эң аз жүктөмү бар убакытты тандап, жетиштүү убакытты бөлүүгө аракет кылыңыз.
  4. Сактоо тутумуңузду кеңейтүүнү пландаштырыңыз, аны өз убагында жасаңыз. Бул FAST VP үчүн да маанилүү болгон жалпы сунуш. Эгерде бош орундун көлөмү өтө аз болсо, анда маалымат кыймылы басаңдайт же мүмкүн болбой калат. Айрыкча, эгер сиз 2-пунктту этибарга албасаңыз.
  5. FAST VP иштетилген бассейнди кеңейтүүдө сиз эң жай дисктерден баштабашыңыз керек. Башкача айтканда, биз бир эле учурда бардык пландаштырылган RAID топторун кошобуз, же биринчи эң ылдам дисктерди кошобуз. Бул учурда, маалыматтарды жаңы "тез" дисктерге кайра бөлүштүрүү бассейндин жалпы ылдамдыгын жогорулатат. Болбосо, "жай" дисктер менен баштап, абдан жагымсыз жагдайга алып келиши мүмкүн. Биринчиден, маалыматтар жаңы, салыштырмалуу жай дисктерге, андан кийин ылдамыраактары кошулганда, карама-каршы багытта өткөрүлөт. Бул жерде ар кандай FAST VP саясатына байланыштуу нюанстар бар, бирок жалпысынан, ушундай эле жагдай болушу мүмкүн.

Эгер сиз бул продуктуну карап жатсаңыз, Unity VSA виртуалдык шайманын жүктөп алуу менен Unity'ди бекер сынап көрө аласыз.

Unity сактагычындагы FAST VP: ал кантип иштейт

Материалдын аягында мен бир нече пайдалуу шилтемелерди бөлүшөм:

жыйынтыктоо

Мен көп нерсе жазгым келет, бирок бардык майда-чүйдөсүнө чейин окурманды кызыктырбай турганын түшүнөм. Мисалы, FAST VP маалыматтарды өткөрүү боюнча чечим кабыл алган критерийлер, киргизүү/чыгаруу статистикасын талдоо процесстери жөнүндө кененирээк сүйлөшө аласыз. Ошондой эле, өз ара аракеттенүү темасы Динамикалык бассейндер, жана бул өзүнчө макалага татыктуу. Сиз бул технологиянын өнүгүшү жөнүндө кыялдансаңыз да болот. Бул кызыксыз болгон жок деп үмүттөнөм жана мен сени тажаткан жокмун. Көрүшкөнгө чейин!

Source: www.habr.com

Комментарий кошуу