Bla*_*ker 44 kvm file-sharing virt-manager
是否可以使用 virt-manager 中的“Filesystem Passthrough”虚拟硬件选项与我的 Windows 来宾共享 Linux 主机上的文件夹?我找到了一些关于如何使用 Linux 客户机执行此操作的教程,但是当我使用 Windows 客户机尝试此操作时,我在尝试启动 VM 时收到以下错误消息:
Error starting domain: Unable to read from monitor: Connection reset by peer
Traceback (most recent call last): File "/usr/share/virt-manager/virtManager/asyncjob.py", line 100, in cb_wrapper
callback(asyncjob, *args, **kwargs) File "/usr/share/virt-manager/virtManager/asyncjob.py", line 122, in tmpcb
callback(*args, **kwargs) File "/usr/share/virt-manager/virtManager/domain.py", line 1210, in startup
self._backend.create() File "/usr/lib64/python2.7/site-packages/libvirt.py", line 698, in create
if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: Unable to read from monitor: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
我尝试寻找一些文档,但我能找到的只是链接到常见问题解答和“一些屏幕截图”的官方页面。
slm*_*slm 25
我不相信使用 Windows 来宾是可能的。我通常在 Linux KVM 主机上设置一个 Samba 服务器,然后使用它与我的 KVM 来宾共享一个文件夹。
有关与 KVM 来宾 (Linux) 共享 KVM 主机目录的文档可在 virt-manager 网站上找到。该页面的标题为:与来宾共享主机文件示例。
linux-kvm 网站还包含设置 Samba 的说明。该文档可在此处获得,标题为:提示:如何使用 Samba 与 Windows 客户机共享 Linux 主机上的文件。
小智 15
Gnome 和 KDE 桌面环境的默认文件管理器都可以使用 SMB 协议轻松访问 Windows 共享资源。
您不需要在 Linux 主机上安装 samba 服务器,因为 Windows 操作系统已经带有内置的 samba 通信协议。
假设您的来宾操作系统是“ Windows XP ”,例如,选择您要共享的文件夹或为此目的创建一个文件夹,例如“hostshare”并右键单击它-> “属性” -> “共享”选项卡->选择:“在网络上共享此文件夹”和“允许网络用户更改我的文件”。
此时请确保 Windows 的防火墙允许访问共享文件和打印机资源。转到“开始菜单” -> “设置” -> “控制面板” -> “ windows防火墙” -> “例外”选项卡->选择:->“文件和打印机共享”。
确保可以通过网络从 Windows 来宾 VM 看到 Linux 主机。所以,从windows的命令行输入:ping 10.0.0.12在这种情况下(例如)“10.0.0.12”是主机IP地址;你必须把它改成你自己的。如果您没有 echo 的响应,则必须进行故障排除。
并从 Linux 命令行执行相同的操作:ping -c3 192.168.122.216,其中这些数字(作为示例)属于分配给来宾 VM 的 virt-IP 地址;你必须把它改成你自己的。
要获取 Windows IP 地址,请运行以下命令: ipconfig
要获取运行此命令的 Linux IP 地址可能会帮助您:
$ ifconfig
$ ip a
$ ip r
$ hostname -I
$ hostname -i
Run Code Online (Sandbox Code Playgroud)
从 Linux 主机打开“ Nautilus ”并转到“文件” -> “连接到服务器” ->进入“服务器地址”框类型:smb://192.168.122.216 -> “连接”。
Nautilus 窗口将打开,其中包含 Windows 内置 Samba 服务器的可浏览资源。您将能够查看和访问“ hostshare ”windows 文件夹的内容。就这样!
sxc*_*731 12
现在,您可以使用virtio-fs在来宾上实现主机导出的文件系统的高效共享。它非常高效,因为它依赖于主机和来宾之间的共享内存,而不是某些基于网络的解决方法。
我已成功将其部署在托管 20.04 来宾的 Ubuntu 20.10 服务器上(此组合满足上述最低先决条件),RAM 由大页支持。
小智 11
对于快速且脏的副本,您还可以使用 libguestfs。
例子:
virt-copy-in -a windows10.qcow2 /tmp/data.zip /
Run Code Online (Sandbox Code Playgroud)
这会将文件 /tmp/data.zip 从主机复制到 Windows 来宾映像 windows10.qcow2 中的根 C:\ 目录。
在虚拟机关闭时执行此操作。
我相信@slm 已经提供了最好的答案。然而,还有另一个用例。不过,这种替代方案有点麻烦。
粗略的指南。不要考虑这些明确的命令:
这并不理想,但如果您的 Guest VM 不允许 dom0 和 Guest 之间的网络协议连接(例如在关闭的 VPN 会话期间),它可以工作。
更多信息请点击这里: