రాక్‌లలో సర్వర్‌ల పంపిణీని ఆప్టిమైజ్ చేయడం

ఒక చాట్‌లో నన్ను ఒక ప్రశ్న అడిగారు:

— సర్వర్‌లను రాక్‌లలోకి సరిగ్గా ప్యాక్ చేయడం ఎలా అనే దాని గురించి నేను చదవగలిగేది ఏదైనా ఉందా?

నాకు అలాంటి వచనం తెలియదని నేను గ్రహించాను, కాబట్టి నేను నా స్వంతంగా వ్రాసాను.

ముందుగా, ఈ టెక్స్ట్ ఫిజికల్ డేటా సెంటర్లలో (DCs) ఫిజికల్ సర్వర్‌లకు సంబంధించినది. రెండవది, చాలా సర్వర్‌లు ఉన్నాయని మేము నమ్ముతున్నాము: వందల-వేలు; తక్కువ సంఖ్యలో ఈ వచనం అర్ధవంతం కాదు. మూడవది, మాకు మూడు పరిమితులు ఉన్నాయని మేము భావిస్తున్నాము: రాక్‌లలో భౌతిక స్థలం, ప్రతి ర్యాక్‌కు విద్యుత్ సరఫరా మరియు రాక్‌లను వరుసలలో నిలబడనివ్వండి, తద్వారా మేము ప్రక్కనే ఉన్న రాక్‌లలో సర్వర్‌లను కనెక్ట్ చేయడానికి ఒక ToR స్విచ్‌ని ఉపయోగించవచ్చు.

ప్రశ్నకు సమాధానం మనం ఏ పరామితిని ఆప్టిమైజ్ చేస్తున్నాము మరియు ఉత్తమ ఫలితాన్ని సాధించడానికి మనం ఏది మారవచ్చు అనే దానిపై ఎక్కువగా ఆధారపడి ఉంటుంది. ఉదాహరణకు, మరింత వృద్ధి కోసం ఎక్కువ స్థలాన్ని వదిలివేయడానికి మనం కనీస స్థలాన్ని మాత్రమే తీసుకోవాలి. లేదా రాక్‌ల ఎత్తు, ర్యాక్‌కు పవర్, PDUలోని సాకెట్‌లు, స్విచ్‌ల సమూహంలోని రాక్‌ల సంఖ్య (1, 2 లేదా 3 రాక్‌లకు ఒక స్విచ్), వైర్ల పొడవు మరియు పనిని లాగడంలో మనకు స్వేచ్ఛ ఉండవచ్చు ( అడ్డు వరుసల చివర్లలో ఇది కీలకం: వరుసగా 10 రాక్‌లు మరియు స్విచ్‌కు 3 రాక్‌లతో, మీరు వైర్‌లను మరొక వరుసకు లాగాలి లేదా స్విచ్‌లోని పోర్ట్‌లను తక్కువగా ఉపయోగించాలి), మొదలైనవి. ప్రత్యేక కథనాలు: సర్వర్‌ల ఎంపిక మరియు DCల ఎంపిక, అవి ఎంపిక చేయబడినట్లు మేము ఊహిస్తాము.

కొన్ని సూక్ష్మ నైపుణ్యాలు మరియు వివరాలను, ముఖ్యంగా, సర్వర్ల సగటు/గరిష్ట వినియోగం మరియు మనకు విద్యుత్తు ఎలా సరఫరా చేయబడుతుందో అర్థం చేసుకోవడం మంచిది. కాబట్టి, మనకు 230V యొక్క రష్యన్ విద్యుత్ సరఫరా మరియు రాక్‌కు ఒక దశ ఉంటే, అప్పుడు 32A యంత్రం ~ 7kWని నిర్వహించగలదు. మేము నామమాత్రంగా ఒక్కో ర్యాక్‌కు 6kW చెల్లిస్తాము. ప్రొవైడర్ మా వినియోగాన్ని 10 రాక్‌ల వరుస కోసం మాత్రమే కొలిస్తే, ప్రతి ర్యాక్‌కు కాకుండా, మరియు షరతులతో కూడిన 7 kW కటాఫ్‌లో యంత్రాన్ని సెట్ చేస్తే, సాంకేతికంగా మనం ఒకే ర్యాక్‌లో 6.9 kW, మరొకదానిలో 5.1 kW మరియు అంతా సవ్యంగానే ఉంటుంది - శిక్షార్హమైనది కాదు.

సాధారణంగా మా ప్రధాన లక్ష్యం ఖర్చులను తగ్గించడం. కొలవడానికి ఉత్తమ ప్రమాణం TCO (యాజమాన్యం యొక్క మొత్తం ఖర్చు)లో తగ్గింపు. ఇది క్రింది భాగాలను కలిగి ఉంటుంది:

  • CAPEX: DC ఇన్‌ఫ్రాస్ట్రక్చర్, సర్వర్లు, నెట్‌వర్క్ హార్డ్‌వేర్ మరియు కేబులింగ్ కొనుగోలు
  • OPEX: DC అద్దె, విద్యుత్ వినియోగం, నిర్వహణ. OPEX సేవా జీవితంపై ఆధారపడి ఉంటుంది. ఇది 3 సంవత్సరాలుగా భావించడం సమంజసం.

రాక్‌లలో సర్వర్‌ల పంపిణీని ఆప్టిమైజ్ చేయడం

మొత్తం పైలో వ్యక్తిగత ముక్కలు ఎంత పెద్దవి అనేదానిపై ఆధారపడి, మేము అత్యంత ఖరీదైన వాటిని ఆప్టిమైజ్ చేయాలి మరియు మిగిలిన అన్ని వనరులను సాధ్యమైనంత సమర్ధవంతంగా ఉపయోగించుకోనివ్వండి.

మనకు ఇప్పటికే ఉన్న DC ఉందని అనుకుందాం, H యూనిట్ల ర్యాక్ ఎత్తు ఉంది (ఉదాహరణకు, H=47), ర్యాక్ ప్రాక్‌కి విద్యుత్ (ప్రాక్=6kW), మరియు మేము h=2U రెండు-యూనిట్ సర్వర్‌లను ఉపయోగించాలని నిర్ణయించుకున్నాము. స్విచ్‌లు, ప్యాచ్ ప్యానెల్‌లు మరియు ఆర్గనైజర్‌ల కోసం మేము 2..4 యూనిట్లను రాక్ నుండి తీసివేస్తాము. ఆ. భౌతికంగా, మేము మా ర్యాక్‌లో Sh=rounddown((H-2..4)/h) సర్వర్‌లను కలిగి ఉన్నాము (అనగా Sh = రౌండ్‌డౌన్((47-4)/2)=ఒక ర్యాక్‌కు 21 సర్వర్లు). ఈ Sh గుర్తుచేసుకుందాం.

సాధారణ సందర్భంలో, ర్యాక్‌లోని అన్ని సర్వర్లు ఒకేలా ఉంటాయి. మొత్తంగా, మేము సర్వర్‌లతో ర్యాక్‌ను నింపినట్లయితే, ప్రతి సర్వర్‌లో మనం సగటున Pserv=Prack/Sh (Pserv = 6000W/21 = 287W) శక్తిని ఖర్చు చేయవచ్చు. సరళత కోసం, మేము ఇక్కడ స్విచ్ వినియోగాన్ని విస్మరిస్తాము.

ఒక అడుగు పక్కన పెట్టి, గరిష్ట సర్వర్ వినియోగం Pmax ఏమిటో నిర్ధారిద్దాం. ఇది చాలా సరళమైనది, చాలా పనికిరానిది మరియు పూర్తిగా సురక్షితమైనది అయితే, సర్వర్ యొక్క విద్యుత్ సరఫరాపై వ్రాసిన వాటిని మేము చదువుతాము - ఇదే.

ఇది మరింత క్లిష్టంగా, మరింత సమర్థవంతంగా ఉంటే, మేము అన్ని భాగాల యొక్క TDP (థర్మల్ డిజైన్ ప్యాకేజీ)ని తీసుకుంటాము మరియు దానిని సంగ్రహించండి (ఇది చాలా నిజం కాదు, కానీ ఇది సాధ్యమే).

సాధారణంగా మనకు కాంపోనెంట్‌ల టీడీపీ (CPU మినహా) తెలియదు, కాబట్టి మేము చాలా సరైనదాన్ని తీసుకుంటాము, కానీ చాలా క్లిష్టమైన విధానాన్ని కూడా తీసుకుంటాము (మాకు ప్రయోగశాల అవసరం) - మేము అవసరమైన కాన్ఫిగరేషన్ యొక్క ప్రయోగాత్మక సర్వర్‌ని తీసుకొని దానిని లోడ్ చేస్తాము, ఉదాహరణకు, Linpack (CPU మరియు మెమరీ) మరియు fio (డిస్క్‌లు) , మేము వినియోగాన్ని కొలుస్తాము. మేము దానిని తీవ్రంగా పరిగణిస్తే, పరీక్షల సమయంలో కోల్డ్ కారిడార్‌లో సాధ్యమైనంత వెచ్చని వాతావరణాన్ని కూడా సృష్టించాలి, ఎందుకంటే ఇది ఫ్యాన్ వినియోగం మరియు CPU వినియోగం రెండింటినీ ప్రభావితం చేస్తుంది. ఈ నిర్దిష్ట లోడ్ కింద ఈ నిర్దిష్ట పరిస్థితుల్లో నిర్దిష్ట కాన్ఫిగరేషన్‌తో నిర్దిష్ట సర్వర్ యొక్క గరిష్ట వినియోగాన్ని మేము పొందుతాము. కొత్త సిస్టమ్ ఫర్మ్‌వేర్, వేరొక సాఫ్ట్‌వేర్ వెర్షన్ మరియు ఇతర పరిస్థితులు ఫలితాన్ని ప్రభావితం చేయవచ్చని మేము అర్థం.

కాబట్టి, తిరిగి Pservకి మరియు మేము దానిని Pmaxతో ఎలా పోలుస్తాము. సేవలు ఎలా పని చేస్తాయి మరియు మీ టెక్నికల్ డైరెక్టర్ నరాలు ఎంత బలంగా ఉన్నాయో అర్థం చేసుకునే విషయం ఇది.

మేము ఎటువంటి రిస్క్ తీసుకోకపోతే, అన్ని సర్వర్‌లు ఏకకాలంలో గరిష్టంగా వినియోగించడం ప్రారంభించవచ్చని మేము విశ్వసిస్తున్నాము. అదే సమయంలో, DCలోకి ఒక ఇన్‌పుట్ సంభవించవచ్చు. ఈ పరిస్థితుల్లో కూడా, ఇన్‌ఫ్రా తప్పనిసరిగా సేవను అందించాలి, కాబట్టి Pserv ≡ Pmax. ఇది విశ్వసనీయత ఖచ్చితంగా ముఖ్యమైన విధానం.

టెక్ డైరెక్టర్ ఆదర్శ భద్రత గురించి మాత్రమే కాకుండా, కంపెనీ డబ్బు గురించి కూడా ఆలోచిస్తే మరియు ధైర్యంగా ఉంటే, మీరు దానిని నిర్ణయించుకోవచ్చు

  • మేము మా విక్రేతలను నిర్వహించడం ప్రారంభించాము, ప్రత్యేకించి, ఒక ఇన్‌పుట్‌లో తగ్గుదలని తగ్గించడానికి ప్రణాళికాబద్ధమైన పీక్ లోడ్ సమయాల్లో మేము షెడ్యూల్ చేసిన నిర్వహణను నిషేధిస్తున్నాము;
  • మరియు/లేదా మా ఆర్కిటెక్చర్ రాక్/రో/DCని కోల్పోవడానికి మిమ్మల్ని అనుమతిస్తుంది, అయితే సేవలు పని చేస్తూనే ఉన్నాయి;
  • మరియు/లేదా మేము లోడ్‌ను రాక్‌ల అంతటా అడ్డంగా విస్తరించాము, కాబట్టి మా సేవలు ఎప్పటికీ కలిసి ఒకే ర్యాక్‌లో గరిష్ట వినియోగానికి వెళ్లవు.

ఇక్కడ కేవలం ఊహించడం మాత్రమే కాకుండా, వినియోగాన్ని పర్యవేక్షించడం మరియు సాధారణ మరియు గరిష్ట పరిస్థితుల్లో సర్వర్లు వాస్తవానికి విద్యుత్తును ఎలా వినియోగిస్తాయో తెలుసుకోవడం చాలా ఉపయోగకరంగా ఉంటుంది. అందువల్ల, కొంత విశ్లేషణ తర్వాత, టెక్ డైరెక్టర్ తన వద్ద ఉన్న ప్రతిదాన్ని పిండుకుని ఇలా అంటాడు: “ఒక ర్యాక్‌కు గరిష్ట సర్వర్ వినియోగం యొక్క గరిష్టంగా సాధించగల సగటు గరిష్ట వినియోగం కంటే **చాలా ** తక్కువగా ఉందని మేము సంకల్ప నిర్ణయం తీసుకుంటాము,” షరతులతో Pserv = 0.8* Pmax.

ఆపై 6kW రాక్ Pmax = 16Wతో 375 సర్వర్‌లను కలిగి ఉండదు, కానీ Pserv = 20W * 375 = 0.8Wతో 300 సర్వర్‌లు. ఆ. 25% ఎక్కువ సర్వర్లు. ఇది చాలా పెద్ద పొదుపు - అన్నింటికంటే, మనకు వెంటనే 25% తక్కువ రాక్లు అవసరం (మరియు మేము PDUలు, స్విచ్‌లు మరియు కేబుల్‌లలో కూడా సేవ్ చేస్తాము). అటువంటి పరిష్కారం యొక్క తీవ్రమైన ప్రతికూలత ఏమిటంటే, మన ఊహలు ఇప్పటికీ సరైనవని మనం నిరంతరం పర్యవేక్షించాలి. కొత్త ఫర్మ్‌వేర్ సంస్కరణ అభిమానులు మరియు వినియోగం యొక్క ఆపరేషన్‌ను గణనీయంగా మార్చదు, కొత్త విడుదలతో అకస్మాత్తుగా అభివృద్ధి సర్వర్‌లను మరింత సమర్థవంతంగా ఉపయోగించడం ప్రారంభించలేదు (చదవండి: అవి సర్వర్‌పై ఎక్కువ లోడ్ మరియు ఎక్కువ వినియోగాన్ని సాధించాయి). అన్ని తరువాత, మా ప్రారంభ అంచనాలు మరియు ముగింపులు రెండూ వెంటనే తప్పుగా మారతాయి. ఇది తప్పనిసరిగా బాధ్యతాయుతంగా తీసుకోవలసిన ప్రమాదం (లేదా నివారించాలి మరియు స్పష్టంగా ఉపయోగించని రాక్‌ల కోసం చెల్లించాలి).

ఒక ముఖ్యమైన గమనిక - వీలైతే, మీరు వివిధ సేవల నుండి సర్వర్‌లను రాక్‌లలో అడ్డంగా పంపిణీ చేయడానికి ప్రయత్నించాలి. ఒక సేవ కోసం ఒక బ్యాచ్ సర్వర్లు వచ్చినప్పుడు పరిస్థితులు జరగకుండా ఉండటానికి ఇది అవసరం, "సాంద్రత" పెంచడానికి రాక్లు నిలువుగా ప్యాక్ చేయబడతాయి (ఎందుకంటే ఇది ఆ విధంగా సులభం). వాస్తవానికి, ఒక ర్యాక్ ఒకే సేవ యొక్క తక్కువ-లోడ్ సర్వర్‌లతో నింపబడిందని మరియు మరొకటి సమానంగా అధిక-లోడ్ సర్వర్‌లతో నింపబడిందని తేలింది. రెండవ పతనం యొక్క సంభావ్యత గణనీయంగా ఎక్కువగా ఉంటుంది, ఎందుకంటే లోడ్ ప్రొఫైల్ ఒకేలా ఉంటుంది మరియు ఈ ర్యాక్‌లోని అన్ని సర్వర్లు కలిసి పెరిగిన లోడ్ ఫలితంగా ఒకే మొత్తాన్ని వినియోగించడం ప్రారంభిస్తాయి.

రాక్‌లలో సర్వర్ల పంపిణీకి తిరిగి వెళ్దాం. మేము భౌతిక ర్యాక్ స్థలం మరియు పవర్ పరిమితులను చూశాము, ఇప్పుడు నెట్‌వర్క్‌ని చూద్దాం. మీరు 24/32/48 N పోర్ట్‌లతో స్విచ్‌లను ఉపయోగించవచ్చు (ఉదాహరణకు, మా వద్ద 48-పోర్ట్ ToR స్విచ్‌లు ఉన్నాయి). అదృష్టవశాత్తూ, మీరు బ్రేక్-అవుట్ కేబుల్స్ గురించి ఆలోచించకపోతే చాలా ఎంపికలు లేవు. మేము Rnet సమూహంలో ఒక ర్యాక్‌కు ఒక స్విచ్, రెండు లేదా మూడు రాక్‌లకు ఒక స్విచ్ ఉన్నప్పుడు మేము దృశ్యాలను పరిశీలిస్తున్నాము. ఒక సమూహంలో మూడు కంటే ఎక్కువ రాక్‌లు ఇప్పటికే చాలా ఎక్కువ అని నాకు అనిపిస్తోంది, ఎందుకంటే... రాక్ల మధ్య కేబులింగ్ సమస్య చాలా పెద్దదిగా మారుతుంది.

కాబట్టి, ప్రతి నెట్‌వర్క్ దృష్టాంతంలో (సమూహంలో 1, 2 లేదా 3 రాక్‌లు), మేము సర్వర్‌లను రాక్‌ల మధ్య పంపిణీ చేస్తాము:

స్రాక్ = నిమి(Sh, రౌండ్‌డౌన్(ప్రాక్/ప్సర్వ్), రౌండ్‌డౌన్(N/Rnet))

అందువలన, సమూహంలో 2 రాక్లతో ఎంపిక కోసం:

Srack2 = min(21, rounddown(6000/300), rounddown(48/2)) = min(21, 20, 24) = ఒక్కో ర్యాక్‌కి 20 సర్వర్లు.

మేము మిగిలిన ఎంపికలను అదే విధంగా పరిశీలిస్తాము:

స్రాక్1 = 20
స్రాక్3 = 16

మరియు మేము దాదాపు అక్కడ ఉన్నాము. మేము మా సర్వర్‌లన్నింటిని పంపిణీ చేయడానికి రాక్‌ల సంఖ్యను లెక్కిస్తాము S (ఇది 1000గా ఉండనివ్వండి):

R = రౌండప్(S / (Srack * Rnet)) * Rnet

R1 = రౌండప్(1000 / (20 * 1)) * 1 = 50 * 1 = 50 రాక్లు

R2 = రౌండప్(1000 / (20 * 2)) * 2 = 25 * 2 = 50 రాక్లు

R3 = రౌండప్(1000 / (16 * 3)) * 3 = 25 * 2 = 63 రాక్‌లు

తరువాత, రాక్‌ల సంఖ్య, అవసరమైన స్విచ్‌ల సంఖ్య, కేబులింగ్ మొదలైన వాటి ఆధారంగా మేము ప్రతి ఎంపికకు TCO ను లెక్కిస్తాము. మేము TCO తక్కువగా ఉన్న ఎంపికను ఎంచుకుంటాము. లాభం!

1 మరియు 2 ఎంపికల కోసం అవసరమైన రాక్‌ల సంఖ్య ఒకేలా ఉన్నప్పటికీ, వాటి ధర భిన్నంగా ఉంటుందని గమనించండి, ఎందుకంటే రెండవ ఎంపిక కోసం స్విచ్‌ల సంఖ్య సగం ఎక్కువ మరియు అవసరమైన కేబుల్‌ల పొడవు ఎక్కువ.

పి.ఎస్. మీరు ర్యాక్‌కు పవర్ మరియు ర్యాక్ ఎత్తుతో ఆడగలిగితే, వైవిధ్యం పెరుగుతుంది. కానీ ఎంపికల ద్వారా వెళ్ళడం ద్వారా ప్రక్రియను పైన వివరించిన దానికి తగ్గించవచ్చు. అవును, మరిన్ని కలయికలు ఉంటాయి, కానీ ఇప్పటికీ చాలా పరిమిత సంఖ్య - గణన కోసం రాక్‌కు విద్యుత్ సరఫరా 1 kW దశల్లో పెంచబడుతుంది, సాధారణ రాక్‌లు పరిమిత సంఖ్యలో ప్రామాణిక పరిమాణాలలో వస్తాయి: 42U, 45U, 47U, 48U , 52U. మరియు ఇక్కడ డేటా టేబుల్ మోడ్‌లో Excel యొక్క వాట్-ఇఫ్ విశ్లేషణ గణనలకు సహాయపడుతుంది. మేము అందుకున్న ప్లేట్లను చూసి కనిష్టాన్ని ఎంచుకుంటాము.

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి