qemu-kvm虚拟机与宿主机之间实现文件传输,大概两类方法:
1. 虚拟机与宿主机之间,使用网络来进行文件传输。这个需要先在宿主机上配置网络桥架,在qemu-kvm启动配置网卡就可以实现文件传输。
2. 使用9psetup协议实现虚拟机与宿主机之间文件传输。该方法先要宿主机需要在内核中配置了9p选项,即:
CONFIG_NET_9P=y
CONFIG_net_9P_VIRTIO=y
CONFIG_NET_9P_DEBUG=y (可选项)
CONFIG_9P_FS=y
CONFIG_9P_FS_POSIX_ACL=y
另外,qemu在编译时需要支持ATTR/XATTR。
综上,两类方法配置起来都比较麻烦。
这个地方,提供一种简单的方法,实现简单的虚拟机和宿主机之间的文件传输
1. 使用dd创建一个文件,作为虚拟机和宿主机之间传输桥梁
dd if=/dev/zero of=/opt/share.img bs=1M count=200
2. 格式化share.img文件
mkfs.ext4 /opt/share.img
3. 在宿主机上创建一个文件夹,
mkdir /tmp/share
mount -o loop /opt/share.img /tmp/share
这样,在宿主机上把需要传输给虚拟机的文件放到/tmp/share 下即可。
4. 启动qemu-kvm虚拟机,添加上/opt/share.img文件。
5. 在虚拟机中 mount上添加的一块硬盘。即可以获得宿主机上放在/tmp/share文件夹下的文件
该方法的缺点:
宿主机和虚拟机文件传输不能实时传输。如果需要传输新文件,需要重启虚拟机。
阅读(15361) | 评论(0) | 转发(1) |