Читання / запис доступу для файлових систем passthrough (9p) з libvirt / qemu?


14

Нещодавно я почав експериментувати з підтримкою прохідних файлових систем в останніх версіях KVM / QEMU / libvirt. Надання файлових систем доступними для доступу для читання "просто працювало", але я трохи спантеличений тим, як повинен працювати доступ для запису. Після монтажу файлової системи в гості:

# 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

Документація, яку я зміг знайти (наприклад, ця ), не вирішує прямо питання цього питання. Я сподіваюсь, що хтось тут, на сервері за замовчуванням, може допомогти мені налаштувати найпростішу файлову систему, яка дозволить мені надати доступ для запису користувачу в гості до файлової системи хоста.


Ви впевнені, що встановили файлову систему для читання / запису? Чи можете ви створювати файли? Ви створюєте файли як root або звичайний користувач (так, я бачу ваш #, але ви, можливо, це написали вручну)?
Янус Трольсен

Вам вдалося вирішити це? У мене є подібне питання про неможливість запису на змонтований шлях хосту fs у гостя.
Шоан

Я ніколи насправді не просувався в цьому. Це для мене було якоюсь нішевою програмою ... Я, як правило, не відвідую KVM гостей там, де доступ до локальної файлової системи був би корисний. Я взяв запуск VirtualBox на своєму робочому столі, де я час від часу бажаю цієї функції.
larsks

Чи бачите ви будь-яке сповіщення про selinux на фізичному хості чи на гостей?
c4f4t0r

Це може допомогти? linux-kvm.org/page/9p_virtio
Даніла

Відповіді:


5

Мені це здається проблемою дозволу на хост:

За замовчуванням процес qemu / kvm запускається як непривілейований користувач (libvirt-qemu в Debian Wheezy). Отже, лише файли, доступні (або доступні для запису) цим користувачем, доступні (доступні для запису) гостями VM.

Ви можете спробувати встановити право власності на каталог на користувача qemu запускається як (див. User = and group = в /etc/libvirt/qemu.conf)

Може, це допомагає у вашому випадку?


1
Я спробував це в моєму випадку, це те саме, що і це питання , але я не можу змусити його працювати, навіть із вимкненим приходом.
Діагон

0

при запуску монітора qemu в оболонці слід додати "sudo" як префікс. Я зробив це для вирішення проблеми з дозволом під час створення файлу чи папки. моє середовище ubuntu16.04 + qemu-2.12.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.