Optimiziranje distribucije servera po rackovima

U jednom od razgovora postavljeno mi je pitanje:

— Mogu li nešto da pročitam o tome kako pravilno spakovati servere u stalke?

Shvatila sam da ne znam takav tekst, pa sam napisala svoj.

Prvo, ovaj tekst govori o fizičkim serverima u fizičkim podatkovnim centrima (DC). Drugo, vjerujemo da servera ima dosta: stotine-hiljade; za manji broj ovaj tekst nema smisla. Treće, smatramo da imamo tri ograničenja: fizički prostor u stalcima, napajanje po rack-u i neka stalci stoje u redovima tako da možemo koristiti jedan ToR prekidač za povezivanje servera u susjednim stalcima.

Odgovor na pitanje u velikoj mjeri ovisi o tome koji parametar optimiziramo i šta možemo mijenjati da bismo postigli najbolji rezultat. Na primjer, samo trebamo zauzeti minimalno prostora da bismo ostavili više za daljnji rast. Ili možda imamo slobodu u izboru visine rekova, snage po reku, utičnica u PDU-u, broja rekova u grupi prekidača (jedan prekidač za 1, 2 ili 3 reka), dužine žica i poteza ( ovo je kritično na krajevima redova: sa 10 rekova u nizu i 3 stalka po prekidaču, morat ćete povući žice u drugi red ili nedovoljno koristiti portove u sviču), itd, itd. Odvojene priče: izbor servera i izbor DC-a, pretpostavit ćemo da su odabrani.

Bilo bi dobro razumjeti neke od nijansi i detalja, posebno prosječnu/maksimalnu potrošnju servera i način na koji nam se struja isporučuje. Dakle, ako imamo rusko napajanje od 230V i jednu fazu po reku, onda mašina od 32A može podnijeti ~7kW. Recimo da nominalno plaćamo 6kW po raku. Ako dobavljač mjeri našu potrošnju samo za red od 10 regala, a ne za svaki rack, i ako je mašina postavljena na uslovno isključenje od 7 kW, onda tehnički možemo potrošiti 6.9 kW u jednom stalku, 5.1 kW u drugom i sve će biti ok - nije kažnjivo.

Obično je naš glavni cilj minimiziranje troškova. Najbolji kriterij za mjerenje je smanjenje TCO-a (ukupni trošak vlasništva). Sastoji se od sljedećih dijelova:

  • CAPEX: nabavka DC infrastrukture, servera, mrežnog hardvera i kabliranja
  • OPEX: DC najam, potrošnja električne energije, održavanje. OPEX zavisi od radnog veka. Razumno je pretpostaviti da je to 3 godine.

Optimiziranje distribucije servera po rackovima

U zavisnosti od toga koliko su veliki pojedinačni komadi u ukupnom kolaču, moramo optimizirati najskuplje, a pustiti ostale da koriste sve preostale resurse što efikasnije.

Recimo da imamo postojeći DC, postoji visina reka H jedinica (na primjer, H=47), struja po racku Prack (Prack=6kW), i odlučili smo koristiti h=2U servere sa dvije jedinice. Uklonit ćemo 2..4 jedinice iz stalka za prekidače, patch panele i organizatore. One. fizički, imamo Sh=rounddown((H-2..4)/h) servere u našem stalku (tj. Sh = rounddown((47-4)/2)=21 server po rack-u). Prisjetimo se ovog Sh.

U jednostavnom slučaju, svi serveri u rack-u su identični. Ukupno, ako popunimo rack sa serverima, onda na svakom serveru možemo potrošiti u prosjeku snagu Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Radi jednostavnosti, ovdje zanemarimo potrošnju prekidača.

Hajde da napravimo korak u stranu i odredimo kolika je maksimalna potrošnja servera Pmax. Ako je vrlo jednostavno, vrlo neefikasno i potpuno sigurno, onda čitamo šta piše na napajanju servera - to je to.

Ako je složeniji i efikasniji, onda uzimamo TDP (paket termalnog dizajna) svih komponenti i sumiramo ga (ovo nije baš tačno, ali je moguće).

Obično ne znamo TDP komponenti (osim CPU-a), pa uzimamo najispravniji, ali i najkompleksniji pristup (treba nam laboratorija) - uzimamo eksperimentalni server potrebne konfiguracije i učitavamo ga, na primjer, uz Linpack (CPU i memorija) i fio (diskovi) mjerimo potrošnju. Ako to shvatimo ozbiljno, potrebno je da napravimo i najtoplije okruženje u hladnom hodniku tokom testova, jer će to uticati i na potrošnju ventilatora i CPU. Dobijamo maksimalnu potrošnju određenog servera sa specifičnom konfiguracijom u ovim specifičnim uslovima pod ovim specifičnim opterećenjem. Jednostavno mislimo da novi firmver sistema, drugačija verzija softvera i drugi uslovi mogu uticati na rezultat.

Dakle, da se vratimo na Pserv i kako ga poredimo sa Pmaxom. Pitanje je razumijevanja kako usluge funkcioniraju i koliko su jaki živci vašeg tehničkog direktora.

Ako uopće ne riskiramo, vjerujemo da svi serveri mogu istovremeno početi da troše svoj maksimum. U istom trenutku može doći do jednog ulaza u DC. Čak i pod ovim uslovima, infra mora da pruža uslugu, tako da Pserv ≡ Pmax. Ovo je pristup u kojem je pouzdanost apsolutno važna.

Ako tehnološki direktor ne razmišlja samo o idealnoj sigurnosti, već i o novcu kompanije i ako je dovoljno hrabar, onda možete odlučiti da

  • Počinjemo upravljati našim dobavljačima, posebno zabranjujemo planirano održavanje u vrijeme planiranog vršnog opterećenja kako bismo smanjili pad u jednom ulazu;
  • i/ili naša arhitektura vam omogućava da izgubite stalak/red/DC, ali usluge nastavljaju da rade;
  • i/ili teret dobro raspoređujemo horizontalno preko regala, tako da naše usluge nikada neće skočiti na maksimalnu potrošnju u jednom stalku zajedno.

Ovdje je vrlo korisno ne samo nagađati, već pratiti potrošnju i znati kako serveri zapravo troše električnu energiju u normalnim i vršnim uvjetima. Stoga, nakon neke analize, tehnički direktor stisne sve što ima i kaže: "mi donosimo voljno odluku da je maksimalni dostižni prosjek maksimalne potrošnje servera po rack-u **toliko** ispod maksimalne potrošnje", uslovno Pserv = 0.8* Pmax.

A onda stalak od 6kW više ne može da primi 16 servera sa Pmax = 375W, već 20 servera sa Pserv = 375W * 0.8 = 300W. One. 25% više servera. Ovo je vrlo velika ušteda - na kraju krajeva, odmah nam treba 25% manje rekova (a uštedjet ćemo i na PDU-ovima, prekidačima i kablovima). Ozbiljan nedostatak ovakvog rješenja je to što moramo stalno pratiti da li su naše pretpostavke i dalje tačne. Da nova verzija firmvera ne menja bitno rad ventilatora i potrošnju, da razvoj iznenada sa novim izdanjem nije počeo mnogo efikasnije da koristi servere (čitaj: postigli su veće opterećenje i veću potrošnju na serveru). Uostalom, tada i naše početne pretpostavke i zaključci odmah postaju netačni. Ovo je rizik koji se mora preuzeti odgovorno (ili izbjeći, a zatim platiti za očigledno nedovoljno iskorištene police).

Važna napomena - trebali biste pokušati distribuirati servere iz različitih servisa horizontalno preko rackova, ako je moguće. Ovo je neophodno kako se ne bi dešavale situacije kada jedna serija servera stigne za jedan servis, da se rekovi okomito napune time da bi se povećala „gustina“ (jer je tako lakše). U stvarnosti, ispada da je jedan rack ispunjen identičnim serverima sa niskim opterećenjem iste usluge, a drugi je ispunjen serverima jednakog opterećenja. Verovatnoća drugog pada je znatno veća, jer profil opterećenja je isti, a svi serveri zajedno u ovom stalku počinju da troše istu količinu kao rezultat povećanog opterećenja.

Vratimo se distribuciji servera u rackovima. Pogledali smo fizički prostor u racku i ograničenja snage, a sada pogledajmo mrežu. Možete koristiti prekidače sa 24/32/48 N portovima (na primjer, imamo ToR prekidače sa 48 portova). Srećom, nema mnogo opcija ako ne razmišljate o kablovima za izvlačenje. Razmatramo scenarije kada imamo jedan prekidač po reku, jedan prekidač za dva ili tri reka u Rnet grupi. Čini mi se da je više od tri stalka u grupi već previše, jer... problem kabliranja između rekova postaje mnogo veći.

Dakle, za svaki mrežni scenarij (1, 2 ili 3 stalka u grupi), distribuiramo servere po rekovima:

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

Dakle, za opciju sa 2 stalka u grupi:

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = 20 servera po rack-u.

Preostale opcije razmatramo na isti način:

Srack1 = 20
Srack3 = 16

I skoro smo stigli. Računamo broj rekova za distribuciju svih naših servera S (neka bude 1000):

R = roundup(S / (Srack * Rnet)) * Rnet

R1 = roundup (1000 / (20 * 1)) * 1 = 50 * 1 = 50 stalaka

R2 = roundup (1000 / (20 * 2)) * 2 = 25 * 2 = 50 stalaka

R3 = roundup (1000 / (16 * 3)) * 3 = 25 * 2 = 63 stalka

Zatim izračunavamo TCO za svaku opciju na osnovu broja rekova, potrebnog broja prekidača, kablova itd. Odabiremo opciju gdje je TCO niži. Profit!

Imajte na umu da iako je potreban broj regala za opcije 1 i 2 isti, njihova će cijena biti različita, jer broj prekidača za drugu opciju je upola manji, a dužina potrebnih kablova je veća.

P.S. Ako se možete igrati sa snagom po stalku i visinom stalka, varijabilnost se povećava. Ali proces se može svesti na gore opisani jednostavnim prolaskom kroz opcije. Da, bit će još kombinacija, ali još uvijek vrlo ograničen broj - napajanje stalka za proračun može se povećavati u koracima od 1 kW, tipični stalci dolaze u ograničenom broju standardnih veličina: 42U, 45U, 47U, 48U , 52U. I ovdje Excelova analiza Što-Ako u načinu rada tablice podataka može pomoći u proračunima. Gledamo primljene ploče i biramo minimum.

izvor: www.habr.com

Dodajte komentar