J'ai récemment commencé à expérimenter le support des systèmes de fichiers passthrough dans les versions récentes de KVM / QEMU / libvirt. Rendre les systèmes de fichiers disponibles pour l'accès en lecture a "juste fonctionné", mais je suis un peu perplexe sur la façon dont l'accès en écriture est censé fonctionner. Après avoir monté le système de fichiers dans l'invité:
# mount -t 9p -o trans=virtio /fs/data /mnt
Je peux modifier un fichier existant s'il a un mode o+w
:
# cd /mnt/work
# ls -l foo
-rw-rw-rw-. 1 root root 17 Dec 20 11:16 foo
# cat foo
this is line one
# echo this is line two >> foo
# cat foo
this is line one
this is line two
Mais quelles que soient les autorisations du répertoire, je ne peux pas créer un nouveau fichier ou répertoire:
# ls -ld /mnt/work
drwxrwxrwx. 2 root root 4096 Dec 20 11:16 /mnt/work
# cd /mnt/work
# touch bar
touch: setting times of `bar': No such file or directory
# mkdir bar
# mkdir: cannot create directory `bar': Operation not permitted
La documentation que j'ai pu trouver (par exemple, ceci ) ne traite pas explicitement de ce problème. J'espère que quelqu'un ici à Serverfault pourra m'aider à configurer un système de fichiers passthrough qui me permettra d'accorder un accès en écriture à un utilisateur de l'invité sur un système de fichiers hôte.
la source
Réponses:
Cela me semble être un problème de permission sur l'hôte:
Par défaut, le processus qemu / kvm est démarré en tant qu'utilisateur non privilégié (libvirt-qemu dans Debian Wheezy). Ainsi, seuls les fichiers accessibles (ou accessibles en écriture) par cet utilisateur sont accessibles (accessibles en écriture) par les invités VM.
Vous pouvez essayer de définir la propriété du répertoire sur l'utilisateur qemu est exécuté en tant que (voir user = et group = dans /etc/libvirt/qemu.conf)
Peut-être que cela vous aide dans votre cas?
la source
au démarrage de votre moniteur qemu en shell, vous devez ajouter "sudo" comme préfixe. Je l'ai fait pour résoudre le problème d'autorisation lors de la création d'un fichier ou d'un dossier. mon environnement est ubuntu16.04 + qemu-2.12.
la source