qemu 支持 host 和 guest 中共享目录


 qemu 支持 host 和 guest 中共享目录:

1.  qemu 支持和设置 virtfs

     qemu 启动参数需要添加 :

      -fsdev local,security_model=passthrough,id=fsdev0,path=/tmp/share \
      -device virtio-9p-pci,id=fs0,fsdev=fsdev0,mount_tag=hostshare

  如果遇到提示:

 'virtio-9p-pci' is not a valid device model name 

      则需要重新编译 qemu, 编译时添加额外的 configure 参数 --enable-virtfs

./configure --enable-kvm --enable-virtfs --prefix=/opt/software/toolchain/qemu

    注意 qemu 支持 virtfs 需要 libcap 和 libattr 等依赖库.

    ./configure --enable-kvm --enable-virtfs --prefix=/opt/software/toolchain/qemu

     ERROR: VirtFS requires libcap devel and libattr devel

     CentOS 可以使用如下命令安装

      yum install -y libcap-devel
      yum install -y libattr-devel 

      编译安装 qemu 后, 再运行, 可以了.

 

2.  guest 支持和设置 virtfs

    1 在 guest 中挂载 host 共享的目录

       mkdir /mnt/host_files
       mount -t 9p -o trans=virtio,version=9p2000.L hostshare /mnt/host_files
       如果提示 :     mount: unknown filesystem type '9p'

       则说明构建的 guest 内核不支持 9p-virtio.
       需要开启对应的内核选项, 并重新编译.

    需要在 kernel 中添加 9p 的支持 

     CONFIG_NET_9P=y
     CONFIG_9P_FS=y
     CONFIG_VIRTIO_PCI=y
     CONFIG_NET_9P_VIRTIO=y
     CONFIG_9P_FS_POSIX_ACL=y
     CONFIG_NET_9P_DEBUG=y (Optional可选)

     最后, 一切就绪之后, 启动 qemu, 就可以看到目录正常挂载了.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM