kvm guest与host共享文件

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
头像
驿窗project
帖子: 148
注册时间: 2019-01-17 12:17
系统: Arch/Debian
送出感谢: 7 次
接收感谢: 3 次

kvm guest与host共享文件

#1

帖子 驿窗project » 2021-04-14 16:52

host是buster,guest有linux和windows;

能不能实现host与guest之间用鼠标拖拽的方式来交换文件,或者用copy / paste的方式实现host与guest之间交换文件?

我的主机是debian buster 10.9,虚拟软件用 virt-manager+libvirt+qemu
头像
astolia
论坛版主
帖子: 5097
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 864 次

Re: kvm guest与host共享文件

#2

帖子 astolia » 2021-04-15 10:06

这两种实现都需要host软件与guest上驱动+软件的配合,既然你选择了kvm方案就别想那么多了。老老实实走samba或共享文件夹的路子
https://askubuntu.com/a/885684
https://www.spice-space.org/spice-user- ... er_sharing
这些用户感谢了作者 astolia 于这个帖子:
驿窗project (2021-04-15 18:56)
评价: 3.7%
头像
驿窗project
帖子: 148
注册时间: 2019-01-17 12:17
系统: Arch/Debian
送出感谢: 7 次
接收感谢: 3 次

Re: kvm guest与host共享文件

#3

帖子 驿窗project » 2021-04-15 18:56

明白了,我先试试共享文件夹~
头像
Ping-Wu
帖子: 1617
注册时间: 2012-11-14 9:34
系统: Debian 11
送出感谢: 3 次
接收感谢: 71 次

Re: kvm guest与host共享文件

#4

帖子 Ping-Wu » 2021-04-16 6:28

如果只是简单的 copy-and-paste(sharing clipboard),(1)在 "channel spice" 里加一个 “com.redhat.spice.0” target(如附图):
kvm.jpg
然后(2)在KVM虚拟机里装设 spice-vdagent 套件,即可。

在我的系统里(Debian 11),把3D加速打开后,上面第一个步骤就自动执行了。基本上什么事都不用做。

至于共享文件,我们必须重写 /etc/samba/smb.conf 才能实现。我们对 samba server 的经验跟认知都非常有限,需求也很少。我们的做法就不提出了,以免误导方向。
头像
驿窗project
帖子: 148
注册时间: 2019-01-17 12:17
系统: Arch/Debian
送出感谢: 7 次
接收感谢: 3 次

Re: kvm guest与host共享文件

#5

帖子 驿窗project » 2021-04-16 19:51

这个方案是不是只能针对文本,无法做到文件的共享?
头像
Ping-Wu
帖子: 1617
注册时间: 2012-11-14 9:34
系统: Debian 11
送出感谢: 3 次
接收感谢: 71 次

Re: kvm guest与host共享文件

#6

帖子 Ping-Wu » 2021-04-17 9:21

(posting deleted by author)
上次由 Ping-Wu 在 2021-04-19 12:21,总共编辑 1 次。
头像
astolia
论坛版主
帖子: 5097
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 864 次

Re: kvm guest与host共享文件

#7

帖子 astolia » 2021-04-19 10:19

Ping-Wu 写了:
2021-04-17 9:21
要做到文件的共享,必须启动 samba。
必须?不需要网络的就有以前的virtio-9p http://www.linux-kvm.org/page/9p_virtio ,现在的virtio-fs https://www.tauceti.blog/post/qemu-kvm- ... th-virtio/ 。基于网络的非samba协议共享方式就更多了,就是一般而言要搭建服务端麻烦点。
这些用户感谢了作者 astolia 于这个帖子:
驿窗project (2021-04-19 15:58)
评价: 3.7%
头像
Ping-Wu
帖子: 1617
注册时间: 2012-11-14 9:34
系统: Debian 11
送出感谢: 3 次
接收感谢: 71 次

Re: kvm guest与host共享文件

#8

帖子 Ping-Wu » 2021-04-19 11:58

astolia 写了:
2021-04-19 10:19
Ping-Wu 写了:
2021-04-17 9:21
要做到文件的共享,必须启动 samba。
必须?不需要网络的就有以前的virtio-9p http://www.linux-kvm.org/page/9p_virtio ,现在的virtio-fs https://www.tauceti.blog/post/qemu-kvm- ... th-virtio/ 。基于网络的非samba协议共享方式就更多了,就是一般而言要搭建服务端麻烦点。
没错。可以启动 KVM的 Add Hardware (Filesystem)功能把主机的共享档案夹转成一个KVM档案系统,然后在虚拟机里把这个档案系统挂起来(例如 sudo mount -t 9p -o trans=virtio.version=9p2000,L,rw [KVM 档案系统] [KVM 虚拟机加挂点] )就可以了。不过把这个加挂步骤写在 fstab 里,虚拟机不好搬动。

下面是针对KVM文件共享建立的一个 smb.conf 档案,供参考:

[global]
workgroup = WORKGROUP
server string = Kvm-Data Server
netbios name = Debian_11
security = user
map to guest = bad user
dns proxy = no

#### SHARES ####

[kvm-data]
path = /extra/kvm-data
browsable = yes
writable = yes
guest ok = yes
read only = no
valid users = @kvm-data
头像
驿窗project
帖子: 148
注册时间: 2019-01-17 12:17
系统: Arch/Debian
送出感谢: 7 次
接收感谢: 3 次

Re: kvm guest与host共享文件

#9

帖子 驿窗project » 2021-04-19 15:59

astolia 写了:
2021-04-19 10:19
Ping-Wu 写了:
2021-04-17 9:21
要做到文件的共享,必须启动 samba。
必须?不需要网络的就有以前的virtio-9p http://www.linux-kvm.org/page/9p_virtio ,现在的virtio-fs https://www.tauceti.blog/post/qemu-kvm- ... th-virtio/ 。基于网络的非samba协议共享方式就更多了,就是一般而言要搭建服务端麻烦点。
这两个都要求guest必须是linux,不能是windows;
如果guest是windows,感觉你前面的“共享文件夹”方式可能比较方便一些~
头像
astolia
论坛版主
帖子: 5097
注册时间: 2008-09-18 13:11
送出感谢: 1 次
接收感谢: 864 次

Re: kvm guest与host共享文件

#10

帖子 astolia » 2021-04-20 9:53

驿窗project 写了:
2021-04-19 15:59
这两个都要求guest必须是linux,不能是windows;
如果guest是windows,感觉你前面的“共享文件夹”方式可能比较方便一些~
我上面给的链接是参考资料,不是官方文档。别看着那上面写这guest必须是linux就当真了。这东西的基本原理就是创建一个虚拟设备,在guest里能不能用要看有没有驱动。win下面的驱动存在很久了 https://github.com/virtio-win/kvm-guest-drivers-windows,在win10上目前还有些问题就是了
头像
Ping-Wu
帖子: 1617
注册时间: 2012-11-14 9:34
系统: Debian 11
送出感谢: 3 次
接收感谢: 71 次

Re: kvm guest与host共享文件

#11

帖子 Ping-Wu » 2021-04-23 5:40

用 samba 来让 kvm Windows guest与 host 共享文件其实很简单,如附图(主机为 DEBIAN_11):
Screenshot from 2021-04-22 11-32-41.jpg
回复

回到 “虚拟机和虚拟化”