Avec un hyperviseur 16.04 et un invité 16.04, je souhaite un accès direct à mon système de fichiers hôte à partir de mes invités. J'ai créé l'élément suivant dans la section:
<filesystem type='mount' accessmode='passthrough'>
<source dir='/mnt/gsystem/fs'/>
<target dir='/mnt/fs'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
</filesystem>
Après le redémarrage de l'invité, le périphérique PCI de l'emplacement n ° 3 s'affiche et je peux le voir comme suit (j'ai édité d'autres périphériques PCI pour plus de clarté):
# lspci
...
00:03.0 Unclassified device [0002]: Red Hat, Inc Virtio filesystem
...
Mais le système de fichiers n'est pas monté et le répertoire cible reste local pour l'invité.
Y a-t-il une autre étape à franchir ou s'agit-il d'un pilote dans mon VM qui me manque?
Votre syntaxe est principalement utilisée pour l'invité LXC, KVM est un peu différent. Mettez à jour votre XML comme ci-dessous:
<filesystem type='mount' accessmode='passthrough'>
<source dir='/mnt/gsystem/fs'/>
<target dir='mymount'/>
</filesystem>
Démarrez votre invité et ajoutez manuellement des modules à son démarrage.
cat >>/etc/modules <<EOF
loop
virtio
9p
9pnet
9pnet_virtio
EOF
Insérer manuellement tous ces modules avec
service kmod start
Et enfin, essayez de monter le dossier partagé
mount mymount /mnt/fs -t 9p -o trans=virtio
Si cela fonctionne, démontez et ajoutez la ligne suivante dans votre /etc/fstab
pour rendre le montage persistant.
mymount /mnt/fs 9p trans=virtio 0 0
Enfin, essayez de le remonter avec
mount -a