Qemu और KVM के बीच संबंध को समझना


17

KVM और Qemu में क्या अंतर है? जैसा कि मैं समझता हूं, उत्तरार्द्ध "उपयोगकर्ता मोड एमुलेशन" प्रदान करने में सक्षम है, जिसका अर्थ है कि कोई व्यक्ति किसी अन्य व्यक्ति के लिए निर्मित एकल निष्पादन योग्य चला सकता है जैसे:

# file busybox-sparc 
busybox-sparc: ELF 32-bit MSB executable, SPARC, version 1 (SYSV), statically linked, stripped
# qemu-sparc busybox-sparc ls
Packages_arm     Packages_i386    arm              busybox-armv6l   busybox-i686     busybox-powerpc  busybox-sparc    busybox-x86_64   i386
# 

..और "कंप्यूटर इम्यूलेशन", जिसका अर्थ है कि न केवल गतिशील बाइनरी अनुवाद किया जाता है, बल्कि पूरे वर्चुअल मशीन का अनुकरण किया जाता है (वीडियो कार्ड, साउंड कार्ड, नेटवर्क कार्ड, ऑप्टिकल डिवाइस आदि)। उदाहरण के लिए:

# qemu-system-sparc64 -hda hda.img -cdrom debian-6.0.5-sparc-CD-1.iso -boot d

जैसा कि मैंने समझा है, Qemu नहीं जानता कि हार्डवेयर वर्चुअलाइजेशन का लाभ कैसे उठाया जाए (उदाहरण के लिए Intel VT-x या AMD-V समाधान x86 आर्किटेक्चर पर) और यह वह जगह है जहां KVM मदद कर सकता है- कोई KVM समर्थन के साथ Qemu शुरू कर सकता है। हालांकि, क्या KVM विशिष्ट हार्डवेयर आर्किटेक्चर पर हार्डवेयर-असिस्टेड वर्चुअलाइजेशन के लिए इम्यूलेशन प्रोग्राम्स तक पहुंच के अलावा कोई अन्य कार्यक्षमता प्रदान करता है? क्या केवल KVM का उपयोग करके पूरे (CPU, वीडियो कार्ड, I / O उपकरणों आदि) वर्चुअल मशीन बनाना संभव है? यदि हाँ, तो इस वर्चुअल मशीन को बनाने और नियंत्रित करने के लिए किन कार्यक्रमों का उपयोग करना चाहिए?


जवाबों:


16

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

KVM का उपयोग आमतौर पर QEMU परियोजना के एक कांटे (एक अधिक सटीक नाम qemu-kvm) के रूप में किया जाता है, हार्डवेयर वर्चुअलाइजेशन के लिए बेहतर समर्थन के साथ । इस दावे की पुष्टि QEMU परियोजना द्वारा की गई थी , लेकिन QEMU के संस्करण 1.3 के अनुसार qemu-kvm की सभी विशेषताओं को मिला दिया गया है

KVM परियोजना के लिए डाउनलोड पृष्ठ उस अंतर को अच्छी तरह बताता है।

एक और बात ध्यान रखने वाली है कि क्यूमू-केवीएम के फायदे को केमू के नए रिलीज में विलय किया जा रहा है, इसलिए मुझे उम्मीद है कि एक दिन दोनों के बीच का अंतर गायब हो जाएगा।


तो, KVM "लिनक्स कर्नेल में वर्चुअलाइजेशन तकनीक" और qemu-kvm दो अलग-अलग चीजें हैं?
dtmland

@dtmland खैर, हाँ। qemu-kvm एक यूजरलैंड सॉफ्टवेयर है जो कर्नेल में KVM का उपयोग करता है।
चुतज

6

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

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