如何使用 libvirtd 设置 samba 共享

如何使用 libvirtd 设置 samba 共享

我在我的 (Arch) Linux 系统上使用 QEmu 和 Windows 7 guest 虚拟机。我想使用 samba 与 Windows 来宾共享主机系统上的目录。我可以使用如下命令从终端执行此操作:

qemu-system-x86_64 /path/to/windows7.img -enable-kvm -net nic -net user,smb=/path/to/shared/directory -m 1024

但我现在已经设置了 libvirtd,并且我希望能够使用 virt-manager 启动 Windows 7。我是 libvirtd 的新手,并且在浏览文档时遇到了困难。我想我需要设置一个“网络文件系统池”(我在libvirt 文档),但我不明白是否可以通过 virt-manager 执行此操作,或者是否需要在命令行上执行此操作,或者需要在哪里添加该链接中描述的 XML。

我寻找过例子,但没有找到任何东西。我发现各种论坛帖子中有人询问如何做到这一点,所以我怀疑我不是唯一一个为此苦苦挣扎的人!

答案1

似乎 libvirt 不支持-net user,smbqemu 命令(我猜是因为与其他虚拟机管理程序不兼容)。一种可能的解决方法是直接将参数传递给qemu-kvm命令。

为此,您首先需要添加 XML 命名空间http://libvirt.org/schemas/domain/qemu/1.0到您的域。然后你可以使用<commandline>该命名空间的标签:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
    ...
    <qemu:commandline>
        <qemu:arg value='-net'/>
        <qemu:arg value='user,smb=/path/to/shared/directory'/>
    </qemu:commandline>
</domain>

您可以通过运行轻松编辑 XML 配置

# virsh edit <vm-name>

相关内容