Այսօր մենք կվերլուծենք vSphere-ում սկավառակի ենթահամակարգի չափումները: Պահպանման խնդիրը դանդաղ վիրտուալ մեքենայի ամենատարածված պատճառն է: Եթե պրոցեսորի և օպերատիվ հիշողության դեպքում անսարքությունների վերացումը ավարտվում է հիպերվիզորի մակարդակով, ապա եթե սկավառակի հետ կապված խնդիրներ կան, դուք կարող եք գործ ունենալ տվյալների ցանցի և պահեստավորման համակարգի հետ:
Ես կքննարկեմ թեման՝ օգտագործելով պահեստավորման համակարգերի բլոկային մուտքի օրինակը, թեև ֆայլերի մուտքի համար հաշվիչները մոտավորապես նույնն են:
Մի քիչ տեսություն
Վիրտուալ մեքենաների սկավառակի ենթահամակարգի աշխատանքի մասին խոսելիս մարդիկ սովորաբար ուշադրություն են դարձնում երեք փոխկապակցված պարամետրերի վրա.
- մուտքային/ելքային գործողությունների քանակը (Input/Output Operations Per Second, IOPS);
- թողունակություն;
- մուտքային/ելքային գործառնությունների ուշացում (Latency):
IOPS-ի քանակը սովորաբար կարևոր է պատահական ծանրաբեռնվածության համար. մուտք դեպի սկավառակի բլոկներ, որոնք տեղակայված են տարբեր վայրերում: Նման բեռի օրինակ կարող են լինել տվյալների բազաները, բիզնես հավելվածները (ERP, CRM) և այլն:
Շրջանառություն կարևոր է հաջորդական բեռների համար. մուտք դեպի բլոկներ, որոնք գտնվում են մեկը մյուսի հետևից: Օրինակ, ֆայլերի սերվերները (բայց ոչ միշտ) և տեսահսկման համակարգերը կարող են նման բեռ առաջացնել:
Արտադրողականությունը կապված է I/O գործողությունների քանակի հետ հետևյալ կերպ.
Արտադրողականություն = IOPS * Բլոկի չափը, որտեղ Բլոկի չափը բլոկի չափն է։
Բլոկի չափը բավականին կարևոր հատկանիշ է: ESXi-ի ժամանակակից տարբերակները թույլ են տալիս մինչև 32 ԿԲ չափի բլոկներ: Եթե բլոկը նույնիսկ ավելի մեծ է, այն բաժանվում է մի քանիսի: Ոչ բոլոր պահեստավորման համակարգերը կարող են արդյունավետ աշխատել նման մեծ բլոկների հետ, ուստի ESXi Ընդլայնված կարգավորումներում կա DiskMaxIOSize պարամետր: Օգտագործելով այն՝ կարող եք նվազեցնել հիպերվիզորի կողմից բաց թողնված առավելագույն բլոկի չափը (ավելի մանրամասն
Բլոկի մեծ չափը կարող է վնասակար ազդեցություն ունենալ պահեստավորման աշխատանքի վրա: Նույնիսկ եթե IOPS-ի և թողունակության քանակը համեմատաբար փոքր է, մեծ ուշացումները կարող են դիտվել մեծ բլոկի չափով: Հետեւաբար, ուշադրություն դարձրեք այս պարամետրին:
Ժամկետանցություն - ամենահետաքրքիր կատարողական պարամետրը: Վիրտուալ մեքենայի համար I/O հետաձգումը բաղկացած է.
- ուշացումներ հիպերվիզորի ներսում (KAVG, միջին միջուկի MilliSec/Read);
- տվյալների ցանցի և պահպանման համակարգի (DAVG, Average Driver MilliSec/Command) կողմից տրամադրվող ուշացում:
Ընդհանուր ուշացումը, որը տեսանելի է հյուրի OS-ում (GAVG, Average Guest MilliSec/Command) KAVG-ի և DAVG-ի գումարն է:
GAVG-ը և DAVG-ը չափվում են, և KAVG-ն հաշվարկվում է՝ GAVG–DAVG:
Եկեք ավելի սերտ նայենք ԿԱՎԳ. Նորմալ շահագործման ընթացքում KAVG-ը պետք է հակված լինի զրոյի կամ առնվազն շատ ավելի քիչ լինի, քան DAVG-ը: Միակ դեպքը, որը ես գիտեմ, որտեղ KAVG-ն ակնկալվում է, որ բարձր է, VM սկավառակի IOPS սահմանաչափն է: Այս դեպքում, երբ փորձեք գերազանցել սահմանը, KAVG-ն կավելանա:
KAVG-ի ամենակարևոր բաղադրիչը QAVG-ն է՝ հիպերվիզորի ներսում մշակման հերթի ժամանակը: KAVG-ի մնացած բաղադրիչներն աննշան են:
Սկավառակի ադապտեր վարորդի և լուսինների հերթն ունի ֆիքսված չափ: Բարձր բեռնված միջավայրերի համար կարող է օգտակար լինել մեծացնել այս չափը:
Բայց նորից, նախ կարդացեք HBA վաճառողի փաստաթղթերը և փորձարկեք փոփոխությունները լաբորատորիայի նստարանին:
Լուսնի մոտ հերթի չափի վրա կարող է ազդել SIOC (Storage I/O Control) մեխանիզմի ներառումը: Այն ապահովում է միատեսակ մուտք դեպի Լուսին կլաստերի բոլոր սերվերներից՝ դինամիկ կերպով փոխելով հերթը դեպի լուսին սերվերների վրա: Այսինքն, եթե հյուրընկալողներից մեկն աշխատում է VM-ով, որը պահանջում է անհամաչափ քանակի կատարողականություն (աղմկոտ հարևան VM), SIOC-ը կրճատում է այս հոսթի (DQLEN) մինչև լուսնի հերթի երկարությունը: Ավելի մանրամասն
Մենք դասավորել ենք KAVG-ն, հիմա մի փոքր մասին ԴԱՎԳ. Այստեղ ամեն ինչ պարզ է. DAVG-ն արտաքին միջավայրի (տվյալների ցանց և պահեստավորման համակարգ) ներդրած ուշացումն է: Յուրաքանչյուր ժամանակակից և ոչ այնքան ժամանակակից պահեստավորման համակարգ ունի իր կատարողական հաշվիչներ: DAVG-ի հետ կապված խնդիրները վերլուծելու համար իմաստ ունի նայել դրանք: Եթե ESXi-ի և պահեստավորման կողմում ամեն ինչ կարգին է, ստուգեք տվյալների ցանցը:
Աշխատանքի հետ կապված խնդիրներից խուսափելու համար ընտրեք ճիշտ ուղու ընտրության քաղաքականություն (PSP) ձեր պահեստավորման համակարգի համար: Գրեթե բոլոր ժամանակակից պահեստավորման համակարգերն աջակցում են PSP Round-Robin-ին (ALUA-ով կամ առանց, Ասիմետրիկ տրամաբանական միավորի հասանելիության): Այս քաղաքականությունը թույլ է տալիս օգտագործել պահեստավորման համակարգ տանող բոլոր հասանելի ուղիները: ALUA-ի դեպքում օգտագործվում են միայն լուսնի սեփականատեր հսկիչ տանող ուղիները: ESXi-ի ոչ բոլոր պահեստավորման համակարգերն ունեն լռելյայն կանոններ, որոնք սահմանում են Round-Robin քաղաքականությունը: Եթե ձեր պահեստավորման համակարգի համար կանոն չկա, օգտագործեք պահեստավորման համակարգի արտադրողի պլագին, որը կստեղծի համապատասխան կանոն կլաստերի բոլոր հոսթների վրա, կամ ինքներդ կստեղծեք կանոն: Մանրամասներ
Նաև պահեստավորման համակարգերի որոշ արտադրողներ խորհուրդ են տալիս փոխել IOPS-ների քանակը մեկ ճանապարհի համար 1000-ի ստանդարտ արժեքից մինչև 1: Մեր պրակտիկայում դա հնարավորություն տվեց ավելի շատ «քամել» պահեստավորման համակարգից և զգալիորեն կրճատել ձախողման համար պահանջվող ժամանակը: վերահսկիչի ձախողման կամ թարմացման դեպքում: Ստուգեք վաճառողի առաջարկությունները, և եթե հակացուցումներ չկան, ապա փորձեք փոխել այս պարամետրը: Մանրամասներ
Հիմնական վիրտուալ մեքենայի սկավառակի ենթահամակարգի կատարողականի հաշվիչները
Սկավառակի ենթահամակարգի աշխատանքի հաշվիչներ vCenter-ում հավաքվում են Datastore, Disk, Virtual Disk բաժիններում.
Բաժին Տվյալների բազան Կան vSphere սկավառակի պահեստների (տվյալների պահեստների) չափումներ, որոնց վրա գտնվում են VM սկավառակները: Այստեղ դուք կգտնեք ստանդարտ հաշվիչներ հետևյալի համար.
- IOPS (վայրկյանում կարդալու/գրելու միջին հարցումներ),
- թողունակություն (Կարդալ/Գրելու արագություն),
- ուշացումներ (Կարդալ/Գրել/Ամենաբարձր ուշացում):
Սկզբունքորեն ամեն ինչ պարզ է հաշվիչների անվանումներից։ Թույլ տվեք ևս մեկ անգամ ձեր ուշադրությունը հրավիրել այն փաստի վրա, որ այստեղ վիճակագրությունը հատուկ VM-ի (կամ VM սկավառակի) համար չէ, այլ ընդհանուր վիճակագրություն ամբողջ տվյալների պահեստի համար: Իմ կարծիքով, ավելի հարմար է այս վիճակագրությունը ESXTOP-ում նայել, թեկուզ այն բանից ելնելով, որ այնտեղ չափման նվազագույն ժամկետը 2 վայրկյան է։
Բաժին Սկավառակ կան չափումներ բլոկ սարքերի վրա, որոնք օգտագործվում են VM-ի կողմից: Գոյություն ունեն IOPS-ի համար գումարման տիպի հաշվիչներ (չափման ժամանակահատվածում մուտքային/ելքային գործողությունների քանակը) և մի քանի հաշվիչներ՝ կապված արգելափակման մուտքի հետ (հրամանները ընդհատվել են, ավտոբուսի վերակայումը): Իմ կարծիքով, ավելի հարմար է նաև այս տեղեկատվությունը դիտել ESXTOP-ում։
Բաժին Վիրտուալ սկավառակ – ամենաօգտակարը VM սկավառակի ենթահամակարգի կատարողական խնդիրների հայտնաբերման տեսանկյունից: Այստեղ դուք կարող եք տեսնել յուրաքանչյուր վիրտուալ սկավառակի կատարումը: Հենց այս տեղեկությունն է անհրաժեշտ՝ հասկանալու համար, թե արդյոք կոնկրետ վիրտուալ մեքենան խնդիր ունի: Ի լրումն ստանդարտ հաշվիչների՝ I/O գործառնությունների քանակի, կարդալու/գրելու ծավալի և ուշացումների համար, այս բաժինը պարունակում է օգտակար հաշվիչներ, որոնք ցույց են տալիս բլոկի չափը՝ Read/Write request size:
Ստորև նկարը ցույց է տալիս VM սկավառակի աշխատանքի գրաֆիկը, որտեղ կարող եք տեսնել IOPS-ի քանակը, հետաձգումը և բլոկի չափը:
Դուք կարող եք նաև դիտել կատարողականի ցուցանիշները ամբողջ տվյալների պահեստի համար, եթե SIOC-ը միացված է: Ահա հիմնական տեղեկատվությունը միջին ուշացման և IOPS-ի վերաբերյալ: Լռելյայնորեն, այս տեղեկատվությունը կարող է դիտվել միայն իրական ժամանակում:
ESXTOP
ESXTOP-ն ունի մի քանի էկրաններ, որոնք տեղեկատվություն են տրամադրում հյուրընկալող սկավառակի ենթահամակարգի, որպես ամբողջության, առանձին վիրտուալ մեքենաների և դրանց սկավառակների մասին:
Սկսենք վիրտուալ մեքենաների մասին տեղեկություններից: «Disk VM» էկրանը կանչվում է «v» ստեղնով.
NVDISK VM սկավառակների քանակն է: Յուրաքանչյուր սկավառակի համար տեղեկատվությունը դիտելու համար սեղմեք «e» և մուտքագրեք հետաքրքրություն ներկայացնող VM-ի GID-ը:
Այս էկրանին մնացած պարամետրերի իմաստը պարզ է դառնում նրանց անուններից:
Անսարքությունների վերացման մեկ այլ օգտակար էկրան է սկավառակի ադապտեր: Կանչվում է «d» ստեղնով (ներքևի նկարում ընտրված են A,B,C,D,E,G դաշտերը).
NPTH – դեպի լուսիններ տանող ուղիների քանակը, որոնք տեսանելի են այս ադապտերից: Ադապտերի վրա յուրաքանչյուր ուղու համար տեղեկատվություն ստանալու համար սեղմեք «e» և մուտքագրեք ադապտերի անունը.
ԱԿԼԵՆ - ադապտերի վրա հերթի առավելագույն չափը:
Այս էկրանին կան նաև հետաձգման հաշվիչներ, որոնց մասին ես խոսեցի վերևում. KAVG/cmd, GAVG/cmd, DAVG/cmd, QAVG/cmd.
Սկավառակի սարքի էկրանը, որը կանչվում է «u» ստեղնը սեղմելով, տեղեկատվություն է տրամադրում առանձին բլոկային սարքերի՝ լուսինների մասին (Ա, Բ, Ֆ, Գ, I դաշտերը ընտրված են ստորև նկարում): Այստեղ դուք կարող եք տեսնել լուսինների համար հերթի կարգավիճակը:
DQLEN - բլոկ սարքի հերթի չափը:
ACTV – ESXi միջուկում I/O հրամանների քանակը:
QUED – հերթում I/O հրամանների քանակը:
%ԱՄՆ ԴՈԼԱՐ – ACTV / DQLEN × 100%.
LOAD – (ACTV + QUED) / DQLEN.
Եթե %USD-ը բարձր է, դուք պետք է մտածեք հերթի ավելացման մասին: Որքան շատ հրամաններ լինեն հերթում, այնքան բարձր է QAVG-ն և, համապատասխանաբար, KAVG-ը:
Դուք կարող եք նաև տեսնել Սկավառակի սարքի էկրանին, թե արդյոք VAAI-ն (vStorage API for Array Integration) աշխատում է պահեստավորման համակարգում: Դա անելու համար ընտրեք A և O դաշտերը:
VAAI մեխանիզմը թույլ է տալիս աշխատանքի մի մասը փոխանցել հիպերվիզորից անմիջապես պահեստավորման համակարգ, օրինակ՝ զրոյացնել, պատճենել բլոկները կամ արգելափակել:
Ինչպես տեսնում եք վերևի նկարում, VAAI-ն աշխատում է պահեստավորման այս համակարգի վրա. ակտիվորեն օգտագործվում են Zero և ATS պրիմիտիվները:
ESXi-ում սկավառակի ենթահամակարգի հետ աշխատանքը օպտիմալացնելու խորհուրդներ
- Ուշադրություն դարձրեք բլոկի չափին.
- Սահմանեք հերթի օպտիմալ չափը HBA-ի վրա:
- Մի մոռացեք միացնել SIOC-ը տվյալների պահեստներում:
- Ընտրեք PSP պահեստավորման համակարգի արտադրողի առաջարկություններին համապատասխան:
- Համոզվեք, որ VAAI-ն աշխատում է:
Օգտակար հոդվածներ թեմայի շուրջ.
Source: www.habr.com