Ăhes vestluses kĂŒsiti minult:
â Kas on midagi lugeda, kuidas servereid Ă”igesti rack'idesse pakkida?
MÔistsin, et sellist teksti ei tea, seega kirjutasin enda oma.
Esiteks, see tekst rÀÀgib fĂŒĂŒsilistest serveritest fĂŒĂŒsilistes andmekeskustes (DC). Teiseks, oletame, et servereid on piisavalt palju: sadu-tuhandeid, vĂ€iksema arvu korral pole sellel tekstil mĂ”tet. Kolmandaks, oletame, et meil on kolm piirajat: fĂŒĂŒsiline ruum rack'ides, toide rack'i kohta ja oletame, et rack'id on ridades, nii et saame kasutada ĂŒhte ToR lĂŒlitit, et ĂŒhendada servereid naaberrack'idega.
KĂŒsimusele vastamine sĂ”ltub tugevalt sellest, millist parameetrit me optimeerime ja mida saame varieerida, et saavutada parim tulemus. NĂ€iteks, kui meie ainus eesmĂ€rk on vĂ”tta vĂ”imalikult vĂ€he ruumi, et rohkem kasvada tulevikus. VĂ”ib-olla on meil vabadus valida rack'i kĂ”rgust, toimet, PDU'dse pistikupesa arvu, rack'ide arvu lĂŒliti grupis (ĂŒks lĂŒliti 1, 2 vĂ”i 3 rack'i jaoks), kaablite pikkust ja paigaldustöid (see on kriitiline ridade otstes: 10 rack'iga reas ja 3 rack'i lĂŒlitis peab juhtmed venima teise ritta vĂ”i portide vĂ€hest kasutamist lĂŒlitis), jne., jne. Erinevad lood: serverite valik ja DC valik, oletame, et need on juba valitud.
Oleks hea mĂ”ista mĂ”ningaid nĂŒansse ja detaile, eriti serverite keskmist/maksimaalset tarbimist ja kuidas me saame elektrit. NĂ€iteks, kui meil on Venemaa elektrivĂ”rk 230V ja ĂŒks faas rack'i kohta, siis 32A automaat vĂ”ib taluda ~7kW. Oletame, et maksame ametlikult 6kW rack'i kohta. Kui operaator mÔÔdab meie tarbimist ainult ĂŒhe rea 10 rack'i kaupa, mitte iga rack'i kohta, ja kui automaat on seatud 7kW lĂ”ikes, siis tehniliselt saame ĂŒhes rack'is tarbida 6.9kW, teises 5.1kW ja kĂ”ik on korras â ei mingit karistust.
Tavaliselt on meie peamine eesmĂ€rk kulude minimeerimine. Parim mÔÔdik on TCO (total cost of ownership â kogukulud). See koosneb jĂ€rgmistest osadest:
- CAPEX: andmekeskuste, serverite, vÔrguseadmete ostmine ja kaablitööde teostamine
- OPEX: andmekeskuse rent, tarbitav elektrienergia, teenindus. OPEX sÔltub eluajast. MÔistlik on eeldada, et see on 3 aastat.

SĂ”ltuvalt sellest, kui suured on erinevad tĂŒkid kogu koogis, peame optimeerima kĂ”ige kallima, samas kui ĂŒlejÀÀnud laskeme kasutada kĂ”iki allesjÀÀnud ressursse vĂ”imalikult tĂ”husalt.
Oletame, et meil on juba olemasolev andmekeskus, meil on H juunit (nĂ€iteks H=47), elektritarve rack'i kohta Prack (Prack=6kW) ja otsustasime kasutada 2U kaheteljelisi servereid. Eemaldame rack'ist 2..4 juunit lĂŒlititele, patch-paneelidele ja korraldajatele. T. e. fĂŒĂŒsiliselt mahub meie rack'i Sh=rounddown((H-2..4)/h) serverit (s.t. Sh = rounddown((47-4)/2)=21 serverit rack'i kohta). Peame seda Sh meeles.
Lihtsas juhtumis on kĂ”ik rack'is olevad serverid ĂŒhesugused. KokkuvĂ”ttes, kui me tĂ€idame rack'i serveritega, saame iga serveri kohta keskmiselt kulutada vĂ”imsust Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Lihtsuse huvides ignoreerime siin lĂŒliti tarbimist.
Teeme sammu kĂ”rvale ja mÀÀratleme, mis on serveri maksimaalne tarbimine Pmax. Kui vĂ€ga lihtne, vĂ€ga ebaefektiivne ja tĂ€iesti ohutu, siis loeme, mis on kirjutatud serveri toiteplokil â see on see.
Kui keerulisem, efektiivsem, siis vÔtame kÔikide komponentide TDP (soojuse disainipakett) ja summeerime (see ei ole vÀga tÔsi, aga nii saab ka teha).
Tavaliselt ei tea me komponentide TDP-d (vĂ€lja arvatud CPU), seega vĂ”tame kĂ”ige Ă”igem, kuid ka kĂ”ige keerulisema lĂ€henemise (vajalik on labor) â vĂ”tame eksperimentaalse serveri vajaliku konfiguratsiooniga ja koormame selle nĂ€iteks Linpack'iga (CPU ja mĂ€lu) ja fio'ga (ketas), mÔÔdame tarbimist. Kui lĂ€heneda tĂ”siselt, siis tuleb luua ka kĂ”ige soojem keskkond kĂŒlmas koridoris katsete kĂ€igus, sest see mĂ”jutab nii ventilaatorite kui ka CPU tarbimist. Saame maksimaalse tarbimise konkreetse serveri konkreetses konfiguratsioonis nende konkreetsete tingimuste all selle konkreetse koormuse juures. Lihtsalt pidage meeles, et uus sĂŒsteemi pĂŒsivara, muu tarkvaraversioon, muud tingimused vĂ”ivad tulemusele mĂ”ju avaldada.
KokkuvĂ”ttes, naaseme Pserv'i juurde ja kuidas me seda Pmax'iga vĂ”rreldes. See on kĂŒsimus teenuste toimimise mĂ”istmisest ja sellest, kui tugevad nĂ€rvid on teie tehnikajuhil.
Kui ei soovi ĂŒldse riskida, siis eeldame, et kĂ”ik serverid vĂ”ivad samal ajal hakata tarbima oma maksimaali. Sel hetkel vĂ”ib andmekeskusesse tekkida ĂŒks sisend. Infra peab nende tingimuste all teenust pakkuma, seega Pserv ⥠Pmax. See on lĂ€henemine, kus absoluutne usaldusvÀÀrsus on ÀÀrmiselt oluline.
Kui tehnilised juhid mÔtlevad mitte ainult ideaalsetele turvalisusele, vaid ka ettevÔtte rahale ja on piisavalt julged, siis vÔib otsustada, et
- me hakkame haldama oma teenusepakkujaid, sealhulgas keelame planeeritud hoolduse tegemise meie oodatud tiploadude ajal, et minimeerida ĂŒhe sisendi langemist.
- ja/vÔi meie arhitektuur vÔimaldab kaotada rikka/rida/andmekeskuse, samas jÀtkavad teenused töötamist;
- ja/vĂ”i hajutame koormust tĂ”husalt rakkude vahel, mistĂ”ttu meie teenused ei pruugi kunagi kogu koormust samal ajal ĂŒhes rackis maksimaalselt tarbida.
Siinkohal on vĂ€ga kasulik mitte ainult oletada, vaid jĂ€lgida tarbimist ja teada, kuidas serverid tegelikult tavalistes ja tipukoormuse tingimustes elektrit tarbivad. SeetĂ”ttu, pĂ€rast teatavat analĂŒĂŒsi, koondab tehniline juht kĂ”ik, mis tal on, ja ĂŒtleb: âme vĂ”ime otsustada, et maksimaalselt saavutatav keskmine serveri tarbimine rackis on **nii palju** madalam kui maksimaalne tarbimine,â eeldades, et Pserv=0.8*Pmax.
Ja siis rack, mille vĂ”imsus on 6kW, mahutab juba mitte 16 serverit, mille Pmax = 375W, vaid 20 serverit Pserv = 375W * 0.8 = 300W. See tĂ€hendab 25% rohkem servereid. See on vĂ€ga suur kokkuhoid â sest racks on meile kohe 25% vĂ€hem vajalikud (ja seal saame sÀÀsta ka PDU, lĂŒlititel ja kaablitel). Sellise lahenduse tĂ”sine miinus on see, et tuleb pidevalt jĂ€lgida, et meie eeldused on ikka tĂ”esed. Et uus tarkvaraversioon ei muuda oluliselt ventilaatorite tööd ja tarbimist, et arendus ei oleks Ă€kki uue versiooniga hakanud servereid palju efektiivsemalt kasutama (loe: saavutati suurem koormus ja suurem tarbimine serveri kohta). Siis muutuvad ka meie esialgsed eeldused ja jĂ€reldused kohe valeks. See on risk, mida tuleb vastutustundlikult vĂ”tta (vĂ”i vĂ€ltida, makstes selgelt alakoormatud rackide eest).
Oluline mĂ€rkus â servereid tuleks, kui vĂ”imalik, horisontaalselt jaotada erinevate teenuste vahel kioskites. See on vajalik, et vĂ€ltida olukordi, kus ĂŒhe teenuse serverid saabuvad ja kioskid tĂ€idetakse vertikaalselt sama teenusega âtiheduseâ suurendamiseks (sest see on lihtsam). Tegelikkuses on aga nii, et ĂŒks kiosk on sama madala koormusega sama teenusega serveritest tĂ€idetud, samas kui teine on sama kĂ”rge koormusega serveritest tĂ€idetud. Teise kioskide tĂ”rke tĂ”enĂ€osus on oluliselt suurem, kuna koormusprofiil on sama ja kĂ”ik serverid selle kioski sees hakkavad ĂŒhiselt suureneva koormuse tĂ”ttu sama palju energiatarve suurenema.
Naaseme serverite jaotamise juurde kioskites. Oleme kĂ€sitlenud fĂŒĂŒsilisi ruumi- ja elektritoite piiranguid, nĂŒĂŒd vaatame ka vĂ”rku. VĂ”ib kasutada 24/32/48 pordiga lĂŒliteid N (nĂ€iteks meil on 48-pordilised ToR lĂŒlitid). Ănneks ei ole variantide arv suur, kui mitte mĂ”elda break-out kaablitele. KĂ€sitleme stsenaariume, kus meil on ĂŒks lĂŒliti igas kioskis, ĂŒks lĂŒliti kahes vĂ”i kolmes kioskis Rnet grupis. Mulle tundub, et rohkem kui kolm kioskis grupis on juba liialdus, kuna probleem kaabeldamise vahel kioskite vahel muutub oluliselt suuremaks.
Nii et igasuguste vÔrgu stsenaariumide jaoks (1, 2 vÔi 3 kioskit grupis) jaotame serverid kioskite vahel:
Srack = min(Sh, rounddown(Prack/Pserv), rounddown(N/Rnet))
Nii et 2 kioskiga grupi puhul:
Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = 20 serverit kioski kohta.
Samasuguseid arvutusi teeme ka teiste variantide jaoks:
Srack1 = 20
Srack3 = 16
Ja me oleme peaaegu eesmÀrgini jÔudnud. Arvutame vÀlja vajaolevate kioskite arvu S (olgu see 1000):
R = roundup(S / (Srack * Rnet)) * Rnet
R1 = roundup(1000 / (20 * 1)) * 1 = 50 * 1 = 50 kioskite
R2 = roundup(1000 / (20 * 2)) * 2 = 25 * 2 = 50 kioskite
R3 = roundup(1000 / (16 * 3)) * 3 = 25 * 2 = 63 kioskite
Edasi arvutame TCO iga variandi puhul, tuginedes vajalike kioskite arvule, vajalike lĂŒlitite arvule, kaabeldamisele jne. Valime variandi, kus TCO on vĂ€iksem. Kasum!
KĂ€ime tĂ€hele, et kuigi vajalike kioskite arv variantide 1 ja 2 puhul on sama, on nende hind erinev, kuna teise variandi puhul on lĂŒlitite arv kaks korda vĂ€hem ja vajalike kaablite pikkus suurem.
P.S. Kui on vĂ”imalik racki vĂ”imsust ja kĂ”rgust mĂ€ngida, suureneb muutlikkus. Kuid protsessi vĂ”ib vĂ€hendada eelpoolkirjeldatud, lihtsalt variatsioone lĂ€bi vaadates. Jah, kombinatsioone saab olema rohkem, kuid siiski vĂ€ga piiratud hulk â racki toitearvutamiseks saab suurendama 1 kW sammuga, tavapĂ€raselt on rackide arv piiratud tĂŒĂŒbi suurustega: 42U, 45U, 47U, 48U, 52U. Ja siin vĂ”ib Exceli What-If analĂŒĂŒs Data Table reĆŸiimis aidata arvutustes. Vaatame saadud tabelite peale ja valime minimaalse.
Allikas: habr.com
