सवाल vSphere शिक्षा - वीएम को * बहुत * रैम के साथ कॉन्फ़िगर करने के डाउनसाइड्स क्या हैं?


वीएमवेयर मेमोरी प्रबंधन एक मुश्किल संतुलन अधिनियम प्रतीत होता है। क्लस्टर रैम, संसाधन पूल, वीएमवेयर की प्रबंधन तकनीक (टीपीएस, गुब्बारा, मेजबान स्वैपिंग), अतिथि अतिथि उपयोग, स्वैपिंग, आरक्षण, शेयर और सीमाओं के साथ, बहुत सारे चर हैं।

मैं ऐसी परिस्थिति में हूं जहां ग्राहक समर्पित vSphere क्लस्टर संसाधनों का उपयोग कर रहे हैं। हालांकि, वे वर्चुअल मशीनों को कॉन्फ़िगर कर रहे हैं जैसे कि वे भौतिक हार्डवेयर पर थे। बदले में, इसका मतलब है कि मानक वीएम बिल्ड में 4 वीसीपीयू और 16 जीबी या अधिक रैम हो सकता है। मैं छोटे (1 वीसीपीयू, न्यूनतम रैम) शुरू करने के स्कूल से आया हूं, वास्तविक दुनिया के उपयोग की जांच कर रहा हूं और आवश्यकतानुसार समायोजन कर रहा हूं। दुर्भाग्यवश, कई विक्रेताओं की आवश्यकताएं और वर्चुअलाइजेशन से अपरिचित लोगों को आवश्यकतानुसार अधिक संसाधन अनुरोध ... मैं इस निर्णय के प्रभाव को मापने में रूचि रखता हूं।


"समस्या" क्लस्टर से कुछ उदाहरण।

संसाधन पूल सारांश - लगभग 4: 1 अतिसंवेदनशील लगता है। बुलूनेड रैम की उच्च मात्रा पर ध्यान दें। enter image description here

संसाधन आवंटन - सबसे खराब केस आवंटन कॉलम से पता चलता है कि इन वीएम को सीमित शर्तों के तहत 50% से कम कॉन्फ़िगर किया गया RAM तक पहुंच होगी। enter image description here

ऊपर सूचीबद्ध सूची में शीर्ष वीएम का वास्तविक समय स्मृति उपयोग ग्राफ। 4 वीसीपीयू और 64 जीबी रैम आवंटित। यह 9 जीबी के उपयोग के तहत औसत है। enter image description here

एक ही वीएम का सारांश enter image description here


  • VSphere वातावरण में अतिसंवेदनशील और अतिसंवेदनशील संसाधनों (विशेष रूप से राम) के डाउनसाइड्स क्या हैं?

  • यह मानते हुए कि वीएम कम रैम में चल सकते हैं, क्या यह कहना उचित है कि वर्चुअल मशीनों को उनके से अधिक रैम के साथ कॉन्फ़िगर करने के लिए ओवरहेड है वास्तव में जरुरत?

  • प्रतिवाद क्या है: "अगर वीएम में आवंटित 16 जीबी रैम है, लेकिन केवल 4 जीबी का उपयोग करता है, तो समस्या क्या है ??"? उदा। ग्राहकों को शिक्षित करने की आवश्यकता है वीएम भौतिक हार्डवेयर के समान नहीं हैं?

  • रैम उपयोग को मीटर देने के लिए किस विशिष्ट मीट्रिक का उपयोग किया जाना चाहिए। "सक्रिय" बनाम समय के चोटियों को ट्रैक करना? "खपत" देखना?


अद्यतन करें: मैंनें इस्तेमाल किया vCenter संचालन प्रबंधक इस माहौल को प्रोफाइल करने के लिए और ऊपर सूचीबद्ध क्लस्टर आंकड़ों पर कुछ विवरण प्राप्त करें। जबकि चीजें निश्चित रूप से कम हो जाती हैं, वीएम वास्तव में हैं इसलिए अनावश्यक रैम के साथ अतिसंवेदनशील है कि असली (छोटा) स्मृति पदचिह्न क्लस्टर / मेजबान स्तर पर कोई स्मृति विवाद दिखाता है ...

मेरा टेकवे यह है कि ओएस-स्तरीय कैशिंग के लिए वीएम को वास्तव में थोड़ा सा बफर के साथ सही आकार दिया जाना चाहिए। अज्ञानता या विक्रेता "आवश्यकताओं" से बाहर निकलने से यहां प्रस्तुत स्थिति की ओर जाता है। मेमोरी बुलूनिंग हर मामले में खराब लगती है, क्योंकि प्रदर्शन प्रभाव पड़ता है, इसलिए सही आकार देने से इसे रोकने में मदद मिल सकती है।

अद्यतन 2: इनमें से कुछ वीएम के साथ दुर्घटना शुरू हो रही है:

kernel:BUG: soft lockup - CPU#1 stuck for 71s! 

वीएमवेयर इसे एक के रूप में वर्णित करता है भारी स्मृति अतिसंवेदनशीलता का लक्षण। तो मुझे लगता है कि सवाल का जवाब है।

enter image description here


vCops "ओवरस्ड वर्चुअल मशीन" रिपोर्ट ... enter image description here

vCops "पुनः दावा योग्य अपशिष्ट" ग्राफ ...

enter image description here


54
2017-08-02 15:14


मूल




जवाब:


vSphere का मेमोरी मैनेजमेंट बहुत सभ्य है, हालांकि इस्तेमाल की जाने वाली शर्तों में अक्सर भ्रम पैदा होता है।

आम तौर पर, मेमोरी ओवर-प्रतिबद्ध से बचा जाना चाहिए क्योंकि यह वास्तव में इस तरह की समस्या पैदा करता है। हालांकि, ऐसे समय होते हैं जब इसे टाला नहीं जा सकता है, इसलिए पूर्ववर्ती अग्रसर है!

संसाधनों को अतिसंवेदनशील और अति-कॉन्फ़िगर करने के डाउनसाइड्स क्या हैं   (विशेष रूप से राम) vSphere वातावरण में?

अधिक संसाधनों का प्रमुख नकारात्मक हिस्सा यह है कि आपको विवाद होना चाहिए, आपके मेजबानों को प्रत्येक वीएम को आवश्यक RAM देने के लिए दृश्यों के पीछे गुब्बारे, स्वैप या समझदारी से शेड्यूल / डी-डुप्लिकेट करने के लिए मजबूर होना होगा।

गुब्बारे के लिए, वीएसपीयर एक चुने हुए वीएम के भीतर रैम का "गुब्बारा" फुलाएगा, फिर उस गुब्बारे वाले राम को उस अतिथि को दें जो इसकी आवश्यकता है। यह वास्तव में "बुरा" नहीं है - वीएम एक-दूसरे की रैम चुरा रहे हैं, इसलिए कोई डिस्क स्वैपिंग नहीं चल रही है - लेकिन इससे वीएम के रैम उपयोग का विश्लेषण करने पर भरोसा करते हुए गलत तरीके से चेतावनी और स्काईड मेट्रिक्स हो सकते हैं, क्योंकि रैम जीता ओएस द्वारा "उपयोग में" है, बस "गुब्बारा" के रूप में चिह्नित नहीं किया जाएगा।

VSphere का उपयोग करने वाली अन्य विशेषता पारदर्शी पृष्ठ साझाकरण (टीपीएस) है - जो अनिवार्य रूप से रैम डी-डुप्लिकेशन है। vSphere आवधिक रूप से सभी आवंटित रैम स्कैन करेगा, डुप्लीकेट पृष्ठों की तलाश में। जब मिले, तो यह डुप्लिकेट और डुप्लीकेट पृष्ठों को मुक्त कर देगा।

पर एक नज़र डालें vSphere मेमोरी मैनेजमेंट व्हाइटपेपर (पीडीएफ) - विशेष रूप से "ESXi में मेमोरी रिकक्लेमेशन" (पृष्ठ 8) - यदि आपको अधिक गहराई से स्पष्टीकरण की आवश्यकता है।

यह मानते हुए कि वीएम कम रैम में चल सकते हैं, क्या यह कहना उचित है   वर्चुअल मशीनों को अधिक रैम के साथ कॉन्फ़िगर करने के लिए ओवरहेड है   उन्हें जरूरत है?

कोई दृश्यमान ओवरहेड नहीं है - आप 16 जीबी के साथ मेजबान पर 100 जीबी रैम आवंटित कर सकते हैं (हालांकि, इसका मतलब यह नहीं है चाहिए, ऊपर कारणों के लिए)।

आपके सभी वीएम द्वारा उपयोग में कुल मेमोरी आपके ग्राफ में दिखाया गया "सक्रिय" वक्र है। बेशक, आपको उस आंकड़े पर कभी भरोसा नहीं करना चाहिए जब आप गणना करना चाहते हैं कि आप कितना अधिक करना चाहते हैं, लेकिन यदि आपके पास ऐतिहासिक मेट्रिक्स हैं, तो आप वास्तविक उपयोग के आधार पर इसका विश्लेषण और कार्य कर सकते हैं।

इसमें "सक्रिय" और "उपभोग" रैम के बीच का अंतर चर्चा की गई है वीएमवेयर समुदाय धागा

प्रतिवाद क्या है: "अगर वीएम में आवंटित 16 जीबी रैम है,   लेकिन केवल 4 जीबी का उपयोग करता है, समस्या क्या है ?? "? जैसे क्या ग्राहकों को होना चाहिए   शिक्षित?

इसका संक्षिप्त जवाब है हाँ - ग्राहकों को चाहिए हमेशा अपने निपटान में उपकरण के बावजूद, सर्वोत्तम प्रथाओं में शिक्षित हो।

ग्राहकों को उनके वीएम के आकार के अनुसार शिक्षित किया जाना चाहिए उपयोग, वे क्या के बजाय चाहते हैं। बहुत समय, लोग अपने वीएम को अधिक निर्दिष्ट करेंगे क्योंकि वे पराक्रम 16 जीबी रैम की जरूरत है, भले ही वे दिन के बाद 2 जीबी दिन के साथ ऐतिहासिक रूप से झुका रहे हों। एक vSphere व्यवस्थापक के रूप में, आपके पास उन्हें चुनौती देने के लिए ज्ञान, मीट्रिक और शक्ति है और उनसे पूछें कि क्या उन्हें वास्तव में आवंटित रैम की आवश्यकता है।

उस ने कहा, यदि आप सावधानीपूर्वक नियंत्रित ओवरकमिट सीमाओं के साथ vSphere के मेमोरी प्रबंधन को जोड़ते हैं, तो आपको अभ्यास में शायद ही कोई समस्या होनी चाहिए, समय की एक विस्तृत अवधि के लिए रैम से बाहर निकलने की संभावना अपेक्षाकृत दूरस्थ है।

इसके अलावा, स्वचालित vMotion (कहा जाता है वितरित संसाधन निर्धारण वीएमवेयर द्वारा) अनिवार्य रूप से आपके वीएम के लिए लोड-बैलेंसर है - यदि एक एकल वीएम संसाधन होग बन रहा है, तो डीआरएस को क्लस्टर के संसाधनों का सबसे अच्छा उपयोग करने के लिए वीएम को माइग्रेट करना चाहिए।

राम उपयोग को मापने के लिए किस विशिष्ट मीट्रिक का उपयोग किया जाना चाहिए। ट्रैकिंग   "सक्रिय" बनाम समय के शिखर?

अधिकतर ऊपर कवर किया गया - आपकी मुख्य चिंता "सक्रिय" रैम उपयोग होना चाहिए, हालांकि आपको सावधानीपूर्वक अपने ओवरकॉइट थ्रेसहोल्ड को परिभाषित करना चाहिए ताकि यदि आप एक निश्चित अनुपात तक पहुंच जाएं (यह एक सभ्य उदाहरण हैहालांकि, यह थोड़ा पुराना हो सकता है)। आम तौर पर, मैं निश्चित रूप से कुल क्लस्टर रैम का 120% के भीतर रहूंगा, लेकिन यह तय करने के लिए आप किस अनुपात के साथ सहज हैं।

मेमोरी ओवर-प्रतिबद्ध पर कुछ अच्छे लेख / चर्चाएं:


43
2017-08-02 17:09



मेरी समझ यह है कि वीएम को आवंटित अधिक रैम का मतलब है कि डीआरएस को वीएम माइग्रेट करना मुश्किल है - इसमें नोड्स के बीच माइग्रेट करने में अधिक समय लगता है क्योंकि इसमें रैम की प्रतिलिपि बनाने में अधिक समय लगता है; और अधिक रैम की आवश्यकता है, कम संभावना यह है कि डीआरएस एक बड़ा पर्याप्त हिस्सा खोजने में सक्षम होने जा रहा है जो मुफ़्त है। यदि आपके पास कोई ईवेंट है (उदाहरण के लिए, हार्डवेयर विफलता) जो क्लस्टर में क्षमता को कम करता है तो यह विशेष रूप से परेशानी हो सकती है (मुझे विश्वास हो गया है)। छोटे वीएम को घुसपैठ करना आसान होता है और अधिक आउटेज नोटिस करने की संभावना नहीं होती है, बड़े वीएम ट्रिक्सी हो सकते हैं। क्या मुझे सही तरीके से सूचित किया गया है? - James Polley
@ जेम्स - केवल सक्रिय (यानी उपयोग में) स्मृति vMotion के दौरान माइग्रेट की जाती है, इसलिए आपके वीएम को आवंटित रैम की मात्रा इससे कोई फर्क नहीं पड़ता। संदर्भ: vmware.com/files/pdf/VMware-VMotion-DS-EN.pdf - Craig Watson
बहुत बढ़िया जवाब। मैंने इस प्रश्न को इस विशेष क्लस्टर से अधिक विस्तार से अपडेट किया है। हालांकि, आपके अंक अच्छे हैं। यह पता चला है कि इस सेटअप में वीएम बहुत अधिक कॉन्फ़िगर किए गए हैं। सक्रिय राम उपयोग क्लस्टर के भौतिक संसाधनों के ठीक नीचे है, इसलिए कोई विवाद नहीं है ... बस भारी गुब्बारा / स्वैपिंग / कुरूपता। मुझे संदेह है कि वीएम का सही आकार इस दबाव को कम करेगा। - ewwhite


क्रेग वाटसन के उत्कृष्ट उत्तर के अलावा मैं निम्नलिखित जोड़ना चाहता हूं:

वीएमवेयर में ओवर-मेमेटिंग मेमोरी कुछ ऐसा नहीं है जिसे आपको उद्देश्य पर करना चाहिए। यह आम तौर पर दिखाता है कि या तो आप या आपका ग्राहक हार्डवेयर की सदस्यता ले रहा है।

यदि अधिक काम करना एकमात्र विकल्प है तो मैं दृढ़ता से सलाह दें कि आप प्राथमिकता नियमों को लागू करें। अगर कोई गैर-महत्वपूर्ण वीएम 16 जीबी वीआरएएम देने पर झुकता है तो उसे केवल 4 जीबी की आवश्यकता होती है - कम से कम उस वीएम को कम संसाधन पूल में डाल दें या इसे कम प्राथमिकता दें। आप वास्तव में हाइपरवाइजर द्वारा एक महत्वपूर्ण उत्पादन डेटाबेस को स्वैप नहीं करना चाहते हैं। प्रदर्शन न केवल नाली के नीचे जाएगा, यह आपके बैकएंड स्टोरेज के खिलाफ आई / ओ कतार भी खाएगा।

यदि आप तेजी से भंडारण (फ्यूजनियो, वायलिन, स्थानीय एसएसडी इत्यादि) पर चल रहे हैं तो स्वैपिंग एक बड़ी चिंता नहीं हो सकती है, लेकिन पारंपरिक SAN स्टोरेज के साथ आप अंततः प्रत्येक एकल वीएम को प्रभावित करेंगे और उसी सरणी / नियंत्रक से जुड़े मेजबान को प्रभावित करेंगे।


19



स्वैपिंग के भंडारण प्रभाव पर अच्छा अवलोकन। यह मैंने देखा वीएनएक्स प्रदर्शन मुद्दों में से कुछ बताता है .... - ewwhite
शानदार बिंदु, मैंने कभी भी स्टोरेज आईओ तर्क लेने का विचार नहीं किया है, - Dan