Chinaunix首页 | 论坛 | 博客
  • 博客访问: 49014
  • 博文数量: 5
  • 博客积分: 15
  • 博客等级: 民兵
  • 技术积分: 83
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-03 00:15
文章分类

全部博文(5)

文章存档

2014年(5)

我的朋友

分类: 虚拟化

2014-08-07 14:56:35

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文件夹下的文件

该方法的缺点:
     宿主机和虚拟机文件传输不能实时传输。如果需要传输新文件,需要重启虚拟机。
阅读(15058) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~