वर्चुअलाइज़ेशन

vCPU क्या है?

इसे भी कहा जाता है: virtual CPU
परिभाषा

A vCPU is a virtual processor presented to a guest, backed by scheduling time on a physical core or thread. The decisive question is whether the backing thread is shared with other tenants or reserved. A dedicated vCPU has no other tenant scheduled against it; a shared one competes, producing steal time.

vCPU क्यों मायने रखता है

निर्णायक प्रश्न यह है कि थ्रेड साझा किया गया है या आरक्षित। समर्पित vCPU के खिलाफ कोई अन्य टेनेंट शेड्यूल नहीं होता; साझा किया गया प्रतिस्पर्धा करता है, जिससे स्टील समय उत्पन्न होता है।

व्यवहार में vCPU

जब आप सर्वर चला रहे होते हैं, तो vCPU वही है जो आपका वर्कलोड वास्तव में उपभोग करता है। आप पहले स्टील टाइम देखते हैं: यदि यह लगातार कुछ प्रतिशत से ऊपर है, तो आपके vCPU साझा हैं और अन्य टेनेंट आपके चक्र खा रहे हैं। आप विलंबता को ठीक करने के लिए vCPU संख्या बढ़ा सकते हैं, लेकिन देखें कि समस्या प्रतिस्पर्धा है, कोर नहीं। गलत होने पर आप शेड्यूलिंग समय के लिए भुगतान कर रहे हैं जो आपका नहीं है, और आपका एप्लिकेशन अज्ञात रुकावटों से ग्रस्त है।

लोग vCPU के बारे में क्या गलत समझते हैं

एक सामान्य त्रुटि vCPU को भौतिक कोर की तरह मानना है जिसकी गति की गारंटी है। KVM वातावरण में, प्रत्येक vCPU एक होस्ट थ्रेड द्वारा समर्थित है, और साझा होस्ट पर, वह थ्रेड प्रतिस्पर्धा करता है। लोग मान लेते हैं कि अधिक vCPU हमेशा मदद करते हैं, लेकिन यदि बैकिंग थ्रेड प्रतिस्पर्धी है, तो आपको स्टील टाइम मिलता है। सुधार: vCPU संख्या स्केल करने से पहले स्टील टाइम जांचें।

vCPU — सामान्य प्रश्न

मुझे कितने vCPU चाहिए?

यह आपके वर्कलोड पर निर्भर करता है। व्यस्त वेब सर्वर के लिए, दो से शुरू करें और CPU स्टील टाइम देखें। यदि स्टील कम रहता है और आप अभी भी सीमित हैं, तो vCPU जोड़ें। हमारे KVM प्लान पर, आप कम रिबूट के साथ CPU और RAM बढ़ा सकते हैं, इसलिए आप बिना रीबिल्ड के समायोजित कर सकते हैं।

क्या मैं बाद में vCPU संख्या बदल सकता हूँ?

हाँ, आपके मौजूदा सर्वर पर आप छोटे रीबूट के साथ CPU बढ़ा सकते हैं, और डिस्क ऑनलाइन बढ़ती है। टियर घटाने पर लाइव माइग्रेशन के बजाय रीबिल्ड की आवश्यकता होती है, इसलिए छोटे से शुरू करना और बढ़ाना बेहतर है।

vCPU कहाँ चर्चा में आता है

वर्चुअलाइज़ेशन से अधिक

KVM
KVM लिनक्स कर्नेल में निर्मित पूर्ण हार्डवेयर वर्चुअलाइज़ेशन है, जो प्रत्येक अतिथि को अपना कर्नेल और अन्य टेनेंट से हार्डवेयर-प्रवर्तित अलगाव देता है।
OpenVZ
OpenVZ कंटेनर-आधारित वर्चुअलाइज़ेशन है जिसमें प्रत्येक इंस्टेंस होस्ट कर्नेल साझा करता है, इसलिए अतिथि कर्नेल मॉड्यूल लोड नहीं कर सकते हैं या एक अलग ऑपरेटिंग सिस्टम नहीं चला सकते हैं।
LXC
LXC लिनक्स-नेटिव कंटेनरीकरण है जो नेमस्पेस और cgroups के साथ प्रक्रियाओं को अलग करता है जबकि होस्ट कर्नेल साझा करता है।
हाइपरवाइज़र
हाइपरवाइज़र सॉफ़्टवेयर परत है जो वर्चुअल मशीन बनाता है और चलाता है, उनके बीच भौतिक CPU, मेमोरी और IO आवंटित करता है।
नेस्टेड वर्चुअलाइज़ेशन
नेस्टेड वर्चुअलाइज़ेशन एक वर्चुअल मशीन को स्वयं वर्चुअल मशीन चलाने देता है, अतिथि को प्रोसेसर वर्चुअलाइज़ेशन एक्सटेंशन उजागर करके।
cloud-init
cloud-init पहले बूट पर वर्चुअल मशीन को कॉन्फ़िगर करने का मानक तंत्र है, जो प्लेटफ़ॉर्म द्वारा प्रदान किए गए मेटाडेटा का उपयोग करता है।