Optimumigo de la distribuado de serviloj tra rakoj

En unu el la babiloj oni demandis min:

— Ĉu estas io, kion mi povas legi pri kiel ĝuste paki servilojn en rakojn?

Mi konstatis, ke mi ne konas tian tekston, do mi skribis mian propran.

Unue, ĉi tiu teksto temas pri fizikaj serviloj en fizikaj datumcentroj (DC). Due, ni kredas, ke ekzistas sufiĉe multe da serviloj: centmiloj; por pli malgranda nombro ĉi tiu teksto ne havas sencon. Trie, ni konsideras, ke ni havas tri limojn: fizika spaco en la rakoj, nutrado per rako, kaj lasu la rakojn stari en vicoj, por ke ni povu uzi unu ToR-ŝaltilon por konekti servilojn en apudaj rakoj.

La respondo al la demando tre dependas de kia parametro ni optimumigas kaj kion ni povas varii por atingi la plej bonan rezulton. Ekzemple, ni nur bezonas okupi minimumon da spaco por lasi pli por plia kresko. Aŭ eble ni havas liberecon elekti la altecon de la rako, potencon per rako, ingoj en la PDU, la nombro da rakoj en grupo de ŝaltiloj (unu ŝaltilo por 1, 2 aŭ 3 rakoj), longo de dratoj kaj tirado de laboro ( ĉi tio estas kritika ĉe la finoj de la vicoj: kun 10 rakoj en vico kaj 3 rakoj per ŝaltilo, vi devos tiri la dratojn al alia vico aŭ subuzi la havenojn en la ŝaltilo), ktp., ktp. Apartaj rakontoj: elekto de serviloj kaj elekto de DC-oj, ni supozos, ke ili estas elektitaj.

Estus bone kompreni kelkajn el la nuancoj kaj detaloj, precipe, la meza/maksimuma konsumo de serviloj, kaj kiel elektro estas liverita al ni. Do, se ni havas rusan elektroprovizon de 230V kaj unu fazon per rako, tiam 32A-maŝino povas manipuli ~7kW. Ni diru, ke ni nominale pagas 6kW per rako. Se la provizanto mezuras nian konsumon nur por vico de 10 rako, kaj ne por ĉiu rako, kaj se la maŝino estas agordita ĉe kondiĉe 7 kW detranĉo, tiam teknike ni povas konsumi 6.9 kW en ununura rako, 5.1 kW en alia kaj ĉio estos en ordo - ne puninda.

Kutime nia ĉefa celo estas minimumigi kostojn. La plej bona kriterio por mezuri estas redukto de TCO (totalkosto de posedo). Ĝi konsistas el la sekvaj pecoj:

  • CAPEX: aĉeto de DC-infrastrukturo, serviloj, ret aparataro kaj kablado
  • OPEX: DC-luado, elektrokonsumo, prizorgado. OPEX dependas de servodaŭro. Estas racie supozi, ke ĝi estas 3 jaroj.

Optimumigo de la distribuado de serviloj tra rakoj

Depende de kiom grandaj estas la individuaj pecoj en la ĝenerala kukaĵo, ni devas optimumigi la plej multekostan, kaj lasi la ceterajn uzi ĉiujn ceterajn rimedojn kiel eble plej efike.

Ni diru, ke ni havas ekzistantan DC, ekzistas rako alteco de H-unuoj (ekzemple, H=47), elektro per rako Prack (Prack=6kW), kaj ni decidis uzi h=2U-duunuajn servilojn. Ni forigos 2..4 unuojn de la rako por ŝaltiloj, flikaj paneloj kaj organizintoj. Tiuj. fizike, ni havas Sh=rounddown((H-2..4)/h) servilojn en nia rako (t.e. Sh = rounddown((47-4)/2)=21 serviloj po rako). Ni memoru ĉi tiun Ŝ.

En la simpla kazo, ĉiuj serviloj en rako estas identaj. Entute, se ni plenigas rakon per serviloj, tiam sur ĉiu servilo ni povas elspezi averaĝe la potencon Pserv=Prack/Sh (Pserv = 6000W/21 = 287W). Por simpleco, ni ignoras ŝaltilkonsumon ĉi tie.

Ni faru paŝon flanken kaj determinu, kio estas la maksimuma servila konsumo Pmax. Se ĝi estas tre simpla, tre senefika kaj tute sekura, tiam ni legas tion, kio estas skribita sur la elektroprovizo de la servilo - jen ĝi.

Se ĝi estas pli komplika, pli efika, tiam ni prenas la TDP (termika dezajno-pakaĵo) de ĉiuj komponantoj kaj resumas ĝin (ĉi tio ne estas tre vera, sed eblas).

Kutime ni ne konas la TDP de komponantoj (krom la CPU), do ni prenas la plej ĝustan, sed ankaŭ la plej kompleksan aliron (ni bezonas laboratorion) - ni prenas eksperimentan servilon de la bezonata agordo kaj ŝarĝas ĝin, ekzemple, kun Linpack (CPU kaj memoro) kaj fio (diskoj) , ni mezuras konsumon. Se ni prenas ĝin serioze, ni ankaŭ devas krei la plej varman medion en la malvarma koridoro dum provoj, ĉar tio influos kaj ventumilan konsumon kaj CPU-konsumon. Ni ricevas la maksimuman konsumon de specifa servilo kun specifa agordo en ĉi tiuj specifaj kondiĉoj sub ĉi tiu specifa ŝarĝo. Ni simple volas diri, ke nova sistema firmvaro, malsama programara versio kaj aliaj kondiĉoj povas influi la rezulton.

Do, revenu al Pserv kaj kiel ni komparas ĝin kun Pmax. Estas afero kompreni kiel funkcias la servoj kaj kiom fortaj estas la nervoj de via teknika direktoro.

Se ni tute ne riskas, ni kredas, ke ĉiuj serviloj povas samtempe komenci konsumi sian maksimumon. En la sama momento, unu enigo en la DC povas okazi. Eĉ sub ĉi tiuj kondiĉoj, infra devas provizi servon, do Pserv ≡ Pmax. Ĉi tio estas aliro kie fidindeco estas absolute grava.

Se la teknika direktoro pensas ne nur pri ideala sekureco, sed ankaŭ pri la mono de la kompanio kaj estas sufiĉe kuraĝa, tiam vi povas decidi tion.

  • Ni komencas administri niajn vendistojn, precipe, ni malpermesas planitan bontenadon en tempoj de planita pinta ŝarĝo por minimumigi la falon en unu enigo;
  • kaj/aŭ nia arkitekturo permesas al vi perdi rakon/vicon/DC, sed la servoj daŭre funkcias;
  • kaj/aŭ ni bone disvastigas la ŝarĝon horizontale tra la rakoj, do niaj servoj neniam saltos al maksimuma konsumo en unu rako tute kune.

Ĉi tie estas tre utile ne nur diveni, sed kontroli konsumon kaj scii kiel la serviloj efektive konsumas elektron en normalaj kaj pintaj kondiĉoj. Sekve, post iom da analizo, la teknika direktoro premas ĉion, kion li havas kaj diras: "ni faras volan decidon, ke la maksimuma atingebla mezumo de la maksimuma servila konsumo per rako estas **tiom** sub la maksimuma konsumo", kondiĉe Pserv = 0.8* Pmaks.

Kaj tiam rako de 6kW ne plu povas akomodi 16 servilojn kun Pmax = 375W, sed 20 servilojn kun Pserv = 375W * 0.8 = 300W. Tiuj. 25% pli da serviloj. Ĉi tio estas tre granda ŝparado - finfine ni tuj bezonas 25% malpli da rakoj (kaj ni ankaŭ ŝparos pri PDU-oj, ŝaltiloj kaj kabloj). Grava malavantaĝo de tia solvo estas, ke ni devas konstante kontroli, ke niaj supozoj ankoraŭ estas ĝustaj. Ke la nova firmware-versio ne signife ŝanĝas la funkciadon de la ventoliloj kaj konsumon, ke la evoluo subite kun la nova eldono ne komencis uzi la servilojn multe pli efike (legu: ili atingis pli grandan ŝarĝon kaj pli grandan konsumon en la servilo). Post ĉio, tiam ambaŭ niaj komencaj supozoj kaj konkludoj tuj fariĝas malĝustaj. Ĉi tio estas risko, kiu devas esti prenita respondece (aŭ evitita kaj poste pagi por evidente subutiligitaj rakoj).

Grava noto - vi devus provi distribui servilojn de malsamaj servoj horizontale tra rakoj, se eble. Ĉi tio estas necesa por ke situacioj ne okazu kiam unu aro da serviloj alvenas por unu servo, la rakoj estas vertikale pakitaj kun ĝi por pliigi la "densecon" (ĉar estas pli facile tiel). En realeco, rezultas, ke unu rako estas plenigita per identaj malalt-ŝarĝaj serviloj de la sama servo, kaj la alia estas plenigita per same altŝarĝaj serviloj. La probablo de la dua falo estas signife pli alta, ĉar la ŝarĝa profilo estas la sama, kaj ĉiuj serviloj kune en ĉi tiu rako komencas konsumi la saman kvanton kiel rezulto de pliigita ŝarĝo.

Ni revenu al la distribuado de serviloj en rakoj. Ni rigardis fizikan rako-spacon kaj potenclimojn, nun ni rigardu la reton. Vi povas uzi ŝaltilojn kun 24/32/48 N-havenoj (ekzemple, ni havas 48-havenajn ToR-ŝaltilojn). Feliĉe, ne estas multaj ebloj se vi ne pensas pri elrompaj kabloj. Ni pripensas scenarojn, kiam ni havas unu ŝaltilon per rako, unu ŝaltilon por du aŭ tri rakoj en la Rnet-grupo. Ŝajnas al mi, ke pli ol tri rakoj en grupo jam estas tro multe, ĉar... la problemo de kablado inter rakoj fariĝas multe pli granda.

Do, por ĉiu reto-scenaro (1, 2 aŭ 3 rakoj en grupo), ni distribuas la servilojn inter la rakoj:

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

Tiel, por la opcio kun 2 rakoj en grupo:

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

Ni konsideras la ceterajn eblojn de la sama maniero:

Srack1 = 20
Srack3 = 16

Kaj ni preskaŭ estas tie. Ni kalkulas la nombron da rakoj por distribui ĉiujn niajn servilojn S (estu 1000):

R = ĉirkaŭiro (S / (Srack * Rnet)) * Rnet

R1 = ĉirkaŭigo (1000 / (20 * 1)) * 1 = 50 * 1 = 50 rakoj

R2 = ĉirkaŭigo (1000 / (20 * 2)) * 2 = 25 * 2 = 50 rakoj

R3 = ĉirkaŭigo (1000 / (16 * 3)) * 3 = 25 * 2 = 63 rakoj

Poste, ni kalkulas la TCO por ĉiu opcio surbaze de la nombro da rakoj, la bezonata nombro da ŝaltiloj, kablado ktp. Ni elektas la opcion kie TCO estas pli malalta. Profito!

Notu, ke kvankam la bezonata nombro da rakoj por opcioj 1 kaj 2 estas la sama, ilia prezo estos malsama, ĉar la nombro da ŝaltiloj por la dua opcio estas duono, kaj la longo de la postulataj kabloj estas pli longa.

PS Se vi havas la ŝancon ludi kun la potenco per rako kaj la alteco de la rako, la ŝanĝebleco pliiĝas. Sed la procezo povas esti reduktita al la priskribita supre simple trairante la eblojn. Jes, estos pli da kombinaĵoj, sed ankoraŭ tre limigita nombro - la nutrado al la rako por kalkulo povas esti pliigita en paŝoj de 1 kW, tipaj rakoj venas en limigita nombro da normaj grandecoj: 42U, 45U, 47U, 48U. , 52U. Kaj ĉi tie la analizo Kio-Se de Excel en la reĝimo de Datuma Tabelo povas helpi pri kalkuloj. Ni rigardas la ricevitajn telerojn kaj elektas la minimumon.

fonto: www.habr.com

Aldoni komenton