由于功能支持不完整,无法将 virtiofs 文件系统添加到 Ubuntu Server 20.04 中的 QEMU VM

由于功能支持不完整,无法将 virtiofs 文件系统添加到 Ubuntu Server 20.04 中的 QEMU VM

我在主机上添加共享文件夹时遇到困难Ubuntu 服务器 20.04使用虚拟

在我的里面<domain/>我已经添加了

<memoryBacking>
  <source type='memfd'/>
  <access mode='shared'/>
</memoryBacking>

和里面<devices/>

<filesystem type='mount' accessmode='passthrough'>
  <driver type='virtiofs'/>
  <source dir='/home/server/VM_share'/>
  <target dir='VM_share'/>
</filesystem>

保存后我得到

错误:XML 文档无法根据架构进行验证:无法根据 /usr/share/libvirt/schemas/domain.rng 验证文档 交错元素域中的额外元素设备无法验证内容 失败。再试一次?[y,n,f,?]:

选择i信息收益

错误:不支持的配置:未知的 fs 驱动程序类型“virtiofs”

我在 Debian 邮件列表中的某处看到过关于此类抱怨,人们说的版本libvirt太旧了。

我检查过(例如守护进程)

libvirtd --version
libvirtd (libvirt) 6.0.0

检查qemu结果

qemu-system-x86_64 --version
QEMU emulator version 4.2.1 (Debian 1:4.2-3ubuntu6.21)

根据官方网站我需要 Linux 内核 5.4+(Ubuntu Server 20.04 当前默认运行在 5.4.0-107 上)、QEMU 5.0、libvirt 6.2。

现在我很困惑,因为这篇来自 Ubuntu 的官方帖子(看Ubuntu 内核 v5.4 中的功能亮点)表示支持虚拟。但是根据所需组件(内核除外)的软件包版本,似乎除非有外部非官方存储库,否则该功能实际上并不适合使用

ppa:jacob/virtualisation

被使用。我是否遗漏了什么?我主要关注的是本指南等等。

答案1

这里确实涉及一些组件。有关 5.4 的内核信息实际上只与运行该内核或更高版本的客户机有关,以便能够使用 virtiofs。不过,有很多修复,所以一般来说(对于任何类型的新功能)你可能需要寻找一个更新的内核,在 Focal 20.04 客户机中,你可以通过HWE 内核

但除此之外,从主机角度提供此功能,您还需要 libvirt 和 qemu 做好准备。Focal 20.04 附带 qemu 4.2,但尚未具备所需的全部功能virtiofs- Focal 中的 libvirt 6.0 也是如此。

请参阅Ubuntu 服务器指南 - 请参阅“在主机<->客户机之间共享文件”部分- 该功能已在 qemu/libvirt 的更高版本以及 Ubuntu 的更高版本中启用并运行。如果您查看 Qemu、libvirt 和 Ubuntu 的变更日志,您会发现在大多数后续版本中都有很多改进 - 因此(与上面的内核一样) - 您应该尝试使用相当新的虚拟化堆栈来实现此功能。

您可以通过多种方式实现此功能:

  1. 您可以使用 Focal 之后的任何现有版本,例如 Impish 21.10(请注意,该版本现已终止使用,请参阅选项 3)
  2. 如果你想要/需要继续使用 Focal,你可以使用大量定期移植到服务器反向移植
  3. 如果你需要一款没有任何 PPA 的 LTS 版本 -> 两周后,新的 Jammy LTS 22.04 将会发布,它将拥有所有这些功能以及更多功能

答案2

最近,我virtiofs通过添加源实现了 Ubuntu20.04(5.13.0-40-generic) 和 Win11 之间的切换server-backports,方法与 Christian Ehrhardt 提到的第二种方法相同

如果你想要/需要继续使用 Focal,你可以使用在服务器反向移植中定期移植的大量较新的软件

只是sudo add-apt-repository ppa:canonical-server/server-backports && sudo apt update,它会更新 qemu(7.0.0) 和 libvirt(7.6.0)。我尝试编译最新的 qemu 和 libvirt,但需要安装的依赖项太多。不幸的是,我使用默认前缀编译了它,这引入了很多问题。

相关内容