USB ड्राइव का मानचित्रण केवीएम वर्चुअल मशीन से सीधा करने के लिए?


9

मैं libvirt का उपयोग करके KVM वर्चुअल मशीन को मौजूदा ड्राइव (USB ड्राइव) की मैपिंग के बारे में जानकारी खोज रहा हूं। मैं http://libvirt.org/formatstorage.html#StoragePoolTarget पर जा रहा हूं । लेकिन मैं यह नहीं समझ पाया कि वीएम को मौजूदा डिवाइस को एक्सपोज करने के लिए किन विकल्पों की जरूरत है (या यदि यह संभव भी है)।

मैं जो भी पढ़ रहा हूं, वह फ़ाइल आधारित छवि को संग्रहीत करने के लिए मशीन पर एक फ़ोल्डर में targetएक pathतत्व की अपेक्षा कर रहा है । क्या pathकोई उपकरण हो सकता है जैसे /dev/sdc1? एक साथ typeकी raw?

जवाबों:


9

देखें 'USB passthrough | एडुबंटु विकी से इस पेज के लिबवर्ट अनुभाग का उपयोग करना । अधिक जानकारी यहाँ और यहाँ

यदि आप कभी भी प्लग इन को ड्राइव / अनप्लग करने की योजना नहीं बनाते हैं, जबकि अतिथि चल रहा है तो आप भी एक अनुभाग जोड़ने की कोशिश कर सकते हैं

<disk type='block' device='disk'>
  <driver name='qemu' type='raw'/>
  <source dev='/dev/sdb'/>
  <target dev='sdb' bus='scsi'/>
</disk>

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

यदि लिंक गायब हो जाता है, तो यहां लिंक किए गए डॉक्स का प्रासंगिक USB पॉटस्ट्रॉह अनुभाग है:

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

पहले से मौजूद vm को निकाल दिया

virsh start maverick2

एक USB ड्राइव में प्लग किया गया , जिसने मुझे
पता lsusbदिया, जिससे मुझे पता चला
{{ Bus 002 Device 006: ID 1058:1023 Western Digital Technologies, Inc. }}}

डिवाइस जानकारी के साथ एक xml फ़ाइल परिभाषित:

<hostdev mode='subsystem' type='usb'> <source> <vendor id='0x1058'/> <product id='0x1023'/> </source> </hostdev>
वीएम को यूएसबी ड्राइव पास किया

sudo virsh attach-device maverick2 /tmp/a.xml

इस तरह से यह एपरमोर सक्षम के साथ काम नहीं करता है। आपको या तो अप्पर्मर को निष्क्रिय करना होगा, या जोड़ना होगा

/dev/bus/usb/*/[0-9]* rw,

या तो /etc/apparmor.d/libvirt-qemu(जो सभी मेहमानों को भौतिक मेजबान उपकरणों तक पूर्ण पहुंच प्रदान करता है) या को

/etc/apparmor.d/libvirt/libvirt-<uuid>

जो केवल एक अतिथि को एक्सेस देगा। (उस सीधे होने में मदद के लिए jdstrand का धन्यवाद।)


1
धन्यवाद, वह पृष्ठ बहुत उपयोगी था। मैं इसे काम कर रहा था। लेकिन एक विक्रेता और उत्पाद के बजाय, मैंने addressतत्व का उपयोग किया । विक्रेता और उत्पाद का उपयोग करते समय मैं 2 USB ड्राइव माउंट नहीं कर सकता था जो समान थे। यह केवल पहले वाले से होकर गुजरेगा।
एंडी शिन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.