1. 程式人生 > >開啟 NFS 檔案系統提升 Vagrant 共享目錄的效能

開啟 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 檔案,因此可能要你輸入密碼,而且每次啟動都要會求輸入,稍微有點麻煩。

測試結果

這樣,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 使用者無法使用該功能。

待解決疑問:

  1. NFS 是否支援 :public_network? 答:不支援
  2. 有人說還得安裝 portmap,能給我解釋下