Unity қоймасындағы FAST VP: ол қалай жұмыс істейді

Бүгін біз Unity / Unity XT сақтау жүйесінде енгізілген қызықты технология туралы сөйлесетін боламыз - FAST VP. Егер сіз Unity туралы бірінші рет естіген болсаңыз, жүйенің сипаттамаларымен танысу үшін мақаланың соңындағы сілтемені пайдалануға болады. Мен Dell EMC жоба тобында FAST VP қызметінде бір жылдан астам жұмыс істедім. Бүгін мен бұл технология туралы толығырақ айтып, оны жүзеге асырудың кейбір бөлшектерін ашқым келеді. Әрине, ашуға рұқсат етілгендер ғана. Егер сіз деректерді тиімді сақтау мәселелеріне қызығушылық танытсаңыз немесе құжаттаманы толық түсінбесеңіз, онда бұл мақала пайдалы және қызықты болады.

Unity қоймасындағы FAST VP: ол қалай жұмыс істейді

Материалда не болмайтынын бірден айтамын. Бәсекелестерді іздеу және олармен салыстыру болмайды. Мен сондай-ақ ашық дереккөздің ұқсас технологиялары туралы айтуды жоспарламаймын, өйткені қызығушылық танытқан оқырман олар туралы біледі. Және, әрине, мен ештеңені жарнамаламаймын.

сақтау деңгейі. FAST VP мақсаттары мен міндеттері

FAST VP виртуалды бассейнге арналған толық автоматтандырылған сақтау деңгейін білдіреді. Бұл қиын ба? Ештеңе емес, біз шешеміз. Деңгейлеу - бұл деректер сақталатын бірнеше деңгейлер (деңгейлер) бар деректерді сақтауды ұйымдастыру тәсілі. Әрқайсысының өзіндік ерекшеліктері бар. Ең маңыздысы: ақпарат бірлігін сақтау өнімділігі, көлемі және бағасы. Әрине, олардың арасында байланыс бар.

Деңгейлеудің маңызды ерекшелігі деректерге қол жеткізу оның қазіргі уақытта қандай сақтау деңгейіне қарамастан біркелкі қамтамасыз етіледі және пул өлшемі оған енгізілген ресурстар өлшемдерінің қосындысына тең болады. Кэштен айырмашылығы осында: кэш өлшемі ресурстың жалпы көлеміне қосылмайды (бұл жағдайда пул), және кэш деректері негізгі ортадағы деректердің кейбір бөлігін қайталайды (немесе егер кэштегі деректер әлі жазылмаған). Сондай-ақ, деректерді деңгейлер бойынша бөлу пайдаланушыдан жасырылады. Яғни, ол саясаттарды (олар туралы кейінірек) орнату арқылы жанама түрде әсер ете алатынына қарамастан, әрбір деңгейде қандай деректер орналасқанын дәл көрмейді.

Енді Unity жүйесінде сақтау деңгейлерін енгізу ерекшеліктерін қарастырайық. Unity жүйесінде 3 деңгей немесе деңгей бар:

  • Өте жоғары өнімділік (SSD)
  • Өнімділік (SAS HDD 10k/15k RPM)
  • Сыйымдылығы (NL-SAS HDD 7200RPM)

Олар өнімділік пен бағаның кему ретімен берілген. Төтенше өнімділік тек қатты күйдегі дискілерді (SSD) қамтиды. Қалған екі деңгейде айналу жылдамдығымен және сәйкесінше өнімділігімен ерекшеленетін магниттік диск жетектері бар.

Бір деңгейдегі және бірдей өлшемдегі сақтау құралдары RAID тобын құра отырып, RAID массивіне біріктіріледі (RAID тобы, RG ретінде қысқартылған); қол жетімді және ұсынылған RAID деңгейлері туралы ресми құжаттамадан оқи аласыз. Бір немесе бірнеше деңгейдегі RAID топтарынан сақтау пулдары қалыптасады, олардан бос орын таратылады. Ал қазірдің өзінде пулдан кеңістік файлдық жүйелер мен LUN үшін бөлінген.

Unity қоймасындағы FAST VP: ол қалай жұмыс істейді

Неліктен маған деңгей қажет?

Қысқаша және дерексіз: ең аз ресурстармен көбірек нәтижелерге қол жеткізу. Нақтырақ айтқанда, нәтиже әдетте сақтау жүйесінің сипаттамаларының жиынтығы ретінде түсініледі - қол жеткізу жылдамдығы мен уақыты, сақтау құны және т.б. Ресурстардың ең азы ең аз шығындарды білдіреді: ақша, энергия және т.б. FAST VP Unity / Unity XT сақтау жүйесінде әртүрлі деңгейлер бойынша деректерді қайта бөлу механизмдерін ғана жүзеге асырады. Маған сенсеңіз, келесі абзацты өткізіп жіберуіңізге болады. Қалғаны үшін мен сізге аздап айтып беремін.

Деректерді дұрыс деңгейлеу арқылы кейбір сирек пайдаланылатын ақпаратқа қол жеткізу жылдамдығын жоғалту арқылы жалпы сақтау құнын үнемдеуге және жиі қол жетімді деректерді жылдамырақ медиаға жылжыту арқылы өнімділікті жақсартуға болады. Мұнда біреу қарсылық білдіруі мүмкін, тіпті деңгейсіз, қалыпты әкімші қандай деректерді қайда қою керектігін біледі, оның тапсырмасы үшін сақтау жүйесінің қандай сипаттамалары қажет және т.б. Әрине, бұл дұрыс, бірақ деректерді «қолмен» таратудың кемшіліктері бар:

  • әкімшінің уақыты мен назарын талап етеді;
  • өзгермелі жағдайларда сақтау ресурстарын «қайта пішімдеу» әрқашан мүмкін емес;
  • маңызды артықшылық жоғалады: әртүрлі сақтау деңгейлерінде орналасқан ресурстарға бірыңғай қолжетімділік.

Сақтау әкімшілерінің жұмыс қауіпсіздігі туралы алаңдамауы үшін, мен мұнда ресурстарды сауатты жоспарлау қажет екенін қосамын. Деңгейлеу міндеттері қысқаша сипатталған соң, FAST VP қызметінен не күтуге болатынын көрейік. Бұл анықтамаға оралу уақыты. Алғашқы екі сөз – Толық автоматтандырылған – сөзбе-сөз аударғанда «толық автоматтандырылған» және деңгейлердің таралуы автоматты түрде болатынын білдіреді. Виртуалды пул - бұл әртүрлі сақтау деңгейлеріндегі ресурстарды қамтитын деректер пулы. Мынадай көрінеді:

Unity қоймасындағы FAST VP: ол қалай жұмыс істейді

Болашаққа қарап, мен FAST VP деректерді бірнеше пулдар арасында емес, тек бір пул ішінде жылжытатынын айтамын.

Тапсырмаларды FAST VP шешеді

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

  • Әр түрлі типтегі дискілер, деңгейлер бойынша мәліметтерді тарату
  • Бір типті дискілер арасында мәліметтерді бөлу
  • Пулды кеңейту кезінде деректерді тарату

Бұл тапсырмалардың қалай орындалатынын қарастырмас бұрын, FAST VP қалай жұмыс істейтіні туралы кейбір маңызды фактілерді білуіміз керек. FAST VP белгілі бір көлемдегі блоктармен жұмыс істейді - 256 мегабайт. Бұл жылжытуға болатын деректердің ең кіші іргелес «бөлігі». Құжаттамада ол былай деп аталады: slice. FAST VP тұрғысынан барлық RAID топтары осындай «бөлшектердің» жиынтығынан тұрады. Сәйкесінше, мұндай деректер блоктары үшін барлық енгізу/шығару статистикасы жинақталады. Неліктен бұл блок өлшемі таңдалды және ол азаяды ма? Блок өте үлкен, бірақ бұл деректердің түйіршіктілігі (блоктың кішірек өлшемі - дәлірек бөлу) және қол жетімді есептеу ресурстары арасындағы ымыра: ЖЖҚ-дағы бар қатаң шектеулер мен блоктардың көптігімен статистикалық деректер тым көп уақытты алуы мүмкін және есептеулер саны пропорционалды түрде өседі.

FAST VP деректерді пулға қалай орналастырады. Саясаткерлер

FAST VP қосылған пулға деректерді орналастыруды басқару үшін келесі саясаттар бар:

  • Ең жоғары қолжетімді деңгей
  • Автоматты деңгей
  • Жоғарыдан бастаңыз, содан кейін автоматты деңгей (әдепкі)
  • Ең төменгі қолжетімді деңгей

Олар блоктың бастапқы бөлінуіне де (деректер алдымен жазылады) және кейінгі қайта бөлуге де әсер етеді. Деректер дискілерге орналастырылған кезде, қайта бөлу кестеге сәйкес немесе қолмен басталады.

Ең жоғары қолжетімді деңгей жаңа блокты ең жоғары өнімділік деңгейіне орналастыруға тырысады. Егер онда орын жеткіліксіз болса, өнімділік бойынша келесісі, бірақ содан кейін деректерді өнімдірек деңгейге жылжытуға болады (егер бос орын болса немесе басқа деректерді басып тастаса). Auto-Tier қолжетімді кеңістік көлеміне негізделген жаңа деректерді әртүрлі деңгейлерге орналастырады және оларды сұраныс пен бос кеңістік негізінде қайта бөледі. Жоғарыдан бастаңыз, содан кейін автоматты деңгей әдепкі саясат болып табылады және де ұсынылады. Бастапқыда ең жоғары қолжетімді деңгей ретінде жұмыс істейді, содан кейін деректерді пайдалану статистикасы негізінде жылжытады. Ең төменгі қолжетімді деңгей саясаты деректерді ең аз орындалатын деңгейде орналастыруға тырысады.

Деректерді тасымалдау сақтау жүйесінің пайдалы жұмысына кедергі келтірмеу үшін төмен басымдықпен жүреді, алайда басымдықты өзгертетін «Деректерді ауыстыру жылдамдығы» параметрі бар. Бұл жерде бір ерекшелік бар: барлық деректер блоктарында қайта бөлу реті бірдей емес. Мысалы, метадеректер ретінде белгіленген блоктар алдымен жылдамырақ деңгейге жылжытылады. Метадеректер, былайша айтқанда, «деректер туралы деректер», пайдаланушы деректері болып табылмайтын, бірақ олардың сипаттамасын сақтайтын кейбір қосымша ақпарат. Мысалы, белгілі бір файлдың қай блокта екендігі туралы файлдық жүйедегі ақпарат. Бұл деректерге қол жеткізу жылдамдығы метадеректерге қол жеткізу жылдамдығына байланысты екенін білдіреді. Метадеректер әдетте әлдеқайда аз екенін ескере отырып, оны жылдамырақ дискілерге жылжытудың артықшылықтары көбірек болады деп күтілуде.

Fast VP өз жұмысында қолданатын критерийлер

Әрбір блоктың негізгі критерийі, егер өте дөрекі болса, деректер фрагментінің оқу және жазу операцияларының санына байланысты деректердің «сұранысының» сипаттамасы болып табылады. Бұл сипаттама «Температура» деп аталады. Талап етілмеген деректерге қарағанда ыстық деректер бар. Ол мерзімді түрде, әдепкі бойынша бір сағаттық аралықпен есептеледі.

Температураны есептеу функциясының келесі қасиеттері бар:

  • Енгізу/шығару болмаған жағдайда деректер уақыт өте келе «салқындайды».
  • Уақыт өте көп немесе аз бірдей жүктеме кезінде температура алдымен жоғарылайды, содан кейін белгілі бір диапазонда тұрақтанады.

Әрі қарай, жоғарыда сипатталған саясаттар және әрбір деңгейдегі бос орын ескеріледі. Түсінікті болу үшін мен құжаттамадан суретті беремін. Мұнда қызыл, сары және көк түстер сәйкесінше жоғары, орташа және төмен температурадағы блоктарды көрсетеді.

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: ол қалай жұмыс істейді

C. Пулды кеңейту кезінде мәліметтерді тарату

Бұл тапсырма алдыңғы тапсырманың ерекше жағдайы және пулға RAID тобы қосылғанда орындалады. Жаңадан қосылған RAID тобының бос тұруын болдырмау үшін деректердің бір бөлігі оған тасымалданады, бұл барлық RAID топтарындағы жүктеме қайта бөлінетінін білдіреді.

SSD тозуын теңестіру

Тозуды теңестіру арқылы FAST VP SSD құрылғысының қызмет ету мерзімін ұзарта алады, дегенмен бұл мүмкіндік Сақтау деңгейімен тікелей байланысты емес. Температура деректері бар болғандықтан, жазу операцияларының саны да ескеріледі, біз деректер блоктарын қалай жылжыту керектігін білеміз, FAST VP үшін бұл мәселені де шешу қисынды болар еді.

Егер бір RAID тобына жазу саны екіншісіне жазу санынан айтарлықтай асып кетсе, FAST VP деректерді жазу санына сәйкес қайта таратады. Бір жағынан, бұл жүктемені жояды және кейбір дискілердің ресурсын үнемдейді, екінші жағынан, ол жалпы өнімділікті арттыра отырып, аз жүктелгендер үшін «жұмыс» қосады.

Осылайша, FAST VP Storage Tiering дәстүрлі тапсырмаларын қабылдайды және одан да көп нәрсені орындайды. Мұның бәрі 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 деректерді тасымалдау туралы шешім қабылдайтын критерийлер туралы, енгізу/шығару статистикасын талдау процестері туралы толығырақ айтуға болады. Сонымен қатар, өзара әрекеттесу тақырыбы Динамикалық пулдар, және бұл бөлек мақаланы тартады. Сіз тіпті осы технологияның дамуы туралы қиялдауға болады. Мен сізді жалықтырған жоқпын деп үміттенемін. Келесі кездескенше!

Ақпарат көзі: www.habr.com

пікір қалдыру