Virtualbox高性能读写Win10主机共享目录

本文介绍几种vbox读写win10主机文件的方法,并简单比较了几者之间的性能。

环境

  • win10 pro,为host
  • virtualbox 5.1.26
  • ubuntu 17.04,为client

期望在ubuntu中可以挂载win10中的某个目录(如d:\data),且ubuntu拥有读写权限,系统启动时自动挂载。一是为了共享文件,二是将数据(如程序代码)保存备份。

使用vbox自带共享文件夹功能-vboxsf

  • vbox设置共享文件夹,拥有完全控制权限,如设置别名为shared
  • client中的ubuntu安装VBoxLinuxAddtions(增强功能)
  • sudo vi /etc/fstab,增加如下一行:
shared /data vboxsf rw,gid=username,uid=groupname,auto 0 0

其中shared是vbox中设置的共享目录别名,/data是ubuntu中的挂载点,提前建好目录并chown给username,vboxsf是文件系统类型,参数rw是读写权限,后面用户及组名。重启ubuntu,即可使用/data来读写共享目录中的文件,修改同时同步到win10。

使用win10自带共享文件夹功能-cifs

  • 在win10开启文件夹共享,如设置别名为shared
  • ubuntu中sudo vi /etc/fstab
//192.168.56.1/shared /data cifs _netdev,username=xxxxxx,password=xxxxxx,uid=username,gid=groupname,auto 0 0

其中ip地址和访问共享文件夹的win10用户名密码根据实际更换。

使用nfs方式

  • 若是win10 enterprise 或ultimate版本,可以直接开启nfs服务,注意不是nfs客户端,是服务端,win+r,运行service.msc可以找一找是否有server nfs服务([参考文章])
  • 若不能开启win10自己的nfs服务,则使用第三方的,推荐使用haneWIN NFS。[下载地址]
  • 下载后安装(试用30天,需要买license),即作为windows服务自动启动
  • 执行安装的NFS server(小娜处搜索)要以管理员身份运行,可以修改设置,否则只是查看,最主要的设置是export,用于配置共享目录,其它可保持默认
  • 在选项卡export中可以设置共享的目录( [参考haneWIN NFS帮助] ),如增加以下一行,就是文本编辑,然后保存,重启server生效:
d:\data -name:shared
  • ubuntu中sudo vi /etc/fstab,增加如下一行:
192.168.56.1:/shared /data nfs defaults 0 0

mout.nfs还有其它许多参数可以指定(如超时,udp/tcp),一般使用defaults就可以了。

  • 其它第三方nfs-server比较流行的有winNFSd

性能比较

通过实测性能(ubuntu中eclipse 编译8个工程约10万行代码,代码放在共享目录中),性能是:nfs>vboxsf>cifs。nfs性能是vboxsf的1.5倍,cifs差很多。

其它

2年多前,有人比较过vboxsf/nfs/vmare share fs的性能,可以参考一下。但这段时间内vboxsf已经有很多版本升级,应该性能也有提升。本文发表时,在某些场景上还是nfs优于vboxs。

你可能感兴趣的:(Linux使用经验)