17

Я пытаюсь смонтировать общую папку, используя qemu-kvm/9p, и она не работает, если я добавляю ее в файл fstab. Я получаю сообщение об ошибке при загрузке, что устройство не может быть подключено, но после запуска, если я запускаю «mount -a», устройство будет подключено.

строка fstab:

src_mnt /src 9p trans=virtio 0 0

Из dmesg я вижу:

[    7.606258] 9p: Could not find request transport: virtio

И через несколько строк я вижу записи "virtio-pci". Я не знаю, как отложить монтаж до тех пор, пока это устройство не будет доступно.

3 ответа3

24

Не знаю, является ли это идеальным решением, но на госте Ubuntu 12.04 я заставил его работать, добавив модули 9p в initramfs.

Добавлен в /etc /initramfs-tools /modules:

9p
9pnet
9pnet_virtio

Затем:

sudo update-initramfs -u
3

В Ubuntu 14.04 только модуль 9pnet_virtio требует предварительной загрузки согласно ответу bhassel.

Dmesg за несколько строк до цитируемой показывает, что две другие уже загружены, но не могут найти требуемый транспорт.

[ 1.370611] 9pnet: Installing 9P2000 support 
[ 1.376384] 9p: Installing v9fs 9p2000 file system support 
[ 1.376754] 9pnet: Could not find request transport: virtio 

Протестировано с гостем Ubuntu 14.04 на qemu/KVM на openSUSE 13.2.

1

Проблема заключается в том, как на хосте устанавливается virtio mount. Есть два способа решить эту проблему.

Решение 1: использовать сопоставленный вместо транспорта

<filesystem type='mount' accessmode='mapped'>
  <source dir='/src_dir'/>
  <target dir='src'/>
</filesystem>

Это работает, но все файлы будут принадлежать пользователю, под которым запускается libvirt. Это плохо работает для файловых систем tmp или log.

Решение 2. Запустите libvirt от имени пользователя root и используйте passthrough

vi /etc/libvirt/qemu.conf

Затем раскомментируйте или добавьте:

user=root
group=root

Перезагрузите хост или перезапустите все процессы libvirt и qemu/kvm и используйте passthrough:

<filesystem type='mount' accessmode='passthrough'>
  <source dir='/src_dir'/>
  <target dir='src'/>
</filesystem>

Хотя хост может иметь некоторые последствия для безопасности, это делает uid:gid файлов на хосте таким же, как и на гостевом, что хорошо работает для файловых систем log и tmp. Это то, что я делаю в этой ситуации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .