Я пытаюсь смонтировать общую папку, используя 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". Однако я не знаю, как отложить монтаж, пока это устройство не будет доступно.
ideal
решение. Проблема заключается в том, что модуль не монтируется во время монтирования файловой системы, поэтому вы можете добавить его в список модулей, загруженных во время монтирования.В Ubuntu 14.04 только
9pnet_virtio
модуль требует предварительной загрузки согласно ответу bhassel .Dmesg за несколько строк до цитируемой показывает, что две другие уже загружены, но не могут найти требуемый транспорт.
Протестировано с гостем Ubuntu 14.04 на qemu / KVM на openSUSE 13.2.
источник
Проблема здесь в том, как монтируется virtio на хосте. Есть два способа решить эту проблему.
Решение 1: использовать сопоставленный вместо транспорта
Это работает, но все файлы будут принадлежать пользователю, под которым запускается libvirt. Это плохо работает для файловых систем tmp или log.
Решение 2. Запустите libvirt от имени пользователя root и используйте passthrough
Затем раскомментируйте или добавьте:
Перезагрузите хост или перезапустите все процессы libvirt и qemu / kvm и используйте passthrough:
Хотя хост может иметь некоторые последствия для безопасности, это делает uid: gid файлов на хосте таким же, как и на гостевом, что хорошо работает для файловых систем log и tmp. Это то, что я делаю в этой ситуации.
источник