kvm虚拟机和宿主机共享目录
qemu-kvm虚拟机文件共享
·
对于没有网络的虚拟机,如果想要在qemu和host之间传递文件是比较麻烦的,一种简单的解决办法就是利用虚拟机的共享目录,这种方式需要有9p virtio fs支持。
使用9p virtio fs文件系统需要在虚拟机的启动命令行添加新的参数
-virtfs local,id=sfs,path=/tmp/shared,security_model=passthrough,mount_tag=shared
其中path参数指定了在host上使用的共享目录的位置
如果添加此参数后虚拟机启动报出错误
qemu-kvm: -virtfs local,id=sfs,path=shared,security_model=passthrough,mount_tag=shared: 'virtio-9p-pci' is not a valid device model name
则说明当前的qemu版本中不支持9p virtio fs,解决办法就是重新编译qemu
qemu不同版本的源码可以在https://download.qemu.org/中下载,
下载后添加参数重新编译qemu
./configure --enable-kvm --enable-virtfs
make -j44
编译完成后我们使用新编译的qemu二进制文件qemu-system-x86_64来启动虚拟机
虚拟机启动后我们需要在虚拟机中执行挂载命令:
mount -t 9p -o trans=virtio,version=9p2000.L shared /shared
其中/shared是在虚拟机中指定的挂载目录,如果执行挂载时报出
mount: unknown filesystem type '9p'
说明当前虚拟机的内核不支持9p类型的文件系统,需要开启相应的内核选项并重新编译
如果执行挂载时报出错误
mount: wrong fs type, bad option, bad superblock on shared,
说明当前虚拟机中没有加载9p文件系统对应的内核模块,需要执行
modprobe 9pnet_virtio
加载9p内核模块,然后再执行mount挂载操作
执行完成后我们在host上向/tmp/shared中拷贝文件就可以在虚拟机中获取到了。
更多推荐
已为社区贡献3条内容
所有评论(0)