Серверлерді тіректер бойынша бөлуді оңтайландыру

Чаттардың бірінде маған сұрақ қойылды:

— Серверлерді сөрелерге қалай дұрыс орау керектігі туралы оқи алатын бір нәрсе бар ма?

Мен мұндай мәтінді білмейтінімді түсіндім, сондықтан мен өзімді жаздым.

Біріншіден, бұл мәтін физикалық деректер орталықтарындағы (DC) физикалық серверлер туралы. Екіншіден, біз серверлердің өте көп екеніне сенеміз: жүздеген-мыңдаған; азырақ сан үшін бұл мәтіннің мағынасы жоқ. Үшіншіден, бізде үш шектеу бар деп есептейміз: тіректердегі физикалық кеңістік, әр тірекке қуат көзі және іргелес тіректердегі серверлерді қосу үшін бір ToR қосқышын пайдалану үшін тіректердің қатарға тұруына мүмкіндік беріңіз.

Сұрақтың жауабы қай параметрді оңтайландыратынымызға және ең жақсы нәтижеге жету үшін нені өзгерте алатынымызға байланысты. Мысалы, біз одан әрі өсу үшін көбірек қалдыру үшін ең аз орын алуымыз керек. Немесе бізде тіректердің биіктігін, әр тірекке арналған қуатты, PDU-дағы розеткаларды, қосқыштар тобындағы тіректердің санын (1, 2 немесе 3 тірекке бір қосқыш), сымдардың ұзындығын және тарту жұмысын таңдауда еркіндік болуы мүмкін. бұл жолдардың ұштарында өте маңызды: бір қатарда 10 сөре және әр коммутаторға 3 тірек болса, сымдарды басқа жолға тартуға немесе коммутатордағы порттарды жеткіліксіз пайдалануға тура келеді) және т.б.. Бөлек әңгімелер: серверлерді таңдау және DC таңдау, біз олар таңдалған деп есептейміз.

Кейбір нюанстар мен егжей-тегжейлерді, атап айтқанда, серверлердің орташа/максималды тұтынуын және электр энергиясының бізге қалай жеткізілетінін түсіну жақсы болар еді. Сонымен, егер бізде 230 В ресейлік қуат көзі болса және бір тірекке бір фаза болса, онда 32А машина ~ 7 кВт жұмыс істей алады. Біз бір тірекке номиналды түрде 6 кВт төлейміз делік. Егер провайдер тұтынуымызды әрбір тірек үшін емес, тек 10 тірек қатары үшін өлшейтін болса және егер машина шартты түрде 7 кВт үзіліске орнатылған болса, онда техникалық тұрғыдан біз бір тіректе 6.9 кВт, екіншісінде 5.1 кВт тұтына аламыз және бәрі жақсы болады - жазаланбайды.

Әдетте біздің басты мақсатымыз – шығындарды азайту. Өлшеудің ең жақсы критерийі - ТШО-ны азайту (меншіктің жалпы құны). Ол келесі бөліктерден тұрады:

  • CAPEX: тұрақты ток инфрақұрылымын, серверлерді, желілік жабдықты және кабельді сатып алу
  • OPEX: тұрақты токты жалға алу, электр энергиясын тұтыну, техникалық қызмет көрсету. OPEX қызмет мерзіміне байланысты. Оны 3 жыл деп есептеу орынды.

Серверлерді тіректер бойынша бөлуді оңтайландыру

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

Бізде бар тұрақты ток бар делік, H бірліктерінің тірек биіктігі бар (мысалы, H=47), бір тірекке Prack электр қуаты (Prack=6кВт), және біз 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-пен қалай салыстырамыз. Бұл қызметтердің қалай жұмыс істейтінін және сіздің техникалық директорыңыздың жүйкелері қаншалықты күшті екенін түсіну мәселесі.

Ешқандай тәуекелге бармасақ, барлық серверлер бір уақытта максималды тұтынуды бастайды деп сенеміз. Дәл осы сәтте тұрақты токқа бір кіріс болуы мүмкін. Тіпті осы шарттарда инфра қызмет көрсетуі керек, сондықтан Pserv ≡ Pmax. Бұл сенімділік өте маңызды болатын тәсіл.

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

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

Мұнда жай ғана болжау ғана емес, тұтынуды бақылау және қалыпты және ең жоғары жағдайда серверлердің электр қуатын қалай тұтынатынын білу өте пайдалы. Сондықтан, біраз талдаудан кейін технологиялық директор қолында бар нәрсенің барлығын сығып: «Біз бір тірекке ең жоғары сервер тұтынуының максималды қол жеткізуге болатын орташа мәні максималды тұтынудан **сонша** төмен болады деп ерікті түрде шешім қабылдаймыз», - дейді шартты түрде Pserv = 0.8* Pmax.

Содан кейін 6 кВт тірек Pmax = 16 Вт 375 серверді емес, Pserv = 20 Вт * 375 = 0.8 Вт болатын 300 серверді орналастыра алады. Анау. 25% көбірек серверлер. Бұл өте үлкен үнемдеу – бізге бірден 25% аз тіректер қажет (сонымен қатар PDU, ажыратқыштар мен кабельдерді үнемдейміз). Мұндай шешімнің елеулі кемшілігі - біздің болжамдарымыздың әлі де дұрыс екендігін үнемі бақылауымыз керек. Микробағдарламаның жаңа нұсқасы желдеткіштердің жұмысын және тұтынуды айтарлықтай өзгертпейтінін, жаңа шығарылыммен кенеттен әзірлеу серверлерді әлдеқайда тиімді пайдалана бастаған жоқ (оқыңыз: олар серверде үлкен жүктеме және көбірек тұтынуға қол жеткізді). Өйткені, сол кезде біздің алғашқы болжамдарымыз да, тұжырымдарымыз да бірден дұрыс емес болып шығады. Бұл жауапкершілікпен қабылдануы керек тәуекел (немесе болдырмау керек, содан кейін анық пайдаланылмаған тіректер үшін төлеңіз).

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

Серверлерді сөрелерде таратуға оралайық. Біз физикалық тірек кеңістігін және қуат шектеулерін қарастырдық, енді желіні қарастырайық. 24/32/48 N порттары бар қосқыштарды пайдалануға болады (мысалы, бізде 48 портты ToR қосқыштары бар). Бақытымызға орай, егер сіз үзілген кабельдер туралы ойламасаңыз, көптеген нұсқалар жоқ. Бізде Rnet тобында бір тірекке бір қосқыш, екі немесе үш тірекке арналған бір қосқыш болған кезде сценарийлерді қарастырамыз. Менің ойымша, бір топтағы үш сөреден артық тым көп сияқты, өйткені... тіректер арасындағы кабель мәселесі әлдеқайда үлкен болады.

Осылайша, әрбір желілік сценарий үшін (топтағы 1, 2 немесе 3 тірек) біз серверлерді тіректер арасында таратамыз:

Srack = мин(Sh, rounddown(Prack/Pserv), rounddown(N/Rnet))

Осылайша, топтағы 2 тірегі бар опция үшін:

Srack2 = мин(21, дөңгелектеу(6000/300), дөңгелектеу(48/2)) = мин(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 тірек

Әрі қарай, біз тіректердің санына, ажыратқыштардың қажетті санына, кабельдерге және т.б. негізделген әрбір опция үшін ТШО есептейміз. Біз ТШО төмен болатын опцияны таңдаймыз. Пайда!

1 және 2 нұсқалары үшін сөрелердің қажетті саны бірдей болғанымен, олардың бағасы әртүрлі болатынын ескеріңіз, өйткені екінші нұсқа үшін қосқыштар саны екі есе көп, ал қажетті кабельдердің ұзындығы ұзағырақ.

PS Егер сізде бір тіректің қуатымен және тірек биіктігімен ойнау мүмкіндігі болса, өзгергіштік артады. Бірақ опцияларды қарап шығу арқылы процесті жоғарыда сипатталғанға дейін азайтуға болады. Иә, комбинациялар көбірек болады, бірақ әлі де өте шектеулі сан - есептеу үшін тірекке қуат көзі 1 кВт қадаммен ұлғайтылуы мүмкін, әдеттегі тіректер стандартты өлшемдердің шектеулі санында келеді: 42U, 45U, 47U, 48U , 52U. Міне, Excel бағдарламасының Деректер кестесі режиміндегі "Егер" талдауы есептеулерге көмектесе алады. Біз алынған пластиналарға қарап, минимумды таңдаймыз.

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

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