VM स्नैपशॉट प्रदर्शन को क्यों प्रभावित कर रहे हैं?


27

मैंने VMware KB लेखों में से एक में पढ़ा है कि स्नैपशॉट सीधे वीएम प्रदर्शन को प्रभावित करेगा।

लेकिन मेरी टीम मुझसे पूछती रहती है कि स्नैपशॉट प्रदर्शन को कैसे प्रभावित कर सकते हैं।

मैं बयान के पीछे उन्हें ठोस कारण देना चाहूंगा कि स्नैपशॉट प्रदर्शन हत्यारे हैं।

क्या कोई इस बारे में थोड़ा सिद्धांत बता सकता है कि स्नैपशॉट वास्तव में प्रदर्शन को कैसे प्रभावित कर रहे हैं? क्या यह सिर्फ इसलिए है क्योंकि हार्ड डिस्क की डिस्क I / O दर धीमी होगी?


2
यकीन नहीं होता कि यह आपके द्वारा पढ़ा गया KB लेख है या नहीं। मुझे लगा कि मैं इसे संदर्भ के रूप में जोड़ूंगा।
आरोन कोपले

जवाबों:


28

जब आप एक स्नैपशॉट बनाते हैं, तो मूल डिस्क छवि एक सुसंगत स्थिति में "जमी" होती है, और सभी तब से एक्सेस लिखते हैं, एक नई अंतर छवि पर जाएंगे। इससे भी बदतर, जैसा कि यहां और यहां बताया गया है , अंतर छवि में परिवर्तन लॉग का रूप है, जो स्नैपशॉट लेने के बाद से फ़ाइल में किए गए प्रत्येक परिवर्तन को रिकॉर्ड करता है। इसका मतलब है, कि रीड एक्सेस को न केवल एक फ़ाइल, बल्कि सभी अंतर डेटा (मूल डेटा और मूल डेटा में किए गए प्रत्येक परिवर्तन) को पढ़ना होगा। जब आप स्नैपशॉट को कैस्केड करते हैं तो संख्या और भी बढ़ जाती है।


2
सबसे अच्छी व्याख्या। आप न केवल IOPS को दोगुना कर रहे हैं, बल्कि ब्लॉक स्तर के अंतर की गणना करने में CPU ओवरहेड है।
आरोन कोपले

3
हारून कोपले ( kb.vmware.com/selfservice/microsites/… ) द्वारा जुड़े इस लेख को पढ़ने के बाद यह उससे भी बुरा लगता है। स्नैपशॉट एक अंतर छवि नहीं है, यह एक परिवर्तन लॉग है, इसलिए यदि आप एक ही डेटा को एक ही स्थान पर 10 बार लिखते हैं, तो स्नैपशॉट आपके द्वारा लिखे गए डेटा के आकार को 10 गुना बढ़ा देगा। इसके बजाय एक अंतर छवि अधिक कुशल होनी चाहिए क्योंकि यह एक ही स्थान पर फिर से लिखे गए डेटा को अधिलेखित कर देना चाहिए।
अधिकतम

1
@zespri यह समस्या हाइपर- V सहित स्नैपशॉट तकनीक के उपयोग से सभी वर्चुअलाइजेशन प्लेटफार्मों को प्रभावित करती है।
अंसार विचरर्स

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

2
@AnsgarWiechers यह उत्तर निश्चित रूप से गलत है। जुड़ा हुआ लेख ( kb.vmware.com/s/article/1015180 ) बताता है; "चाइल्ड डिस्क, जो एक स्नैपशॉट के साथ बनाया गया है, एक विरल डिस्क है। स्पार्स डिस्क कॉपी-ऑन-राइट (COW) तंत्र को नियोजित करता है, जिसमें वर्चुअल डिस्क में स्थानों में कोई डेटा नहीं होता है, जब तक कि वहां एक राइट द्वारा कॉपी नहीं किया जाता है।" के बाद; "यदि कोई वर्चुअल मशीन स्नैपशॉट से बंद हो रही है, तो यह एक बच्चे या विरल डिस्क में परिवर्तन कर रही है। इस डिस्क पर किए गए अधिक लिखने के संचालन, बड़ा यह बढ़ता है, आधार डिस्क के आकार की एक ऊपरी सीमा के साथ साथ प्लस ओवरहेड की छोटी राशि। "
स्टीव 365

5

जब आप VM पर स्नैपशॉट बनाते हैं तो यह डेल्टा डिस्क बनाता है और ऑपरेटिंग सिस्टम मूल VMDK के बजाय इस फ़ाइल को लिखता है। इस फ़ाइल को VM_Name-Delta.VMDK कहा जाता है, लेकिन अगर सिस्टम को स्नैपशॉट से पहले किसी फ़ाइल को संदर्भित करने की आवश्यकता होती है, तो यह VM_Name.VMDK को इस ऑपरेशन के I / O को बढ़ाता है। यदि आप कई स्नैपशॉट लेते हैं, तो आप अंतिम स्नैपशॉट की मूल डेल्टा फ़ाइल का उल्लेख कर रहे हैं, मूल VMDK नहीं है जिससे इस प्रकार I / O बढ़ रहा है।

उदाहरण।

ओएस ---> स्नैपशॉट (फ़ाइल एक बनाया गया) ---> (स्नैपशॉट फ़ाइल बी बनाया गया)

अगर मुझे फ़ाइल A को संदर्भित करने की आवश्यकता है तो इसे खोजने के लिए 3 VMDK के माध्यम से देखना होगा।

इसके अलावा यदि आप स्नैपशॉटिंग के समय वीएम की मेमोरी स्थिति को शामिल करते हैं तो यह फिर से एक डेल्टा फ़ाइल है और यदि आवश्यक हो तो मूल मेमोरी फ़ाइलों को संदर्भित करता है।

एक फ़ाइल बनाई गई है यह स्नैपशॉट प्रक्रिया के समय बनाई गई सभी फ़ाइलों को सूचीबद्ध करता है


2

जहां तक ​​मैं बता सकता हूं, VMWare अपने स्नैपशॉट को लागू करने के लिए कॉपी-ऑन-राइट लॉजिक का उपयोग कर रहा है। इसलिए, जब आप एक बनाते हैं, तो आपके वीएम पर किया जाने वाला हर ऑपरेशन (जैसे रनटाइम में लगभग सब कुछ) वीएम को कॉपी करने का एक छोटा कारण होगा जब तक कि पूरी चीज अनिवार्य रूप से क्लोन नहीं हो जाती।

इसके साथ एक और प्रदर्शन मुद्दा यह है कि अगर वर्किंग कॉपी में डेटा नहीं है (क्योंकि कॉपी में बदलाव के लिए कुछ भी नहीं बदला गया है) तो रीड को मूल कॉपी पर कैस्केड करना होगा।

यदि आप स्नैपशॉट को बैकअप के रूप में रखना चाहते हैं, लेकिन एक छोटे प्रदर्शन में कमी को बर्दाश्त नहीं कर सकते हैं, तो इसके बजाय VM को क्लोन करने पर विचार करें।


-2

से उच्च सह स्टॉप (% CSTP) आभासी मशीन स्नैपशॉट गतिविधियों के दौरान देखा मूल्यों :

चूंकि वर्चुअल मशीन पर स्नैपशॉट का आकार और संख्या बढ़ जाती है, इसलिए vmkernel के भीतर स्टोरेज कमांड ऑपरेशन की संख्या बढ़ जाती है। वर्चुअल मशीन अतिथि OS द्वारा जारी किए गए प्रत्येक स्टोरेज कमांड के लिए, डेटा के सबसे उपयुक्त ब्लॉक को पढ़ने के लिए संपूर्ण स्नैपशॉट श्रृंखला को पार करने के लिए कई स्टोरेज कमांड ऑपरेशन आवश्यक हो सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.