NFS全稱是Network File System,網絡文件系統。它可以通過網絡實現文件共享。其結構圖大概是這樣的:
在機器E上開啓NFS服務,機器ABCD都掛載NFS,這樣可以實現機器ABCD共享文件。
由於文件共享的特性,NFS還被用作分佈式系統的備份。比如Elasticsearch集羣的備份需要用到NFS。
服務端
首先開啓NFS服務端,在Ubuntu中的命令如下:
sudo apt-get update
sudo apt-get install nfs-kernel-server
然後我們建一個文件夾,用作共享目錄:
sudo mkdir /var/nfs/general
這樣建立的文件夾歸屬於root用戶,那麼客戶端在使用的時候都需要root權限才能查看,因此我們需要修改一些文件夾歸屬:
sudo chown nobody:nogroup /var/nfs/general
然後需要修改一下NFS的配置,告訴NFS組件哪些文件夾需要導出。我們來編輯/etc/exports這個文件,其格式要求如下:
文件夾 客戶端IP地址(權限選項1, 選項2, ...)
這裏舉個例子:
/var/nfs/general 127.0.0.1(rw,sync,no_subtree_check)
修改完成之後重啓NFS服務端,命令如下:
sudo service nfs-kernel-server restart
這樣我們就完成了服務端的搭建。
客戶端
然後在另外一臺機器上連接前面建立的NFS服務。首先要安裝NFS客戶端軟件,在Ubuntu中的命令如下:
sudo apt-get update
sudo apt-get install nfs-common
然後建立一個共享目錄:
sudo mkdir /nfs
然後把NFS掛載這個文件夾上:
sudo mount 127.0.0.1:/var/nfs/general /nfs
然後我們就可以在/nfs下訪問共享目錄啦。