開啟 NFS 檔案系統提升 Vagrant 共享目錄的效能
阿新 • • 發佈:2019-03-22
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 使用者無法使用該功能。
待解決疑問:
- NFS 是否支援
:public_network
? 答:不支援 - 有人說還得安裝
portmap
,能給我解釋下