Ich habe kürzlich begonnen, mit der Unterstützung von Passthrough-Dateisystemen in neueren Versionen von KVM / QEMU / libvirt zu experimentieren. Das Bereitstellen der Dateisysteme für den Lesezugriff hat "gerade funktioniert", aber ich bin ein wenig verwirrt darüber, wie der Schreibzugriff funktionieren soll. Nach dem Mounten des Dateisystems im Gast:
# mount -t 9p -o trans=virtio /fs/data /mnt
Ich kann eine vorhandene Datei ändern, wenn sie den folgenden Modus hat 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
Unabhängig von den Verzeichnisberechtigungen kann ich jedoch keine neue Datei oder kein neues Verzeichnis erstellen :
# 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
In der Dokumentation, die ich finden konnte (z. B. diese ), wird dieses Problem nicht explizit behandelt. Ich hoffe, dass jemand hier bei Serverfault mir helfen kann, ein Passthrough-Dateisystem einzurichten, mit dem ich einem Benutzer im Gast Schreibzugriff auf ein Host-Dateisystem gewähren kann.
quelle
Antworten:
Dies scheint mir ein Berechtigungsproblem auf dem Host zu sein:
Standardmäßig wird der qemu / kvm-Prozess als nicht privilegierter Benutzer gestartet (libvirt-qemu in Debian Wheezy). Daher können die VM-Gäste nur auf Dateien zugreifen, auf die dieser Benutzer zugreifen kann (oder auf die er schreiben kann).
Sie können versuchen, den Besitz des Verzeichnisses auf den Benutzer festzulegen, unter dem qemu ausgeführt wird (siehe user = und group = in /etc/libvirt/qemu.conf).
Vielleicht hilft das in deinem Fall?
quelle
Wenn Sie Ihren QEMU-Monitor in der Shell starten, sollten Sie "sudo" als Präfix hinzufügen. Ich habe es getan, um das Berechtigungsproblem beim Erstellen einer Datei oder eines Ordners zu beheben. meine umgebung ist ubuntu16.04 + qemu-2.12.
quelle