KVM guest虚拟机无法写入非root用户拥有的9p共享


14

我的目标是为KVM来宾设置对9p共享的完全写入权限。主机和来宾都具有相同ID的相同用户/组。主机和来宾都应该能够使用相同的用户名写入共享,并且我不想区分文件是由主机还是来宾编写的。该KVM进程以root权限运行- I组usergrouproot在/etc/libvirt/qemu.conf。

在主机上的来宾定义中,共享定义如下:

<filesystem type='mount' accessmode='passthrough'>
  <source dir='/mnt/storage/data'/>
  <target dir='data'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
</filesystem>

在来宾中,共享安装为:

mount -t 9p -o rw,trans=virtio,version=9p2000.L,msize=262144 data /mnt/data

问题是来宾中的root用户无法写入主机上非root用户拥有的文件/文件夹。更奇怪的是,来宾的根可以重命名和删除此类文件。也就是说,当我在主机上以非root用户身份创建文件时,即使可以重命名和删除它,也无法将其编辑为guest虚拟机的root用户!

我还发现,在非root用户下在主机上创建的文件夹的权限设置为777时,guest虚拟机的root可以对其进行写入(即在其中创建文件)。但是,这不适用于文件-无论权限如何,它们仍然无法编辑。

主机和来宾都运行Linux服务器3.2.0-4-amd64#1 SMP Debian 3.2.51-1 x86_64 GNU / Linux。在Debian中,默认情况下SELinux被禁用,而我没有启用它。我尝试了所有三个可用9P访问模式(passthroughmappedsquash) -没有区别。

我只是想知道是否有什么我可以调整以使其正常工作,还是只是一个错误?

请注意,这里报告了类似的问题:使用libvirt / qemu对直通(9p)文件系统进行读/写访问?但是与那种情况不同,我拥有100%的写访问权限,其中文件由root拥有,它只是非root用户文件,我什至无法在guest虚拟机上以root用户身份写入。


2
仅作为参考,我从未使它正常工作,并且遇到过所有这些相同的问题。因此,在最新的qemu / libvirt版本中不建议使用p9文件系统直通实现。
后台打印程序2016年

2
同样在这里。红帽似乎认为9p 还没准备好黄金时间
对角线

Answers:


0

您可以检查文件系统的其他属性,例如共享目录上的acl吗?我怀疑是权限问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.