Optimització de la distribució de servidors entre bastidors

En un dels xats em van fer una pregunta:

— Hi ha alguna cosa que puc llegir sobre com empaquetar correctament els servidors als bastidors?

Em vaig adonar que no coneixia aquest text, així que vaig escriure el meu.

En primer lloc, aquest text tracta sobre servidors físics en centres de dades físics (DC). En segon lloc, creiem que hi ha bastants servidors: centenars de milers per a un nombre més petit aquest text no té sentit. En tercer lloc, considerem que tenim tres limitacions: espai físic als bastidors, font d'alimentació per bastidor i deixar que els bastidors estiguin en files perquè puguem utilitzar un commutador ToR per connectar servidors en bastidors adjacents.

La resposta a la pregunta depèn molt de quin paràmetre estem optimitzant i què podem variar per aconseguir el millor resultat. Per exemple, només hem d'ocupar un mínim d'espai per deixar-ne més per créixer. O potser tenim llibertat per triar l'alçada dels bastidors, la potència per bastidor, els endolls a la PDU, el nombre de bastidors en un grup d'interruptors (un interruptor per a 1, 2 o 3 bastidors), la longitud dels cables i el treball d'estirament ( això és fonamental als extrems de les files: amb 10 bastidors seguits i 3 bastidors per interruptor, haureu d'estirar els cables cap a una altra fila o utilitzar menys els ports de l'interruptor), etc., etc. Històries separades: selecció de servidors i selecció de DC, suposarem que estan seleccionats.

Seria bo entendre alguns dels matisos i detalls, en particular, el consum mitjà/màxim dels servidors, i com se'ns subministra l'electricitat. Per tant, si tenim una font d'alimentació russa de 230 V i una fase per bastidor, una màquina de 32 A pot gestionar ~ 7 kW. Suposem que nominalment paguem 6 kW per bastidor. Si el proveïdor mesura el nostre consum només per a una fila de 10 bastidors, i no per a cada bastidor, i si la màquina està configurada en un tall condicional de 7 kW, llavors tècnicament podem consumir 6.9 kW en un sol bastidor, 5.1 kW en un altre i tot anirà bé, no punible.

Normalment el nostre objectiu principal és minimitzar els costos. El millor criteri per mesurar és una reducció del TCO (cost total de propietat). Consta de les següents peces:

  • CAPEX: compra d'infraestructura DC, servidors, maquinari de xarxa i cablejat
  • OPEX: lloguer de CC, consum elèctric, manteniment. OPEX depèn de la vida útil. És raonable suposar que és de 3 anys.

Optimització de la distribució de servidors entre bastidors

En funció de la mida de les peces individuals del pastís global, hem d'optimitzar les més cars i deixar que la resta utilitzi tots els recursos restants de la manera més eficient possible.

Suposem que tenim un CC existent, hi ha una alçada de bastidor d'unitats H (per exemple, H = 47), electricitat per bastidor Prack (Prack = 6kW) i hem decidit utilitzar servidors de dues unitats h = 2U. Eliminarem 2..4 unitats del bastidor per a interruptors, panells de connexió i organitzadors. Aquells. físicament, tenim servidors Sh = arrodonit ((H-2..4)/h) al nostre bastidor (és a dir, Sh = arrodonit ((47-4)/2) = 21 servidors per bastidor). Recordem aquest Sh.

En el cas senzill, tots els servidors d'un bastidor són idèntics. En total, si omplim un bastidor amb servidors, llavors en cada servidor podem gastar de mitjana la potència Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Per simplificar, ignorem el consum d'interruptors aquí.

Fem un pas al costat i determinem quin és el consum màxim del servidor Pmax. Si és molt senzill, molt ineficaç i completament segur, llegim el que està escrit a la font d'alimentació del servidor: això és.

Si és més complex i eficient, agafem el TDP (paquet de disseny tèrmic) de tots els components i ho resumim (això no és gaire cert, però és possible).

Normalment no coneixem el TDP dels components (excepte la CPU), així que prenem l'enfocament més correcte, però també el més complex (necessitem un laboratori): agafem un servidor experimental de la configuració necessària i el carreguem, per exemple, amb Linpack (CPU i memòria) i fio (discs) , mesurem el consum. Si ens ho prenem seriosament, també hem de crear l'ambient més càlid al passadís fred durant les proves, perquè això afectarà tant el consum del ventilador com el de la CPU. Obtenim el consum màxim d'un servidor específic amb una configuració específica en aquestes condicions específiques sota aquesta càrrega específica. Simplement volem dir que el nou firmware del sistema, una versió de programari diferent i altres condicions poden afectar el resultat.

Per tant, tornem a Pserv i com ho comparem amb Pmax. És qüestió d'entendre com funcionen els serveis i com de forts són els nervis del teu director tècnic.

Si no ens arrisquem, creiem que tots els servidors poden començar a consumir el màxim simultàniament. Al mateix moment, es pot produir una entrada al DC. Fins i tot en aquestes condicions, infra ha de proporcionar servei, de manera que Pserv ≡ Pmax. Aquest és un enfocament on la fiabilitat és absolutament important.

Si el director tècnic no només pensa en la seguretat ideal, sinó també en els diners de l'empresa i és prou valent, llavors podeu decidir-ho.

  • Estem començant a gestionar els nostres venedors, en particular, estem prohibint el manteniment programat en moments de càrrega màxima planificada per minimitzar la caiguda d'una entrada;
  • i/o la nostra arquitectura permet perdre un bastidor/fila/DC, però els serveis continuen funcionant;
  • i/o distribuïm bé la càrrega horitzontalment pels bastidors, de manera que els nostres serveis mai saltaran al màxim consum en un bastidor tots junts.

Aquí és molt útil no només per endevinar, sinó també per controlar el consum i saber com els servidors consumeixen realment electricitat en condicions normals i punta. Per tant, després d'una anàlisi, el director tècnic apreta tot el que té i diu: "Prem una decisió voluntària que la mitjana màxima assolible del consum màxim de servidor per rack està **tant** per sota del consum màxim", condicionalment Pserv = 0.8* Pmàx.

I després un bastidor de 6 kW ja no pot allotjar 16 servidors amb Pmax = 375 W, sinó 20 servidors amb Pserv = 375 W * 0.8 = 300 W. Aquells. Un 25% més de servidors. Aquest és un estalvi molt gran: després de tot, necessitem immediatament un 25% menys de bastidors (i també estalviarem en PDU, commutadors i cables). Un greu desavantatge d'aquesta solució és que hem de controlar constantment que les nostres suposicions encara siguin correctes. Que la nova versió de firmware no canvia significativament el funcionament dels ventiladors i el consum, que el desenvolupament de cop amb la nova versió no va començar a utilitzar els servidors de manera molt més eficient (llegiu: van aconseguir una major càrrega i un major consum al servidor). Després de tot, llavors tant les nostres suposicions inicials com les nostres conclusions es tornen incorrectes immediatament. Aquest és un risc que s'ha d'assumir de manera responsable (o evitar i després pagar per bastidors evidentment infrautilitzats).

Una nota important: haureu d'intentar distribuir els servidors de diferents serveis horitzontalment entre bastidors, si és possible. Això és necessari perquè no succeeixin situacions en què arriba un lot de servidors per a un servei, els bastidors s'embalen verticalment amb ell per augmentar la "densitat" (perquè és més fàcil així). En realitat, resulta que un bastidor està ple de servidors idèntics de baixa càrrega del mateix servei i l'altre està ple de servidors d'alta càrrega igual. La probabilitat de la segona caiguda és significativament més alta, perquè el perfil de càrrega és el mateix i tots els servidors junts en aquest bastidor comencen a consumir la mateixa quantitat com a resultat de l'augment de la càrrega.

Tornem a la distribució de servidors en bastidors. Hem analitzat l'espai físic del bastidor i les limitacions de potència, ara mirem la xarxa. Podeu utilitzar commutadors amb ports 24/32/48 N (per exemple, tenim commutadors ToR de 48 ports). Afortunadament, no hi ha moltes opcions si no penseu en els cables de trencament. Estem considerant escenaris en què tenim un interruptor per bastidor, un interruptor per a dos o tres bastidors al grup Rnet. Em sembla que més de tres bastidors en un grup ja és massa, perquè... el problema del cablejat entre bastidors es fa molt més gran.

Així, per a cada escenari de xarxa (1, 2 o 3 bastidors en un grup), distribuïm els servidors entre els bastidors:

Srack = min (Sh, arrodonit a baix (Prack/Pserv), arrodonit a baix (N/Rnet))

Així, per a l'opció amb 2 bastidors en un grup:

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = 20 servidors per bastidor.

Considerem les opcions restants de la mateixa manera:

Srack1 = 20
Srack3 = 16

I gairebé hi som. Comptem el nombre de bastidors per distribuir tots els nostres servidors S (sigui 1000):

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

R1 = arrodoniment (1000 / (20 * 1)) * 1 = 50 * 1 = 50 bastidors

R2 = arrodoniment (1000 / (20 * 2)) * 2 = 25 * 2 = 50 bastidors

R3 = arrodoniment (1000 / (16 * 3)) * 3 = 25 * 2 = 63 bastidors

A continuació, calculem el TCO per a cada opció en funció del nombre de bastidors, el nombre d'interruptors necessaris, cablejat, etc. Triem l'opció on el TCO és més baix. Guany!

Tingueu en compte que, tot i que el nombre de bastidors necessaris per a les opcions 1 i 2 és el mateix, el seu preu serà diferent, perquè el nombre d'interruptors per a la segona opció és la meitat i la longitud dels cables necessaris és més llarga.

PS Si tens l'oportunitat de jugar amb la potència per bastidor i l'alçada del bastidor, la variabilitat augmenta. Però el procés es pot reduir al descrit anteriorment simplement recorrent les opcions. Sí, hi haurà més combinacions, però encara un nombre molt limitat: la font d'alimentació del bastidor per al càlcul es pot augmentar en passos d'1 kW, els bastidors típics tenen un nombre limitat de mides estàndard: 42U, 45U, 47U, 48U , 52U. I aquí l'anàlisi What-If d'Excel en mode Taula de dades pot ajudar amb els càlculs. Observem les plaques rebudes i triem el mínim.

Font: www.habr.com

Afegeix comentari