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

Vagrant 默认的 VirtualBox 共享目录方式读写性能表现并不好,好在 Vagrant 支持 NFS 文件系统方式的共享,我们可以启用 NFS 提升性能。

开启方法

首先要把虚拟机的网络设置成 :private_network 模式。

然后确认宿主机系统是否安装了 nfsd,Mac OS X 默认是集成了的,部分 Linux 需要安装对应 package 才能支持(以 Ubuntu 为例):

$ sudo apt-get install nfs-kernel-server nfs-common

同时,虚拟机里的系统也要安装对应的 package:

$ sudo apt-get install nfs-common

接下来编辑配置文件 Vagrantfile,将共享的目录 nfs 设置为 true,如下:

Vagrant.configure("2") do |config| # ... config.vm.synced_folder ".", "/vagrant", :nfs => true end

保存后,使用命令 vagrant reload 重启虚拟机后才会生效,期间会修改宿主计算机的 /etc/exports 文件,因此可能要你输入密码,而且每次启动都要会求输入,稍微有点麻烦。

Vagrant 快速入门

如何使用vagrant在虚拟机安装Hadoop集群

Vagrant 中高效的 Puppet 模块管理

使用 Vagrant 和 Fabric 用于集成测试

使用 Vagrant 搭建开发环境

Windows 下配置 Vagrant 环境

测试结果

这样,NFS 就成功启动了,下次做单元测试的时候,可以测试一下速度,会不会快些呢?这里有个官方做单元测试跑出的分数:

VirtualBox Shared Folders: 5m 14s Host File System: 10s Native VM File System: 13s NFS Shared Folders: 22s NFS Shared Folders (warm cache): 14s

由于 Windows 并不支持 NFS,所以 Windows 用户无法使用该功能。

待解决疑问:

NFS 是否支持 :public_network? 答:不支持

有人说还得安装 portmap,能给我解释下为什么吗?

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f1021c1b0e59b45d33d8d842a63f2142.html