Passthrough (9p) फाइलसिस्टम को libvirt / qemu के साथ पढ़ें / लिखें?


14

मैंने हाल ही में KVM / QEMU / libvirt के हाल के संस्करणों में passthrough filesystems के समर्थन के साथ प्रयोग शुरू किया है। फाइल सिस्टम को रीड एक्सेस के लिए उपलब्ध कराने से "बस काम" हुआ है, लेकिन मैं थोड़ा हैरान हूं कि लिखने की पहुंच कैसे काम करने वाली है। अतिथि में फाइल सिस्टम के बढ़ते जाने के बाद:

# mount -t 9p -o trans=virtio /fs/data /mnt

मैं एक मौजूदा फ़ाइल को संशोधित कर सकता हूं यदि उसमें मोड है o+w:

# cd /mnt/work
# ls -l foo
-rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo
# cat foo
this is line one
# echo this is line two >> foo
# cat foo
this is line one
this is line two

लेकिन निर्देशिका अनुमतियों की परवाह किए बिना, मैं एक नई फ़ाइल या निर्देशिका नहीं बना सकता :

# ls -ld /mnt/work
drwxrwxrwx. 2 root root 4096 Dec 20 11:16 /mnt/work
# cd /mnt/work
# touch bar
touch: setting times of `bar': No such file or directory
# mkdir bar
# mkdir: cannot create directory `bar': Operation not permitted

मैं जो दस्तावेज़ ढूंढने में सक्षम था (उदाहरण के लिए, यह ) इस मुद्दे को स्पष्ट रूप से संबोधित नहीं करता है। मैं उम्मीद कर रहा हूं कि सर्वरफॉल्ट पर यहां कोई मेरी मदद कर सकता है कि मैं एक pststhrough फाइल सिस्टम स्थापित कर सकता हूं जो मुझे अतिथि फाइल होस्ट करने के लिए उपयोगकर्ता को एक्सेस लिखने की अनुमति देगा।


क्या आप सुनिश्चित हैं कि आपने फ़ाइल सिस्टम को रीड / राइट किया है? क्या आप फाइलें बना सकते हैं? क्या आप रूट या नियमित उपयोगकर्ता के रूप में फाइल बना रहे हैं (हाँ, मैं आपका # देखता हूं लेकिन आपने लिखा है कि मैन्युअल रूप से)?
Janus Troelsen

क्या आपने इसे हल करने का प्रबंधन किया? मैं अतिथि में माउंटेड होस्ट fs पथ पर लिखने में सक्षम नहीं होने का एक समान मुद्दा रहा हूं।
शॉन

मैंने वास्तव में इस पर कोई प्रगति नहीं की है। यह मेरे लिए एक आला आवेदन की तरह था ... मैं आमतौर पर केवीएम मेहमानों को उन जगहों पर नहीं चला रहा हूं जहां एक स्थानीय फाइल सिस्टम तक पहुंच उपयोगी होगी। मैंने अपने डेस्कटॉप पर वर्चुअलबॉक्स को चलाने के लिए लिया है जहां मैं वास्तव में समय-समय पर इस सुविधा को चाहता हूं।
लार्क्स

क्या आप भौतिक मेजबान या अतिथि पर किसी भी सेलिनक्स चेतावनी को देखते हैं?
c4f4t0r

यह मदद कर सकता है? linux-kvm.org/page/9p_virtio
Danila Ladner

जवाबों:


5

यह मुझे मेजबान पर एक अनुमति मुद्दे की तरह लगता है:

डिफ़ॉल्ट रूप से, qemu / kvm प्रक्रिया को एक गैर-विशेषाधिकार प्राप्त उपयोगकर्ता (libvirt-qemu के रूप में डेबियन व्हीज़ी) में शुरू किया जाता है। तो उस उपयोगकर्ता द्वारा केवल पहुंच योग्य (या लिखने योग्य) वीएम मेहमानों द्वारा सुलभ (लिखने योग्य) हैं।

आप उपयोगकर्ता के लिए निर्देशिका का स्वामित्व सेट करने का प्रयास कर सकते हैं qemu के रूप में चलाया जाता है (देखें उपयोगकर्ता = और समूह = in /cc/libvirt/qemu.conf में)

शायद यह आपके मामले में मदद करता है?


1
मैंने कोशिश की है कि मेरे मामले में, जो इस प्रश्न के समान है , लेकिन मैं इसे काम करने के लिए नहीं पा सकता, यहां तक ​​कि apparmor से भी।
विकर्ण

0

जब शेल में आपका qemu मॉनिटर स्टार्टअप करता है, तो उपसर्ग के रूप में "sudo" जोड़ना चाहिए। मैंने फ़ाइल या फ़ोल्डर बनाते समय अनुमति समस्या को हल करने के लिए ऐसा किया था। मेरा वातावरण ubuntu16.04 + qemu-2.12 है।

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