/ देव / vda और / देव / sda में क्या अंतर है


16

मैं एक प्रमाणन की तैयारी कर रहा हूं और स्थानीय रूप से स्थापित CentOS7 (वर्चुअलबॉक्स) और क्लाउड-आधारित सेवा में एक और उदाहरण है।

स्थानीय प्रणाली पर मेरे पास है /dev/sdaऔर क्लाउड-आधारित पर मेरे पास ए है /dev/vda

अब मैं सोच रहा हूँ कि इस अंतर का क्या मतलब है? क्या इस उपकरण के नामकरण के लिए एक मानक (प्रलेखन?) है, और अलग-अलग नाम क्या हैं?

संपादित करें:

मुझे लगता है कि नामकरण को समझने के लिए यह दस्तावेज़ बहुत उपयोगी है: https://www.kernel.org/doc/Documentation/admin-guide/devices.txt

8 block SCSI disk devices (0-15)
      0 = /dev/sda      First SCSI disk whole disk
     16 = /dev/sdb      Second SCSI disk whole disk
     32 = /dev/sdc      Third SCSI disk whole disk
        ...
    240 = /dev/sdp      Sixteenth SCSI disk whole disk

लेकिन मुझे / देव / वडा के बारे में कुछ जानकारी नहीं मिली।


जवाबों:


15

पूर्ण वर्चुअलाइजेशन बनाम Paravirtualization

/ dev / sda आईडीई / SATA / SCSI प्रकार के पहले पता चला डिस्क है। इस मामले में, हाइपरविजर द्वारा उत्सर्जित (पूर्ण वर्चुअलाइज्ड)।

/ dev / vda पहले पता चला paravirtualizated डिस्क ड्राइवर है। यदि यह दोनों एक ही डिस्क के लिए संदर्भित हैं, तो यह emd sdX उपकरणों की तुलना में अधिक तेज़ है, क्योंकि एक उत्सर्जित ड्राइव की तुलना में इसके संचालन में कम ओवरहेड हैं।

संदर्भ:


से http://www.ibm.com/developerworks/library/l-virtio/ :

पूर्ण वर्चुअलाइजेशन बनाम paravirtualization

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

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

से http://www.carfax.org.uk/docs/qemu-virtio :

परवरिश उपकरण क्या हैं?

वर्चुअल मशीन चलाते समय, वर्चुअल वातावरण में डिवाइस को अतिथि ओएस - डिस्क और नेटवर्क को मुख्य दो (प्लस वीडियो, यूएसबी, टाइमर, और अन्य) होने के लिए प्रस्तुत करना पड़ता है। प्रभावी रूप से, यह वह हार्डवेयर है जिसे VM अतिथि देखता है।

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

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


3
विशेष रूप से, /dev/vd*डिवाइस virtioparavirtual डिस्क ड्राइवर का उपयोग कर रहे हैं ।
माइकल हैम्पटन

@Michael Hampton मैंने इस जानकारी के साथ अपने उत्तर में सुधार किया है! धन्यवाद!
थियागो राइडर ऑगस्टो

4
इसके अलावा, virtio-scsi ड्राइवर, virtio-blk ड्राइवर की तुलना में तेज़ है, जो sd * द्वारा ड्राइव को संबोधित करता है। तो vd * हमेशा तेज नहीं होता है यह सब दर्शाता है कि एक ब्लॉक डिवाइस है जो एक paravirtualized ड्राइवर द्वारा सीधे संभाला जाता है, बजाय एक हार्डवेयर इम्यूलेशन या परोक्ष रूप से एक paravirtualized नियंत्रक द्वारा नियंत्रित ब्लॉक डिवाइस के द्वारा।
स्पूलर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.