Я пытаюсь использовать virsh и domain xml для запуска гостя Centos 7 с хоста ubuntu 16.04 LTS. Узел "файловая система", который я использую в домене xml, выглядит следующим образом:
<filesystem type='mount' accessmode='passthrough'>
<driver type='path' wrpolicy='immediate'/>
<source dir='/opt/test'/>
<target dir='testlabel'/>
</filesystem>
С приведенной выше конфигурацией "testlabel" не отображается в гостевой системе, и поэтому я не могу ее смонтировать. Что мне не хватает?
Я пробовал иметь модули 9p в гостевой системе, но они, похоже, не всегда доступны в centos 7. Требуется перекомпиляция ядра [пытается сейчас]. Я узнал, что virtio-vsock будет доступен в будущем. Так что пока это не вариант.
Я также не хочу использовать сетевой обмен файлами, например SSHFS, NFS или glusterfs.
Есть ли какой-либо другой драйвер файловой системы, который может работать с опцией "файловая система" домена xml с libvirt?
В настоящее время 9p - единственный вариант совместного использования файловой системы, поддерживаемый libvirt и KVM. К сожалению, поддерживаемый 9p отключен в CentOS, так как он в течение многих лет в основном не поддерживался в апстриме и содержал ряд недостатков безопасности - только в последние несколько месяцев новый сопровождающий 9p начал работу по устранению этого. Однако, если вы перекомпилируете ядро centos или соберете модуль 9p самостоятельно, должно быть возможно заставить его работать.
Пока не появится virtio-vsock с поддержкой NFS, вы не сможете использовать другие варианты, не связанные с сетью.
Согласно документация libvirt, возможно, вам просто нужно настроить target
.
В документации приведены следующие примеры:
<filesystem type='mount' accessmode='passthrough'>
<driver type='path' wrpolicy='immediate'/>
<source dir='/export/to/guest'/>
<target dir='/import/from/host'/>
<readonly/>
</filesystem>
<filesystem type='file' accessmode='passthrough'>
<driver name='loop' type='raw'/>
<driver type='path' wrpolicy='immediate'/>
<source file='/export/to/guest.img'/>
<target dir='/import/from/host'/>
<readonly/>
</filesystem>
Который кажется работать без надобности 9р.
Однако для centos на самом деле есть легко доступный помощник 9p:
Available Packages
Name : nfs-ganesha-mount-9P
Arch : x86_64
Version : 2.3.2
Release : 1.el7
Size : 11 k
Repo : epel/x86_64
Summary : a 9p mount helper
URL : https://github.com/nfs-ganesha/nfs-ganesha/wiki
Licence : LGPLv3+
Description : This package contains the mount.9P script that clients can use
: to simplify mounting to NFS-GANESHA. This is a 9p mount helper.