查看: 8600|回复: 0

[linux] 开启 NFS 文件系统提升 Vagrant 共享目录的性能

[复制链接]

48

主题

60

帖子

2715

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
2715
发表于 2016-11-27 15:36:27 | 显示全部楼层 |阅读模式
Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能。
开启方法
首先要把虚拟机的网络设置成 :private_network 模式。
然后确认宿主机系统是否安装了 nfsd,Mac OS X 默认是集成了的,部分 Linux 需要安装对应 package 才能支持(以 Ubuntu 为例):
  1. $ sudo apt-get install nfs-kernel-server nfs-common
复制代码
同时,虚拟机里的系统也要安装对应的 package:
  1. $ sudo apt-get install nfs-common
复制代码
接下来编辑配置文件 Vagrantfile,将共享的目录 nfs 设置为 true,如下:
  1. Vagrant.configure("2") do |config|
  2.   # ...

  3.   config.vm.synced_folder ".", "/vagrant", :nfs => true
  4. end
复制代码
保存后,使用命令 vagrant reload 重启虚拟机后才会生效,期间会修改宿主计算机的 /etc/exports 文件,因此可能要你输入密码,而且每次启动都要会求输入,稍微有点麻烦。
测试结果
这样,NFS 就成功启动了,下次做单元测试的时候,可以测试一下速度,会不会快些呢?这里有个官方做单元测试跑出的分数:
  1. VirtualBox Shared Folders:         5m 14s
  2. Host File System:                     10s
  3. Native VM File System:                13s
  4. NFS Shared Folders:                   22s
  5. NFS Shared Folders (warm cache):      14s
复制代码
  1. 由于 Windows 并不支持 NFS,所以 Windows 用户无法使用该功能。
复制代码
待解决疑问:
  • NFS 是否支持 :public_network? 答:不支持
  • 有人说还得安装 portmap,能给我解释下为什么吗?
签名
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表