如何使用 libvirtd 设置 samba 共享

rai*_*lin 7 samba windows libvirt

我在我的(Arch)Linux 系统上使用 QEmu 和 Windows 7 来宾。我想使用 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 的地方。

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

Man*_*aux 4

似乎 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>
Run Code Online (Sandbox Code Playgroud)

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

# virsh edit <vm-name>
Run Code Online (Sandbox Code Playgroud)