1. 程式人生 > >Virtualbox高效能讀寫Win10主機共享目錄

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。