我正在尝试使用 virsh 和域 xml 从 ubuntu 16.04 LTS 主机启动 Centos 7 客户机。我在域 xml 中使用的“文件系统”节点如下:
<filesystem type='mount' accessmode='passthrough'>
<driver type='path' wrpolicy='immediate'/>
<source dir='/opt/test'/>
<target dir='testlabel'/>
</filesystem>
使用上述配置,“testlabel”在客户机中不可见,因此我无法安装它。我是否遗漏了什么?
我尝试在客户机中使用 9p 模块,但它们似乎在 centos 7 中不可用。需要重新编译内核 [现在正在尝试]。我了解到 virtio-vsock 将来会可用。所以,目前它不是一个选项。
我也不想使用基于网络的文件共享,如 SSHFS、NFS 或 glusterfs。
是否有其他文件系统驱动程序可以与 libvirt 的域 xml 的“文件系统”选项一起使用?
答案1
根据libvirt 文档,你可能只是需要调整你的target
。
文档提供了以下示例:
<filesystem type='mount' accessmode='passthrough'>
<driver type='path' wrpolicy='immediate'/>
<source dir='/export/to/guest'/>
<target dir='/import/from/host'/>
<readonly/>
</filesystem>
<filesystem type='file' accessmode='passthrough'>
<driver name='loop' type='raw'/>
<driver type='path' wrpolicy='immediate'/>
<source file='/export/to/guest.img'/>
<target dir='/import/from/host'/>
<readonly/>
</filesystem>
那似乎无需晚上 9 点即可工作。
不过对于centos来说,其实有一个现成的9p助手:
Available Packages
Name : nfs-ganesha-mount-9P
Arch : x86_64
Version : 2.3.2
Release : 1.el7
Size : 11 k
Repo : epel/x86_64
Summary : a 9p mount helper
URL : https://github.com/nfs-ganesha/nfs-ganesha/wiki
Licence : LGPLv3+
Description : This package contains the mount.9P script that clients can use
: to simplify mounting to NFS-GANESHA. This is a 9p mount helper.
答案2
目前,9p 是 libvirt 和 KVM 支持的唯一文件系统共享选项。遗憾的是,CentOS 禁用了对 9p 的支持,因为多年来它基本上没有得到上游的维护,并且包含许多安全漏洞 - 直到最近几个月,新的 9p 维护者才开始着手清理这个问题。不过,如果您重新编译 centos 内核,或者自己构建 9p 模块,应该可以让它工作。
在支持 NFS 的 virtio-vsock 出现之前,您无法使用其他非基于网络的选项。