Սերվերների բաշխման օպտիմիզացում դարակաշարերի վրա

Չաթերից մեկում ինձ հարց տվեցին.

— Կա՞ որևէ բան, որը ես կարող եմ կարդալ այն մասին, թե ինչպես պատշաճ կերպով փաթեթավորել սերվերները դարակաշարերի մեջ:

Ես հասկացա, որ նման տեքստ չգիտեմ, ուստի գրեցի իմը:

Նախ, այս տեքստը ֆիզիկական տվյալների կենտրոններում (DC) ֆիզիկական սերվերների մասին է: Երկրորդ, մենք կարծում ենք, որ կան բավականին շատ սերվերներ՝ հարյուր հազարավոր, ավելի փոքր թվի համար այս տեքստը իմաստ չունի։ Երրորդ, մենք համարում ենք, որ մենք ունենք երեք սահմանափակում՝ ֆիզիկական տարածություն դարակներում, էլեկտրամատակարարում մեկ դարակում, և թող դարակները կանգնեն շարքերով, որպեսզի կարողանանք օգտագործել մեկ ToR անջատիչ՝ սերվերները հարակից դարակներում միացնելու համար:

Հարցի պատասխանը մեծապես կախված է նրանից, թե որ պարամետրն ենք մենք օպտիմալացնում և ինչ կարող ենք տարբերել լավագույն արդյունքի հասնելու համար: Օրինակ, մենք պարզապես պետք է զբաղեցնենք նվազագույն տարածք, որպեսզի ավելի շատ թողնենք հետագա աճի համար: Կամ գուցե մենք ազատություն ունենք դարակների բարձրության, մեկ դարակի հզորության, PDU-ի վարդակների, մի խումբ անջատիչների մեջ դարակների քանակի ընտրության հարցում (մեկ անջատիչ 1, 2 կամ 3 դարակների համար), լարերի երկարությունը և ձգվող աշխատանքը ( սա կարևոր է տողերի ծայրերում. անընդմեջ 10 դարակներով և մեկ անջատիչով 3 դարակներով, դուք պետք է լարերը քաշեք մեկ այլ շարք կամ թերօգտագործեք անջատիչի պորտերը) և այլն, և այլն: Առանձին պատմություններ՝ սերվերների ընտրություն և DC-ների ընտրություն, մենք կենթադրենք, որ դրանք ընտրված են։

Լավ կլինի հասկանալ որոշ նրբերանգներ ու մանրամասներ, մասնավորապես՝ սերվերների միջին/առավելագույն սպառումը, ինչպես է մեզ էլեկտրաէներգիա մատակարարվում։ Այսպիսով, եթե մենք ունենք ռուսական էլեկտրամատակարարում 230 Վ և մեկ փուլ մեկ դարակում, ապա 32 Ա մեքենան կարող է աշխատել ~ 7 կՎտ: Ենթադրենք, մենք անվանականորեն վճարում ենք 6 կՎտ մեկ դարակի համար: Եթե ​​մատակարարը չափում է մեր սպառումը միայն 10 դարակաշարերի համար, և ոչ յուրաքանչյուր դարակի համար, և եթե մեքենան պայմանականորեն դրված է 7 կՎտ անջատման վրա, ապա տեխնիկապես մենք կարող ենք սպառել 6.9 կՎտ մեկ դարակաշարում, 5.1 կՎտ մյուսում և ամեն ինչ լավ կլինի՝ պատժելի չէ.

Սովորաբար մեր հիմնական նպատակը ծախսերը նվազագույնի հասցնելն է։ Չափելու լավագույն չափանիշը TCO-ի (սեփականության ընդհանուր արժեքը) կրճատումն է: Այն բաղկացած է հետևյալ մասերից.

  • CAPEX՝ DC ենթակառուցվածքի, սերվերների, ցանցային սարքավորումների և մալուխների գնում
  • OPEX՝ DC վարձույթ, էլեկտրաէներգիայի սպառում, սպասարկում: OPEX-ը կախված է ծառայության ժամկետից: Խելամիտ է ենթադրել, որ դա 3 տարի է:

Սերվերների բաշխման օպտիմիզացում դարակաշարերի վրա

Կախված նրանից, թե որքան մեծ են առանձին կտորները ընդհանուր կարկանդակում, մենք պետք է օպտիմալացնենք ամենաթանկը, իսկ մնացածը թող օգտագործեն մնացած բոլոր ռեսուրսները հնարավորինս արդյունավետ:

Ենթադրենք, մենք ունենք գոյություն ունեցող DC, կա H միավորների դարակի բարձրություն (օրինակ՝ H=47), էլեկտրաէներգիա մեկ դարակի համար Prack (Prack=6kW), և մենք որոշեցինք օգտագործել h=2U երկու միավոր սերվերներ։ Մենք 2..4 միավոր կհեռացնենք անջատիչների, կարկատելային վահանակների և կազմակերպիչների դարակից: Նրանք. ֆիզիկապես մենք ունենք Sh=rounddown((H-2..4)/h) սերվերներ մեր դարակում (այսինքն՝ Sh = rounddown((47-4)/2)=21 սերվեր մեկ դարակում): Հիշենք այս Շ.

Պարզ դեպքում, դարակի բոլոր սերվերները նույնական են: Ընդհանուր առմամբ, եթե դարակ լցնենք սերվերներով, ապա յուրաքանչյուր սերվերի վրա կարող ենք միջինը ծախսել Pserv=Prack/Sh (Pserv = 6000W/21 = 287W) հզորությունը։ Պարզության համար այստեղ մենք անտեսում ենք անջատիչի սպառումը:

Եկեք մի քայլ անենք և որոշենք, թե որն է Pmax սերվերի առավելագույն սպառումը: Եթե ​​դա շատ պարզ է, շատ անարդյունավետ և լիովին անվտանգ, ապա մենք կարդում ենք, թե ինչ է գրված սերվերի էլեկտրամատակարարման վրա. սա է:

Եթե ​​այն ավելի բարդ և արդյունավետ է, ապա մենք վերցնում ենք բոլոր բաղադրիչների TDP-ն (ջերմային դիզայնի փաթեթ) և ամփոփում (սա այնքան էլ ճիշտ չէ, բայց հնարավոր է):

Սովորաբար մենք չգիտենք բաղադրիչների TDP-ն (բացառությամբ պրոցեսորի), այնպես որ մենք ընդունում ենք ամենաճիշտ, բայց նաև ամենաբարդ մոտեցումը (մեզ լաբորատորիա է պետք)՝ վերցնում ենք անհրաժեշտ կոնֆիգուրացիայի փորձնական սերվերը և բեռնում այն, Օրինակ, Linpack-ով (CPU և հիշողություն) և fio-ով (սկավառակներ) մենք չափում ենք սպառումը: Եթե ​​մենք դրան լուրջ վերաբերվենք, ապա փորձարկումների ժամանակ մենք պետք է ստեղծենք նաև սառը միջանցքում ամենաջերմ միջավայրը, քանի որ դա կազդի ինչպես օդափոխիչի, այնպես էլ պրոցեսորի սպառման վրա: Մենք ստանում ենք կոնկրետ սերվերի առավելագույն սպառումը հատուկ կոնֆիգուրացիայով այս կոնկրետ պայմաններում այս կոնկրետ բեռի ներքո: Մենք պարզապես նկատի ունենք, որ համակարգի նոր որոնվածը, ծրագրաշարի այլ տարբերակն ու այլ պայմանները կարող են ազդել արդյունքի վրա:

Այսպիսով, վերադառնանք Pserv-ին և ինչպես ենք այն համեմատում Pmax-ի հետ: Դա հասկանալու խնդիր է, թե ինչպես են աշխատում ծառայությունները և որքան ուժեղ են ձեր տեխնիկական տնօրենի նյարդերը:

Եթե ​​մենք ընդհանրապես ռիսկի չենք դիմում, մենք հավատում ենք, որ բոլոր սերվերները կարող են միաժամանակ սկսել սպառել իրենց առավելագույնը. Միևնույն պահին կարող է տեղի ունենալ մեկ մուտք դեպի DC: Նույնիսկ այս պայմաններում, infra-ն պետք է ծառայություն մատուցի, ուստի Pserv ≡ Pmax: Սա մոտեցում է, որտեղ հուսալիությունը բացարձակապես կարևոր է:

Եթե ​​տեխնոլոգիական տնօրենը մտածում է ոչ միայն իդեալական անվտանգության, այլ նաև ընկերության փողերի մասին և բավական համարձակ է, ապա դուք կարող եք դա որոշել.

  • Մենք սկսում ենք կառավարել մեր վաճառողներին, մասնավորապես, մենք արգելում ենք պլանային սպասարկումը պլանավորված առավելագույն ծանրաբեռնվածության ժամանակ, որպեսզի նվազագույնի հասցնենք մեկ մուտքի անկումը.
  • և/կամ մեր ճարտարապետությունը թույլ է տալիս կորցնել դարակ/տող/DC, սակայն ծառայությունները շարունակում են աշխատել.
  • և/կամ մենք բեռը լավ հորիզոնական տարածում ենք դարակաշարերի միջով, այնպես որ մեր ծառայությունները երբեք չեն ցատկի առավելագույն սպառման մեկ դարակում միասին:

Այստեղ շատ օգտակար է ոչ միայն գուշակել, այլ վերահսկել սպառումը և իմանալ, թե իրականում ինչպես են սերվերները սպառում էլեկտրաէներգիան նորմալ և պիկ պայմաններում: Հետևաբար, որոշակի վերլուծությունից հետո, տեխնոլոգիական տնօրենը սեղմում է այն ամենը, ինչ ունի և ասում է. «Մենք կամավոր որոշում ենք կայացնում, որ յուրաքանչյուր դարակում սերվերի առավելագույն սպառման առավելագույն հասանելի միջինը **այնքան** ցածր է առավելագույն սպառումից», պայմանականորեն Pserv = 0.8* Pmax.

Եվ հետո 6կՎտ հզորությամբ դարակը այլևս չի կարող տեղավորել 16 սերվեր Pmax = 375W, բայց 20 սերվեր Pserv = 375W * 0.8 = 300W հզորությամբ: Նրանք. 25% ավելի շատ սերվերներ: Սա շատ մեծ խնայողություն է. ի վերջո, մեզ անմիջապես անհրաժեշտ են 25% ավելի քիչ դարակներ (և մենք նաև կխնայենք PDU-ների, անջատիչների և մալուխների վրա): Նման լուծման լուրջ թերությունն այն է, որ մենք պետք է մշտապես վերահսկենք, որ մեր ենթադրությունները դեռ ճիշտ են։ Որ որոնվածի նոր տարբերակը էապես չի փոխում երկրպագուների աշխատանքը և սպառումը, որ զարգացումը հանկարծակի նոր թողարկումով չսկսեց սերվերները շատ ավելի արդյունավետ օգտագործել (կարդացեք. նրանք հասել են ավելի մեծ բեռի և ավելի մեծ սպառման սերվերի վրա): Ի վերջո, այդ դեպքում և՛ մեր նախնական ենթադրությունները, և՛ եզրակացությունները անմիջապես դառնում են սխալ։ Սա ռիսկ է, որը պետք է պատասխանատվությամբ վերաբերվել (կամ խուսափել, ապա վճարել ակնհայտորեն չօգտագործված դարակաշարերի համար):

Կարևոր նշում. հնարավորության դեպքում դուք պետք է փորձեք տարբեր ծառայություններից սերվերները հորիզոնական բաշխել դարակաշարերի միջով: Սա անհրաժեշտ է, որպեսզի իրավիճակներ չլինեն, երբ սերվերների մեկ խմբաքանակը ժամանում է մեկ ծառայության համար, դարակները ուղղահայաց փաթեթավորվում են դրանով, որպեսզի մեծացնեն «խտությունը» (քանի որ այդպես ավելի հեշտ է): Իրականում պարզվում է, որ մի դարակը լցված է նույն ծառայության միանման ցածր բեռնված սերվերներով, իսկ մյուսը՝ նույնքան բարձր բեռնված սերվերներով։ Երկրորդ անկման հավանականությունը զգալիորեն ավելի մեծ է, քանի որ բեռնվածության պրոֆիլը նույնն է, և բոլոր սերվերները միասին այս դարակում սկսում են սպառել նույն քանակությունը՝ ավելացած բեռի արդյունքում:

Եկեք վերադառնանք դարակաշարերում սերվերների բաշխմանը։ Մենք դիտարկել ենք դարակների ֆիզիկական տարածքը և հզորության սահմանափակումները, հիմա եկեք նայենք ցանցին: Դուք կարող եք օգտագործել 24/32/48 N պորտերով անջատիչներ (օրինակ, մենք ունենք 48 պորտային ToR անջատիչներ): Բարեբախտաբար, շատ տարբերակներ չկան, եթե չմտածեք անջատվող մալուխների մասին: Մենք դիտարկում ենք սցենարներ, երբ մենք ունենք մեկ անջատիչ մեկ դարակում, մեկ անջատիչ երկու կամ երեք դարակների համար Rnet խմբում: Ինձ թվում է, որ խմբում երեքից ավելի դարակները արդեն շատ են, քանի որ... դարակների միջև մալուխային կապի խնդիրը դառնում է շատ ավելի մեծ:

Այսպիսով, ցանցի յուրաքանչյուր սցենարի համար (խմբում 1, 2 կամ 3 դարակ), մենք սերվերները բաշխում ենք դարակաշարերի միջև.

Srack = min(Sh, rounddown(Prack/Pserv), rounddown(N/Rnet))

Այսպիսով, խմբում 2 դարակ ունեցող տարբերակի համար.

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = 20 սերվեր մեկ դարակում:

Մնացած տարբերակները մենք դիտարկում ենք նույն կերպ.

Srack1 = 20
Srack3 = 16

Եվ մենք գրեթե այնտեղ ենք: Մենք հաշվում ենք դարակաշարերի քանակը մեր բոլոր սերվերների S բաշխման համար (թող լինի 1000).

R = ամփոփում (S / (Srack * Rnet)) * Rnet

R1 = կլորացում (1000 / (20 * 1)) * 1 = 50 * 1 = 50 դարակ

R2 = կլորացում (1000 / (20 * 2)) * 2 = 25 * 2 = 50 դարակ

R3 = կլորացում (1000 / (16 * 3)) * 3 = 25 * 2 = 63 դարակ

Հաջորդը, մենք հաշվարկում ենք TCO-ն յուրաքանչյուր տարբերակի համար՝ հիմնվելով դարակների քանակի, անջատիչների անհրաժեշտ քանակի, մալուխների և այլնի վրա: Մենք ընտրում ենք այն տարբերակը, որտեղ TCO-ն ավելի ցածր է: Շահույթ!

Նկատի ունեցեք, որ թեև 1-ին և 2-րդ տարբերակների համար նախատեսված դարակաշարերի քանակը նույնն է, սակայն դրանց գինը տարբեր կլինի, քանի որ. Երկրորդ տարբերակի համար անջատիչների թիվը կիսով չափ է, իսկ պահանջվող մալուխների երկարությունը՝ ավելի երկար։

Հ.Գ. Եթե հնարավորություն ունեք խաղալու մեկ դարակի հզորության և դարակի բարձրության հետ, ապա փոփոխականությունը մեծանում է: Բայց գործընթացը կարող է կրճատվել վերը նկարագրվածի վրա, պարզապես անցնելով տարբերակները: Այո, կլինեն ավելի շատ համակցություններ, բայց դեռ շատ սահմանափակ թիվ. հաշվարկման համար դարակաշարի էլեկտրամատակարարումը կարող է ավելացվել 1 կՎտ քայլերով, տիպիկ դարակաշարերը գալիս են սահմանափակ թվով ստանդարտ չափսերով՝ 42U, 45U, 47U, 48U։ , 52U. Եվ ահա Excel-ի What-If վերլուծությունը Տվյալների աղյուսակի ռեժիմում կարող է օգնել հաշվարկներին: Մենք նայում ենք ստացված թիթեղներին և ընտրում նվազագույնը։

Source: www.habr.com

Добавить комментарий