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 restart (Centos5以前版本)
或者 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未關閉等問題。