Accesso in lettura / scrittura per filesystem passthrough (9p) con libvirt / qemu?


14

Di recente ho iniziato a sperimentare il supporto per i filesystem passthrough nelle recenti versioni di KVM / QEMU / libvirt. Rendere i filesystem disponibili per l'accesso in lettura ha "appena funzionato", ma sono un po 'perplesso su come dovrebbe funzionare l'accesso in scrittura. Dopo aver montato il filesystem nel guest:

# mount -t 9p -o trans=virtio /fs/data /mnt

Posso modificare un file esistente se ha modalità 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

Ma indipendentemente dalle autorizzazioni della directory, non riesco a creare un nuovo file o directory:

# 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 documentazione che sono stato in grado di trovare (ad esempio, questo ) non risolve esplicitamente questo problema. Spero che qualcuno qui a Serverfault possa aiutarmi a configurare un filesystem passthrough che mi permetta di concedere l'accesso in scrittura a un utente nel guest a un filesystem host.


Sei sicuro di aver montato il file system in lettura / scrittura? Puoi creare file? Stai creando file come utente root o normale (sì, vedo il tuo # ma potresti averlo scritto manualmente)?
Janus Troelsen,

Sei riuscito a risolvere questo? Sto riscontrando un problema simile di non riuscire a scrivere sul percorso fs dell'host montato nel guest.
Shoan il

Non ho mai veramente fatto progressi su questo. Per me è stata una specie di applicazione di nicchia ... In genere non eseguo guest KVM in luoghi in cui l'accesso a un filesystem locale sarebbe utile. Ho iniziato a eseguire VirtualBox sul mio desktop dove di tanto in tanto voglio questa funzionalità.
Larsks,

Vedi qualche avviso selinux sull'host fisico o sul guest?
c4f4t0r,

Questo potrebbe aiutare? linux-kvm.org/page/9p_virtio
Danila Ladner

Risposte:


5

Questo mi sembra un problema di autorizzazione sull'host:

Per impostazione predefinita, il processo qemu / kvm viene avviato come utente non privilegiato (libvirt-qemu in Debian Wheezy). Quindi solo i file accessibili (o scrivibili) da quell'utente sono accessibili (scrivibili) dai guest VM.

Potresti provare a impostare la proprietà della directory per l'utente qemu viene eseguito come (vedi user = e group = in /etc/libvirt/qemu.conf)

Forse questo aiuta nel tuo caso?


1
L'ho provato nel mio caso, che è lo stesso di questa domanda , ma non riesco a farlo funzionare, anche con l'apparmor spento.
Diagon,

0

all'avvio del monitor qemu nella shell, dovrebbe aggiungere "sudo" come prefisso. L'ho fatto per risolvere il problema di autorizzazione durante la creazione di file o cartelle. il mio ambiente è ubuntu16.04 + qemu-2.12.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.