web-dev-qa-db-fra.com

Utilisation de la liaison de système de fichiers avec KVM invités

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?

2
AlanObject

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

Sources: http://rabexc.org/posts/p9-setup-in-libvirt

1
ob2