Computer >> कंप्यूटर ट्यूटोरियल >  >> सॉफ्टवेयर >> आभासी मशीन

KVM वर्चुअलाइजेशन में मास्टर करें: कर्नेल-बेस्ड वर्चुअल मशीनों के लिए व्यापक गाइड

अगर आप मेरा वर्चुअलाइजेशन सेक्शन पढ़ रहे हैं, तो आप जानते हैं कि मेरा फोकस अब तक ज्यादातर VMware और VirtualBox पर रहा है, क्लाउड स्टफ और इमेज रीमास्टरिंग के एक तड़के के साथ। खैर, शाखा निकालने का समय। आज, मैं KVM के साथ ट्यूटोरियल के एक पूरे नए युग को औपचारिक रूप से शुरू करना चाहूंगा। बाद में, Xen और अन्य अजीब जानवर होंगे, लेकिन अभी के लिए, हमारा विषय KVM है।

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

KVM वर्चुअलाइजेशन में मास्टर करें: कर्नेल-बेस्ड वर्चुअल मशीनों के लिए व्यापक गाइड

KVM - शब्दावली

आइए KVM कैसे काम करता है इसका एक बहुत संक्षिप्त अवलोकन शुरू करें। कुछ भी बड़ा नहीं, बस एक छोटा सा परिचय ताकि आप बुनियादी शब्दावली जान सकें। चिंता न करें, यह सब बहुत सरल होगा जल्द ही।

KVM आधुनिक Intel और AMD प्रोसेसर पर CPU वर्चुअलाइजेशन तकनीक एक्सटेंशन का उपयोग करके कार्य करता है, जिन्हें Intel-VT और AMD-V के नाम से जाना जाता है। मेमोरी में लोड किए गए एक कर्नेल मॉड्यूल का उपयोग करके, KVM प्रोसेसर का उपयोग करता है और, संशोधित QEMU पर आधारित एक उपयोगकर्ता-मोड ड्राइवर के माध्यम से, यह एक हार्डवेयर लेयर का अनुकरण करता है जिस पर वर्चुअल मशीन बनाई और चलाई जा सकती हैं। KVM को CPU एक्सटेंशन के बिना भी निष्पादित किया जा सकता है, लेकिन तब, यह QEMU का उपयोग करके शुद्ध अनुकरण मोड में चलेगा, जिसके परिणामस्वरूप महत्वपूर्ण प्रदर्शन दंड होगा।

KVM को या तो एक ग्राफिकल प्रबंधन टूल के माध्यम से प्रबंधित किया जा सकता है, VMware उत्पादों या VirtualBox के समान, या कई विधियों का उपयोग करके कमांड लाइन के माध्यम से।

सबसे लोकप्रिय GUI Virtual Machine Manager (VMM) कहलाता है, जिसे RedHat द्वारा विकसित किया गया है। टूल को इसके सामान्य पैकेज नाम virt-manager से भी जाना जाता है। यह कई सहायक टूल्स के साथ आता है, जिसमें virt-install, virt-clone, virt-image, और virt-viewer शामिल हैं, जिनका उपयोग क्रमशः वर्चुअल मशीन को प्रोविजन, क्लोन, इंस्टॉल और देखने के लिए किया जाता है। VMM Xen मशीनों का भी समर्थन करता है।

सामान्य KVM कमांड इंटरफेस virsh द्वारा प्रदान किया जाता है। विशेष रूप से, आप वर्चुअल मशीन बनाने के लिए virt-install जैसे सहायक टूल्स का उपयोग कर सकते हैं। Ubuntu पर, एक विशेष ubuntu-vm-builder टूल है जिसका उपयोग Ubuntu बिल्ड को प्रोविजन करने के लिए किया जा सकता है, जिसे Canonical द्वारा विकसित किया गया है।

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

अधिक जानकारी के लिए, कृपया इन पृष्ठों से परामर्श करें:

The Kernel Virtual Machine - Community Ubuntu Documentation

KVM tutorials on howtoforge.com

KVM/Virsh - Community Ubuntu Documentation

ठीक है, वह चरण 1 था।

KVM - पेशेवरों और विपक्ष

क्या आपको KVM का उपयोग करना चाहिए? खैर, यह इस बात पर निर्भर करता है कि आप क्या हासिल करना चाहते हैं।

यदि आप एक आकस्मिक घरेलू उपयोगकर्ता हैं, एक वर्चुअलाइजेशन शौकिया या एक मध्यवर्ती गीक, तो KVM शुरू करने के लिए थोड़ा मुश्किल हो सकता है। यह मुख्य रूप से एक कमांड-लाइन टूल है, VMware और VirtualBox उत्पादों जितना सहज या अनुकूल नहीं। KVM प्रतिस्पर्धा के मुकाबले कई साल पीछे महसूस होता है, GUI प्रबंधन के संदर्भ में, हालांकि जब डिलीवर करने की बात आती है तो यह उतना ही शक्तिशाली है। वास्तव में, क्योंकि इसे कमांड-लाइन टूल के रूप में उपयोग करने के लिए डिज़ाइन किया गया है, आप लंबे समय में बेहतर उत्पादकता और अधिक नियंत्रण का आनंद लेते हैं। जैसे, KVM व्यावसायिक वातावरण में सबसे अधिक समझ में आता है।

इसके अलावा, यदि आपका CPU वर्चुअलाइजेशन का समर्थन नहीं करता है, तो KVM आपके लिए समय की बड़ी बर्बादी होगी, क्योंकि आप अत्यंत धीमे और अकुशल अनुकरण मोड में चलेंगे। KVM को VirtualBox के साथ संघर्ष करने के लिए भी जाना जाता है, लेकिन इसके बारे में एक अलग ट्यूटोरियल में।

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

इसे सारांशित करने के लिए, KVM आपके लिए अच्छा है यदि आप एक मुफ्त आधुनिक वर्चुअलाइजेशन समाधान की तलाश में हैं जिसमें असीमित उपयोग मोड हो और बिना अतिरिक्त लाइसेंसिंग शुल्क या फीचर टियरिंग के, एक शक्तिशाली कमांड लाइन इंटरफेस हो और आप अपने हाथ गंदे करने से डरते नहीं हैं। KVM आपके लिए अच्छा नहीं है यदि आपके CPU में वर्चुअलाइजेशन एक्सटेंशन नहीं हैं, आप स्क्रिप्ट लिखने से डरते हैं, कोड में डब करने की कोई इच्छा नहीं है, और VMware Server, ESXi या VirtualBox जैसे प्रशासनिक रूप से सरल समाधान पसंद करते हैं।

सब ठीक है, चलो शुरू करते हैं।

टेस्ट प्लेटफॉर्म

आप KVM को लगभग किसी भी लिनक्स डिस्ट्रो में उपयोग कर सकते हैं। सामान्य तौर पर, RedHat फ्लेवर KVM को पसंद करते हैं। RHEL ऑपरेटिंग सिस्टम में KVM इनेबल्ड के साथ शिप करता है, इसलिए आप इसे CentOS, Scientific Linux, या Fedora जैसे RedHat-आधारित डिस्ट्रो में भी पा सकते हैं।

चूंकि मैं घर पर ज्यादातर Ubuntu चला रहा हूं, मैंने Ubuntu में टेस्ट करने का फैसला किया, जो मेरे बल्कि ब्रांड-न्यूइश HP लैपटॉप पर इंस्टॉल है, जिसमें एक रेवी i5 प्रोसेसर है जो वर्चुअलाइजेशन का समर्थन करता है। इस साल के अंत में, मैं अपने लिनक्स-डेडिकेटेड मल्टी-बूट मशीन पर CentOS या Scientific Linux के नवीनतम रिलीज को तैनात करने की योजना बना रहा हूं, इसलिए आप उन डिस्ट्रो के लिए अतिरिक्त ट्यूटोरियल भी देखेंगे। हम वहां Xen पर भी पहुंचेंगे।

यह ट्यूटोरियल दिखाता है कि 64-बिट Ubuntu Lucid, लॉन्ग टर्म रिलीज पर KVM कैसे सेटअप करें। सीक्वल गाइड और हाउ-टू KVM से संबंधित कई अन्य विषयों को कवर करेंगे, जिसमें अन्य वर्चुअलाइजेशन तकनीकों के साथ इसका उपयोग करना और संघर्षों को हल करना, उन्नत प्रबंधन कार्य, स्क्रिप्टिंग, और बहुत कुछ शामिल है।

पूर्वापेक्षाएँ

आपको एक CPU की आवश्यकता है जो वर्चुअलाइजेशन का समर्थन करता है। इसकी जांच इस प्रकार की जा सकती है:

egrep -c '(vmx|svm)' /proc/cpuinfo

यदि आपको एक गैर-शून्य मान मिलता है, तो आप अच्छे हैं। लेकिन... आपको यह भी जांचना होगा कि BIOS में वर्चुअलाइजेशन तकनीक सक्षम है। वास्तव में, फीचर सक्षम करने के बाद, परिवर्तन को प्रभावी होने के लिए मशीन को कोल्ड पावर-साइकिल करना होगा।

एक बार यह हो जाने के बाद, अपने ऑपरेटिंग सिस्टम में बूट करें और KVM इंस्टॉल करें।

जांचने के लिए, कृपया kvm-ok चलाएं:

KVM वर्चुअलाइजेशन में मास्टर करें: कर्नेल-बेस्ड वर्चुअल मशीनों के लिए व्यापक गाइड

KVM डाउनलोड और इंस्टॉल करें

KVM इंस्टॉल करने के लिए, कृपया ये पैकेज प्राप्त करें (apt कमांड के लिए सही):

apt-get install qemu-kvm libvirt-bin

वैकल्पिक रूप से, आप इन्हें इंस्टॉल कर सकते हैं - सबसे अधिक अनुशंसित:

apt-get install bridge-utils virt-manager python-virtinst

P.S. पैकेज नाम वितरण के बीच भिन्न होंगे। उदाहरण के लिए, virt-install python-virt-install या python-virtinst या यहां तक कि virt-install के रूप में ब्रांडेड आ सकता है। virt-clone, virt-image और virt-viewer के लिए निर्भरता स्वचालित रूप से हल हो जानी चाहिए।

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

अधिकांश ट्यूटोरियल इस तथ्य का भी उल्लेख करते हैं कि अधिकांश वायरलेस नेटवर्क इंटरफेस ब्रिजिंग का समर्थन नहीं करते हैं। यह मामला हो सकता है, लेकिन मेरे सभी टेस्टिंग में, मैं अपने वायरलेस एडाप्टर को सफलतापूर्वक ब्रिज करने में सक्षम था, इसलिए अपनी उम्मीदें ऊंची रखें।

VMM (virt-manager) अत्यधिक अनुशंसित है। इसी तरह, आप सभी सहायक टूल्स चाहते हैं, जिसमें virt-viewer, virt-install, virt-image, और virt-clone शामिल हैं।

अंत में, आप ubuntu-vm-builder का विकल्प भी चुन सकते हैं:

apt-get install ubuntu-vm-builder

आपको ढेर सारे डिपेंडेंसी ऑटो-रिजॉल्व्ड भी मिलेंगे, इसलिए आपके डाउनलोड में थोड़ा समय लग सकता है। P.S. RedHat पर, yum install उपयोग करें। SUSE पर, zypper install उपयोग करें।

VirtualBox के साथ संघर्ष

फिर से, अधिकांश ट्यूटोरियल क्या कहते हैं इसके विपरीत: आप एक ही होस्ट पर KVM और VirtualBox दोनों इंस्टॉल कर सकते हैं। आप उन्हें एक ही समय में दोनों चल रहे नहीं पा सकते। दूसरे शब्दों में, एक या दूसरे कर्नेल मॉड्यूल को मेमोरी से अनलोड करने की आवश्यकता है। लेकिन जल्दबाजी करने का कोई कारण नहीं है। कोशिश करें, देखें कि यह आपके लिए काम करता है या नहीं, और यदि नहीं, तो केवल तभी सुधारात्मक कार्रवाई करें।

लेकिन यह इन-विवो किया जा सकता है, इसलिए वहां कोई चिंता नहीं। आपको रीबूट या ऐसा कुछ भी कठोर करने की आवश्यकता नहीं होगी। मैं आपको एक अलग ट्यूटोरियल दिखाऊंगा जो इस मामले को संभालता है। वास्तव में, मेरे पास टेस्ट होस्ट पर दोनों इंस्टॉल और चल रहे हैं।

KVM का उपयोग करना

अब, वास्तव में मजेदार भाग। हम VMM से शुरू करेंगे, क्योंकि यह एक GUI टूल है और यह वही है जिससे ज्यादातर लोग शुरू करेंगे और करना चाहिए। सभी व्यावहारिक उद्देश्यों के लिए, यह आपके द्वारा ज्ञात अन्य टूल्स के समान है, जैसे VMware कंसोल या शायद VirtualBox।

वर्चुअल मशीन मैनेजर (VMM)

आइए एक दौरा करें।

पहली बार जब आप प्रोग्राम लॉन्च करते हैं, तो यह दो श्रेणियां दिखाएगा, दोनों कनेक्टेड नहीं। ये आपके लोकलहोस्ट KVM मॉड्यूल को संदर्भित करते हैं, अभी उपयोग में नहीं। उपयोग करने के लिए, राइट-क्लिक करें और कनेक्ट चुनें।

नए कनेक्शन जोड़ने के लिए, File > Add Connection पर क्लिक करें। यह एक विंडो खोलेगा जो आपको हाइपरवाइजर प्रकार और कनेक्शन प्रकार निर्दिष्ट करने देती है। VMM स्थानीय और दूरस्थ कनेक्शन दोनों का उपयोग कर सकता है, जिसमें QEMU/KVM और Xen शामिल हैं। आप सभी प्रकार की प्रमाणीकरण विधियों का उपयोग करके कनेक्ट कर सकते हैं।

आप ऑटोकनेक्ट भी कर सकते हैं, जिसका अर्थ है कि अगली बार जब आप VMM फायर करेंगे, तो ये कनेक्शन आपके लिए तैयार होंगे। यह VMware Server के समान है जब आप प्रोग्राम शुरू करते हैं। केवल संदर्भ के लिए:

कर्नेल बनाम यूजरमोड

आप पूछ रहे होंगे कि सामान्य/डिफॉल्ट और यूजरमोड में क्या अंतर है? खैर, यूजरमोड आपको प्रशासनिक विशेषाधिकारों के बिना चलाने की अनुमति देता है, लेकिन आपकी नेटवर्क क्षमता सीमित होगी। ठीक है, चलिए आगे बढ़ते हैं।

VMM अवलोकन, जारी

आइए वर्चुअल मशीन बनाने से पहले अन्य कार्यों को देखें।

नेटवर्क कार्यक्षमता की Host Details के तहत समीक्षा या परिवर्तन किया जा सकता है। हमारे पास एक अलग ट्यूटोरियल होगा जो सिखाता है कि KVM नेटवर्क के साथ कैसे काम करें। और हम ब्रिज यूटिलिटीज भी सेटअप करेंगे, तो चिंता न करें।

इसी तरह, आप स्टोरेज सेटिंग्स बदल सकते हैं। एक समर्पित गाइड होगा, मैं वादा करता हूँ:

प्राथमिकताएं बदलें

VMM में कुछ विकल्प हैं जिन्हें आप इसे स्मार्ट दिखने और व्यवहार करने के लिए ट्वीक कर सकते हैं। आप सिस्टम ट्रे आइकन इनेबल कर सकते हैं, एक स्टैटिस्टिक्स पोलिंग अंतराल सेट कर सकते हैं, डिस्क और नेटवर्क मेट्रिक्स के लिए पोलिंग इनेबल कर सकते हैं, जो डिफॉल्ट रूप से डिसेबल हैं, कंसोल कीबोर्ड ग्रैबिंग, कंसोल स्केलिंग, ऑडियो विकल्प कॉन्फिगर कर सकते हैं, और मशीन गतिविधियों के लिए पुष्टिकरण विंडो सेट कर सकते हैं।

KVM वर्चुअलाइजेशन में मास्टर करें: कर्नेल-बेस्ड वर्चुअल मशीनों के लिए व्यापक गाइड

KVM वर्चुअलाइजेशन में मास्टर करें: कर्नेल-बेस्ड वर्चुअल मशीनों के लिए व्यापक गाइड

बाद में, ये सभी हमें हमारे वर्चुअल मशीन मेट्रिक्स को अधिक विस्तार से और बेहतर नियंत्रण के साथ देखने की अनुमति देंगे। उदाहरण के लिए, एक Ubuntu गेस्ट CPU, डिस्क I/O और नेटवर्क I/O दिखा रहा है:

यहां सिस्टम ट्रे आइकन है:

अंत में, हम एक नई वर्चुअल मशीन बनाने के लिए तैयार हैं।

वर्चुअल मशीन बनाएं

हम इसे VMM या कमांड लाइन का उपयोग करके कर सकते हैं। हम GUI से शुरू करेंगे। पहला चरण काफी सहज है। नाम और इंस्टॉल मीडिया स्थान दर्ज करें। आप ISO इमेज या CD/DVD के रूप में स्थानीय स्टोरेज, HTTP या FTP सर्वर, NFS क्षेत्र, या PXE का उपयोग कर सकते हैं।

हम स्थानीय इंस्टॉल मीडिया का उपयोग करेंगे। अगला, एक भौतिक डिवाइस या एक इमेज चुनें। हमारे मामले में, हम एक ISO का उपयोग करेंगे। फिर, OS प्रकार और संस्करण चुनें। यह सटीक नहीं होना चाहिए, लेकिन एक शिक्षित अनुमान अच्छा है। यह अतिरिक्त वर्चुअल मशीन अनुकूलन की अनुमति देता है।

रैम और CPU आवंटित करें।

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

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

चरण 5 एक सारांश है, कुछ उन्नत विकल्पों के साथ। आप अपने नेटवर्क प्रकार को बदल सकते हैं, एक निश्चित MAC पता सेट कर सकते हैं, वर्चुअलाइजेशन प्रकार चुन सकते हैं, और लक्ष्य आर्किटेक्चर। यदि आप यूजरमोड में चल रहे हैं, तो आपके नेटवर्क विकल्प सीमित होंगे। यदि आप ब्रिज यूटिलिटीज का उपयोग नहीं कर रहे हैं, तो आप अपने इंटरफेस को ब्रिज नहीं कर पाएंगे। अंत में, यदि आपके पास CPU वर्चुअलाइजेशन एक्सटेंशन नहीं हैं, तो Virt Type: फ़ील्ड KVM के बजाय QEMU पढ़ेगा। हम इसका एक उदाहरण बाद में देखेंगे, जब हम अनुकरण मोड में चलाने की प्रमुख कमियों पर चर्चा करेंगे। अभी के लिए, यहां एक सामान्य Ubuntu वर्चुअल मशीन सेटअप जैसा दिखता है:

हमारी मशीन उपयोग के लिए तैयार है।

वर्चुअल मशीन विकल्प

VMM की तरह, VM कंसोल में कुछ दिलचस्प विकल्प हैं। आप अपने गेस्ट को सिग्नल भेज सकते हैं, वर्चुअल कंसोल स्विच कर सकते हैं, फोर्स रीबूट और पावर ऑफ, क्लोन, माइग्रेट, सेव, स्क्रीनशॉट ले सकते हैं, और बहुत कुछ। फिर से, प्रतिस्पर्धा के समान।

क्लोन और माइग्रेट विकल्पों के लिए स्क्रीनशॉट टीज़र की एक जोड़ी यहां है। सड़क के नीचे, हमारे पास विस्तृत ट्यूटोरियल होंगे, जो GUI और CLI कार्यक्षमता दोनों पर ध्यान केंद्रित करेंगे।

वर्चुअल मशीन चल रही है

मजेदार भाग। यहां कुछ अच्छे स्क्रीनशॉट का एक मुट्ठी भर है ...

आइए Ubuntu 10.10 Maverick, 32-बिट संस्करण, बूट मेनू से शुरू करें:

Puppy Linux, एक सुंदर डेस्कटॉप के खिलाफ दिखाया गया:

Ubuntu चल रहा है, NAT-एड, कोई चिंता नहीं। ध्यान दें कि CPU उपयोग बहुत कम है। महत्वपूर्ण, बाद में ध्यान दें जब हम अनुकरण-केवल मोड पर चर्चा करते हैं। मुझे परेशान कर रहा हूं, लेकिन कृपया मेरी अल्ट्रा-टर्बो शिक्षा के साथ सहन करें।

आप कंसोल विंडो को गेस्ट में फिट करने के लिए स्केल भी कर सकते हैं; यह व्यूअर मेनू में उपलब्ध एक और विकल्प है। फिर, आप कंसोल को ऑटोस्केल करने के लिए प्राथमिकताओं का उपयोग भी कर सकते हैं। यहां Puppy और Ubuntu, साथ-साथ:

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

अंततः, आप एक मशीन और उससे जुड़ी फाइलों को भी हटा सकते हैं:

अब जब हम बुनियादी उपयोग के साथ सहज हैं, आइए कुछ कमांड लाइन करें।

कमांड लाइन

अब, आइए बदनाम कमांड लाइन देखें। उदाहरण के लिए, virsh का उपयोग करके सभी उपलब्ध वर्चुअल मशीनों को सूचीबद्ध करना।

virsh 'list --all'

वर्चुअल मशीन को बनाने और चलाने के लिए virt-install का उपयोग करके कमांड का क्रम यहां है। कृपया ध्यान दें कि मैं KVM गुरु नहीं हूं। आपके पास मैन पेज में टेम्पलेट कोड है, और आप ऑनलाइन एक अरब उदाहरण पा सकते हैं।

वास्तविक कमांड है:

virt-install --connect qemu:///system -n puppy -r 512 -f puppy.img -c lupu-520.iso --vnc --noautoconsole --os-type linux --accelerate --network=network:default

तो हमारे पास यहां क्या है?

--connect qemu:///system उपयोग किए गए हाइपरवाइजर प्रकार को परिभाषित करता है। system का उपयोग तब किया जाता है जब बेयर मेटल कर्नेल पर रूट के रूप में चल रहा हो। session का उपयोग गैर-रूट उपयोगकर्ताओं के लिए किया जाता है। आप VMM में अंतर को याद कर सकते हैं, Usermode के साथ, राइट-क्लिक कनेक्ट, आपको विचार मिल गया। यह Xen के लिए भी काम करता है।

-n puppy एक अद्वितीय वर्चुअल मशीन नाम है। आप virsh का उपयोग करके गेस्ट का नाम बदल सकते हैं या हटा सकते हैं यदि आप अपनी पसंद से संतुष्ट नहीं हैं।

-r 512 रैम निर्दिष्ट करता है।

-f एक डिस्क फाइल निर्दिष्ट करता है। इस मामले में, मैं एक puppy.img डिस्क इमेज का उपयोग कर रहा हूं जिसे मैंने dd कमांड का उपयोग करके बनाया है। स्पेस बचाने के लिए, मैंने इमेज को एक स्पार्स फाइल के रूप में बनाया। आप मेरे दूसरे कूल लिनक्स हैक्स लेख में स्पार्स फाइल बनाने का तरीका सीख सकते हैं।

-c CD-ROM निर्दिष्ट करता है, या तो एक भौतिक डिवाइस या एक ISO इमेज।

--vnc एक गेस्ट कंसोल सेटअप करता है और इसे VNC सर्वर के रूप में निर्यात करता है। --noautoconnect वर्चुअल मशीन के पावर ऑन होने पर कंसोल को स्वचालित रूप से नहीं खोलेगा।

--os-type गेस्ट के लिए ऑपरेटिंग सिस्टम निर्दिष्ट करता है।

--accelerate KVM को गेस्ट सिस्टम के प्रदर्शन को तेज करने वाले अनुकूलन कार्यों का उपयोग करने की अनुमति देता है, यदि संभव हो।

--network नेटवर्क प्रकार को परिभाषित करता है। हम डिफॉल्ट कनेक्शन का उपयोग कर रहे हैं।

हम कई अन्य फ़ंक्शन का उपयोग कर सकते थे, जैसे कोर की संख्या सेट करना या मशीन को CPU कोर से बांधना, NIC के लिए एक निश्चित MAC पता सेटअप करना, कोई स्टोरेज नहीं उपयोग करना, कीबोर्ड मैप बदलना, और बहुत कुछ।

ये सभी मैन पेज में सूचीबद्ध हैं। वास्तव में सहज नहीं, लेकिन उपयोग के साथ आसान हो जाता है। वास्तव में, लर्निंग कर्व उतना ऊंचा नहीं है, प्रारंभिक धारणा के बावजूद। एक बार जब आप virt-install का हैंग प्राप्त कर लेते हैं, तो आप अन्य कमांड के साथ फिडल कर सकते हैं, virsh के साथ मशीन शुरू और बंद कर सकते हैं, और बॉब्स योर अंकल।

अन्य चीजें

कुछ और विवरण उल्लेख के लायक।

शुद्ध अनुकरण मोड में चलना (मत करो)

मैंने आपको बताया कि यह पूरी तरह से अक्षम है। अब, एक प्रमाण। उदाहरण के लिए, Host Details Overview पर एक नज़र डालें। परफॉरमेंस ग्राफ में, CPU उपयोग वर्चुअल मशीन के लिए उपलब्ध संसाधनों का अधिकतम 100% है, इस मामले में एक कोर, जो 25% उपयोग में तब्दील होता है। लगभग DOS जैसा। इसका मतलब है कि चार वर्चुअल मशीन, चाहे वे कितनी भी छोटी या भूखी हों, चार-कोर होस्ट को अपंग कर देंगी।

इसके अतिरिक्त, प्रदर्शन भयानक होगा। यदि एक Ubuntu गेस्ट आंतरिक 7,200rpm डिस्क पर लोड इमेज के साथ Intel-VT एक्सटेंशन सक्षम होने पर चलाने में लगभग एक मिनट लेता है, तो अनुकरण मोड में ऐसा करने में लगभग 20 मिनट लगते हैं। मुझे लगता है कि यह QEMU/KVM का अन्य समाधानों की तुलना में एक नकारात्मक पहलू है, जो अभी भी CPU एक्सटेंशन के बिना भी काफी अच्छा प्रदर्शन प्रदान करते हैं।

अधिक अच्छी रीडिंग

मैं howtoforge.com पर KVM श्रृंखला की अत्यधिक अनुशंसा करता हूं, जिसे ऊपर लिंक किया गया है।

फिर, आपको इन्हें भी पढ़ना चाहिए:

Discover the Linux Kernel Virtual Machine

KVM management tools

निष्कर्ष

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

बहुत सारे सीक्वल होने जा रहे हैं, जो उन्नत स्टोरेज और नेटवर्किंग कॉन्फिगरेशन को कवर करेंगे, जिसमें ब्रिज्ड नेटवर्किंग शामिल है, वर्चुअल मशीन को कैसे क्लोन और माइग्रेट करें, अन्य वर्चुअलाइजेशन सॉफ्टवेयर के साथ संघर्ष कैसे हल करें और बहुत कुछ। सख्ती से संबंधित नहीं, Xen और ESXi पर भी बहुत सारे लेख होने जा रहे हैं।

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

खैर, मुझे लगता है कि बस यही होगा। आनंद लें!

चीयर्स।

  1. VirtualBox 3.0.0: डेस्कटॉप वर्चुअलाइज़ेशन के लिए एक शक्तिशाली अपग्रेड VirtualBox 3.0.0: डेस्कटॉप वर्चुअलाइज़ेशन के लिए एक शक्तिशाली अपग्रेड

    मेरा पसंदीदा डेस्कटॉप वर्चुअलाइज़ेशन सॉफ़्टवेयर VirtualBox और VMware सर्वर शामिल हैं। मैं उन दोनों को प्यार करता हूँ और उपयोग करता हूँ। वे समग्र रूप से काफी समान हैं, फिर भी उपयोगकर्ता को एक अलग, अद्वितीय सुविधाओं का सबसेट प्रदान करते हैं जो दूसरे उत्पाद में नहीं है, इस प्रकार एक दूसरे को अच्छी तरह

  1. सही वर्चुअलाइजेशन सॉफ़्टवेयर चुनें: विंडोज और लिनक्स के लिए शीर्ष उपकरण सही वर्चुअलाइजेशन सॉफ़्टवेयर चुनें: विंडोज और लिनक्स के लिए शीर्ष उपकरण

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

  1. MojoPac: किसी भी PC के लिए पोर्टेबल डेस्कटॉप वर्चुअलाइजेशन MojoPac: किसी भी PC के लिए पोर्टेबल डेस्कटॉप वर्चुअलाइजेशन

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