20.2. Partage de fichiers entre l'hôte et ses machines virtuelles à l'aide de virtiofs
Avec virtiofs, vous pouvez partager des fichiers entre votre hôte et vos machines virtuelles (VM) sous la forme d'une arborescence de répertoires qui fonctionne de la même manière que la structure du système de fichiers local. Vous pouvez utiliser virtiofs pour effectuer les tâches suivantes :
- Partager des fichiers entre l'hôte et les machines virtuelles
- Partager des fichiers entre l'hôte et les machines virtuelles Windows
- Partager des fichiers entre l'hôte et les machines virtuelles à l'aide de la console web
- Supprimer les fichiers partagés entre l'hôte et les machines virtuelles à l'aide de la console Web
20.2.1. Partage de fichiers entre l'hôte et ses machines virtuelles à l'aide de virtiofs
Lorsque vous utilisez RHEL 9 comme hyperviseur, vous pouvez partager efficacement des fichiers entre votre système hôte et ses machines virtuelles (VM) à l'aide de la fonctionnalité virtiofs
.
Conditions préalables
- La virtualisation est installée et activée sur votre hôte RHEL 9.
Un répertoire que vous souhaitez partager avec vos machines virtuelles. Si vous ne souhaitez partager aucun de vos répertoires existants, créez-en un nouveau, par exemple nommé shared-files.
# mkdir /root/shared-files
- La VM avec laquelle vous souhaitez partager des données utilise une distribution Linux comme système d'exploitation invité.
Procédure
Pour chaque répertoire de l'hôte que vous souhaitez partager avec votre VM, définissez-le comme système de fichiers virtiofs dans la configuration XML de la VM.
Ouvrez la configuration XML de la VM visée.
# virsh edit vm-name
Ajoutez une entrée similaire à la suivante à la section
<devices>
de la configuration XML de la VM.<filesystem type='mount' accessmode='passthrough'> <driver type='virtiofs'/> <binary path='/usr/libexec/virtiofsd' xattr='on'/> <source dir='/root/shared-files'/> <target dir='host-file-share'/> </filesystem>
Cet exemple définit le répertoire
/root/shared-files
sur l'hôte pour qu'il soit visible en tant quehost-file-share
par la VM.
Configurez la mémoire partagée pour la VM. Pour ce faire, ajoutez la mémoire partagée à la section
<domain>
de la configuration XML :<domain> [...] <memoryBacking> <access mode='shared'/> </memoryBacking> [...] </domain>
Démarrer la VM.
# virsh start vm-name
Monter le système de fichiers dans le système d'exploitation invité. L'exemple suivant monte le répertoire
host-file-share
précédemment configuré avec un système d'exploitation invité Linux.# mount -t virtiofs host-file-share /mnt
Vérification
- Assurez-vous que le répertoire partagé est devenu accessible sur la VM et que vous pouvez maintenant ouvrir les fichiers stockés dans le répertoire.
Problèmes et limites connus
-
Les options de montage du système de fichiers liées au temps d'accès, telles que
noatime
etstrictatime
, ne sont pas susceptibles de fonctionner avec les virtiofs, et Red Hat déconseille leur utilisation.
Résolution de problèmes
-
Si
virtiofs
n'est pas optimal pour votre cas d'utilisation ou n'est pas pris en charge par votre système, vous pouvez utiliser NFS à la place.
20.2.2. Partage de fichiers entre l'hôte et les machines virtuelles Windows à l'aide de virtiofs
Lorsque vous utilisez RHEL 9 comme hyperviseur, vous pouvez partager efficacement des fichiers entre votre système hôte et les machines virtuelles (VM) Windows à l'aide de la fonctionnalité virtiofs
et du paquetage virtio-win
.
Vous pouvez exécuter le service virtiofs
en mode insensible à la casse sur une VM Windows à l'aide de la commande virtiofs.exe
et du paramètre -i
.
Conditions préalables
- Vous avez configuré le fichier de configuration XML de votre VM pour utiliser virtiofs. Pour des informations détaillées, voir Section 20.2.1, « Partage de fichiers entre l'hôte et ses machines virtuelles à l'aide de virtiofs ».
-
Vous avez attaché le média d'installation du pilote
virtio
à la VM. -
Vous avez installé le paquetage
virtio-win
sur votre VM Windows. Pour plus d'informations, voir Installation des pilotes virtio sur un invité Windows.
Procédure
Sur votre VM Windows, installez WinFsp. Pour ce faire, montez l'image ISO
virtio-win
, lancez le programme d'installation MSIwinfsp
et suivez les instructions.Dans la fenêtre Custom Setup de l'assistant d'installation, sélectionnez les fonctionnalités que vous souhaitez installer sur la VM.
Démarrer le service virtiofs :
# sc start VirtioFsSvc
Naviguez jusqu'à This PC:
File Explorer
This PC Virtiofs doit être disponible sur la VM Windows en tant que première lettre de lecteur disponible, en commençant par
z:
et en remontant. Par exemple,my_viofs (Z:)
.ImportantVous devez redémarrer le service virtiofs après chaque redémarrage de la VM pour accéder au répertoire partagé.
Optional: Pour mettre en place des instances virtiofs supplémentaires :
Arrêter le service virtiofs :
# sc stop VirtioFsSvc # sc config VirtioFsSvc start=demand
Configurer le service WinFSP.Launcher pour mettre en place plusieurs instances virtiofs :
# "C:\Program Files (x86)\WinFsp\bin\fsreg.bat" virtiofs "<path to the binary>\virtiofs.exe" "-t %1 -m %2"
Monter les instances virtiofs sur les lecteurs.
Par exemple, pour monter virtiofs avec l'étiquette
mount_tag0
sur le lecteurY:
:"C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" start virtiofs viofsY mount_tag0 Y:
- Répétez l'étape précédente pour monter toutes vos instances virtiofs.
Pour démonter l'instance virtiofs :
"C:\Program Files (x86)\WinFsp\bin\launchctl-x64.exe" stop virtiofs viofsY
Vérification
Sur votre VM Windows, accédez à This PC:
File Explorer
This PC -
Si vous n'avez pas spécifié de point de montage lors de la configuration du service virtiofs, celui-ci utilisera la première lettre de lecteur disponible, en commençant par
z:
et en remontant. - Si vous avez configuré plusieurs instances virtiofs, elles apparaîtront comme des lecteurs avec les lettres que vous avez attribuées aux instances.
-
Si vous n'avez pas spécifié de point de montage lors de la configuration du service virtiofs, celui-ci utilisera la première lettre de lecteur disponible, en commençant par