Optimiziranje distribucije poslužitelja po policama

U jednom od chatova postavljeno mi je pitanje:

— Mogu li nešto pročitati o tome kako pravilno pakirati poslužitelje u police?

Shvatio sam da ne znam takav tekst, pa sam napisao svoj.

Prvo, ovaj tekst govori o fizičkim poslužiteljima u fizičkim podatkovnim centrima (DC). Drugo, vjerujemo da postoji dosta poslužitelja: stotine-tisuće, za manji broj ovaj tekst nema smisla. Treće, smatramo da imamo tri ograničenja: fizički prostor u regalima, napajanje po regalima i neka rekovi stoje u redovima kako bismo mogli koristiti jedan ToR preklopnik za povezivanje poslužitelja u susjednim regalima.

Odgovor na pitanje uvelike ovisi o tome koji parametar optimiziramo i što možemo mijenjati kako bismo postigli najbolji rezultat. Na primjer, samo trebamo zauzeti minimum prostora kako bismo ostavili više za daljnji rast. Ili možda imamo slobodu u odabiru visine regala, snage po raku, utičnica u PDU-u, broja regala u grupi prekidača (jedan prekidač za 1, 2 ili 3 regala), duljine žica i rada na izvlačenju ( ovo je kritično na krajevima redova: s 10 polica u nizu i 3 police po prekidaču, morat ćete povući žice u drugi red ili nedovoljno koristiti portove u prekidač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 poslužitelja i kako nam se električna energija isporučuje. Dakle, ako imamo rusko napajanje od 230 V i jednu fazu po stalku, tada stroj od 32 A može podnijeti ~7 kW. Recimo da nominalno plaćamo 6kW po stalku. Ako dobavljač mjeri našu potrošnju samo za niz od 10 regala, a ne za svaki rack, i ako je stroj postavljen na uvjetno ograničenje od 7 kW, tada tehnički možemo potrošiti 6.9 kW u jednom regu, 5.1 kW u drugom i sve će biti ok - nije kažnjivo.

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

  • CAPEX: kupnja DC infrastrukture, poslužitelja, mrežnog hardvera i kabliranja
  • OPEX: DC najam, potrošnja električne energije, održavanje. OPEX ovisi o vijeku trajanja. Razumno je pretpostaviti da je to 3 godine.

Optimiziranje distribucije poslužitelja po policama

Ovisno o tome koliko su veliki pojedinačni dijelovi u ukupnom kolaču, moramo optimizirati najskuplji, a ostalima dopustiti da iskoriste sve preostale resurse što je učinkovitije moguće.

Recimo da imamo postojeći DC, postoji visina stalka od H jedinica (na primjer, H=47), električna energija po stalku Prack (Prack=6kW) i odlučili smo koristiti h=2U poslužitelje s dvije jedinice. Uklonit ćemo 2..4 jedinice iz regala za prekidače, patch panele i organizatore. Oni. fizički, imamo Sh=rounddown((H-2..4)/h) poslužitelja u našem stalku (tj. Sh = rounddown((47-4)/2)=21 poslužitelja po stalku). Prisjetimo se ovog Sh.

U jednostavnom slučaju, svi poslužitelji u stalku su identični. Ukupno, ako napunimo rack poslužiteljima, tada na svakom poslužitelju možemo u prosjeku potrošiti snagu Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Radi jednostavnosti, ovdje zanemarujemo potrošnju prekidača.

Napravimo korak u stranu i odredimo kolika je maksimalna potrošnja poslužitelja Pmax. Ako je vrlo jednostavno, vrlo neučinkovito i potpuno sigurno, onda čitamo što piše na napajanju poslužitelja - to je to.

Ako je složeniji, učinkovitiji, tada uzimamo TDP (paket toplinskog dizajna) svih komponenti i zbrajamo ga (ovo nije točno, ali je moguće).

Obično ne znamo TDP komponenti (osim CPU-a), pa idemo najispravnijim, ali i najsloženijim pristupom (treba nam laboratorij) - uzmemo eksperimentalni server potrebne konfiguracije i učitamo ga, na primjer, s Linpackom (CPU i memorija) i fio (diskovi) mjerimo potrošnju. Ako to shvatimo ozbiljno, također moramo stvoriti najtopliju okolinu u hladnom hodniku tijekom testova, jer će to utjecati i na potrošnju ventilatora i na potrošnju procesora. Dobivamo maksimalnu potrošnju određenog poslužitelja s određenom konfiguracijom u ovim specifičnim uvjetima pod ovim specifičnim opterećenjem. Jednostavno mislimo da novi firmware sustava, druga verzija softvera i drugi uvjeti mogu utjecati na rezultat.

Dakle, natrag na Pserv i kako ga uspoređujemo s Pmaxom. Stvar je razumijevanja kako službe funkcioniraju i koliko su jaki živci vašeg tehničkog direktora.

Ako uopće ne riskiramo, vjerujemo da svi poslužitelji mogu istovremeno početi trošiti svoj maksimum. U istom trenutku može se dogoditi jedan ulaz u DC. Čak i pod ovim uvjetima, infra mora pružati uslugu, tako da je Pserv ≡ Pmax. Ovo je pristup u kojem je pouzdanost apsolutno važna.

Ako tehnički direktor ne misli samo na idealnu sigurnost, već i na novac tvrtke i dovoljno je 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 na jednom ulazu;
  • i/ili naša arhitektura dopušta vam da izgubite stalak/red/DC, ali usluge nastavljaju raditi;
  • i/ili raspoređujemo teret dobro horizontalno po policama, 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 poslužitelji 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 voljnu odluku da je maksimalni ostvarivi prosjek maksimalne potrošnje poslužitelja po rack-u **toliko** ispod maksimalne potrošnje,” uvjetno Pserv = 0.8* Pmax.

I tada stalak od 6 kW više ne može primiti 16 poslužitelja s Pmax = 375 W, već 20 poslužitelja s Pserv = 375 W * 0.8 = 300 W. Oni. 25% više poslužitelja. Ovo je velika ušteda - na kraju krajeva, odmah nam treba 25% manje regala (a uštedjet ćemo i na PDU-ima, prekidačima i kabelima). Ozbiljan nedostatak takvog rješenja je to što moramo stalno pratiti jesu li naše pretpostavke još uvijek točne. Da nova verzija firmware-a ne mijenja bitno rad ventilatora i potrošnju, da razvoj odjednom s novim izdanjem nije počeo puno učinkovitije koristiti 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 netočni. Ovo je rizik koji se mora shvatiti odgovorno (ili izbjeći, a zatim platiti za očito nedovoljno iskorištene police).

Važna napomena - trebali biste pokušati distribuirati poslužitelje iz različitih servisa vodoravno po policama, ako je moguće. To je potrebno kako se ne bi događale situacije da jedna serija servera stigne za jednu uslugu, rackovi su okomito natrpani njime kako bi se povećala “gustoća” (jer je tako lakše). U stvarnosti ispada da je jedan rack ispunjen identičnim niskoopterećenim poslužiteljima iste usluge, a drugi je ispunjen jednako visoko opterećenim poslužiteljima. Vjerojatnost drugog pada znatno je veća, jer profil opterećenja je isti, a svi poslužitelji zajedno u ovom stalku počinju trošiti istu količinu kao rezultat povećanog opterećenja.

Vratimo se distribuciji poslužitelja u policama. Pogledali smo fizički prostor u stalku i ograničenja snage, a sada pogledajmo mrežu. Možete koristiti preklopnike s 24/32/48 N portovima (na primjer, imamo 48-portne ToR preklopnike). Srećom, nema mnogo opcija ako ne razmišljate o kabelima koji se probijaju. Razmatramo scenarije kada imamo jedan switch po rack-u, jedan switch za dva ili tri racka u Rnet grupi. Čini mi se da je više od tri regala u grupi već previše, jer... problem kabliranja između regala postaje mnogo veći.

Dakle, za svaki mrežni scenarij (1, 2 ili 3 regala u grupi), distribuiramo poslužitelje među regalima:

Srack = min (Sh, zaokruživanje (Prack/Pserv), zaokruživanje (N/Rnet))

Dakle, za opciju s 2 stalka u grupi:

Srack2 = min(21, zaokruživanje(6000/300), zaokruživanje(48/2)) = min(21, 20, 24) = 20 poslužitelja po stalku.

Preostale opcije razmatramo na isti način:

Srack1 = 20
Srack3 = 16

I skoro smo stigli. Brojimo broj polica za distribuciju svih naših poslužitelja S (neka bude 1000):

R = zaokruživanje (S / (Srack * Rnet)) * Rnet

R1 = zaokruživanje (1000 / (20 * 1)) * 1 = 50 * 1 = 50 polica

R2 = zaokruživanje (1000 / (20 * 2)) * 2 = 25 * 2 = 50 polica

R3 = zaokruživanje (1000 / (16 * 3)) * 3 = 25 * 2 = 63 stalka

Zatim izračunavamo TCO za svaku opciju na temelju broja regala, potrebnog broja preklopnika, kabliranja itd. Odabiremo opciju gdje je TCO manji. Dobit!

Imajte na umu da iako je potreban broj regala za opcije 1 i 2 isti, njihova će cijena biti drugačija, jer broj prekidača za drugu opciju je upola manji, a duljina potrebnih kabela je duža.

PS Ako imate priliku 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 više kombinacija, ali još uvijek vrlo ograničen broj - napajanje stalka za izračun može se povećati 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 podatkovne tablice može pomoći u izračunima. Gledamo primljene ploče i biramo minimum.

Izvor: www.habr.com

Dodajte komentar