1. 程式人生 > >Linux 下 搭建nfs伺服器

Linux 下 搭建nfs伺服器

NFS 是Network File System的縮寫,即網路檔案系統。一種使用於分散式檔案系統的協定,由Sun公司開發,於1984年向外公佈。功能是通過網路讓不同的機器、不同的作業系統能夠彼此分享個別的資料,讓應用程式在客戶端通過網路訪問位於伺服器磁碟中的資料,是在類Unix系統間實現磁碟檔案共享的一種方法。

NFS在檔案傳送或資訊傳送過程中依賴於RPC協議。RPC,遠端過程呼叫 (Remote Procedure Call) 是能使客戶端執行其他系統中程式的一種機制。NFS本身是沒有提供資訊傳輸的協議和功能的。

NFS應用場景,常用於高可用檔案共享,多臺伺服器共享同樣的資料,可擴充套件性比較差,本身高可用方案不完善,取而代之的資料量比較大的可以採用MFS、TFS、HDFS等等分散式檔案系統。

一、安裝nfs服務

支援安全NFS RPC服務的連線(Centos5以前這個軟體稱為portmap,在Centos6之後稱為rpcbind)

yum install nfs* portmap -y      或      yum install nfs* rpcbind -y

二、建立共享目錄   、  配置 /etc/exports 共享檔案

1.    mkdir /sharedata

2.    配置內容              /sharedata/      * (rw,sync,no_hide,no_all_squash)

各部分說明 :          共享目錄     被允許的客戶端IP(* 表示任意IP都可以)

IP後括號裡的設定表示對該共享檔案的許可權

ro                      只讀訪問

rw                      讀寫訪問

sync                    所有資料在請求時寫入共享

hide                    在NFS共享目錄中不共享其子目錄

no_hide                 共享NFS目錄的子目錄

all_squash              共享檔案的UID和GID對映匿名使用者anonymous,適合公用目錄。

no_all_squash           保留共享檔案的UID和GID(預設)

root_squash             root使用者的所有請求對映成如anonymous使用者一樣的許可權(預設)

no_root_squas           root使用者具有根目錄的完全管理訪問許可權

三、重啟nfs伺服器

1.   service    portmap restartCentos5以前版本

或者 service rpcbind restart Centos 6以後版本

2.   service nfs restart


可能出現NFS 服務失敗 ,如:


解決辦法:修改共享檔案/etc/exports 配置

即:刪除出現問題的項   /sharedata/      * (rw,sync,no_all_squash)

四、客戶端掛載

1.   掛載命令:mount -t nfs 192.168.1.10:/sharedata   /mnt

2.  檢查服務端的NFS服務是不是啟動成功 df -h


3.取消客戶端掛載

umount /mnt 或者 umount -l /mnt

第二個命令中加了 -l ,是強制執行的命令,對於出現device is busy 時才可以使用

3. 如果有報錯根據錯誤資訊排查。

常見問題有rpc服務沒有啟動、防火牆沒關閉、selinux未關閉等問題。