linux下搭建NFS服務器


 

服務端:10.6.191.183
客戶端:10.6.191.182

       NFS 是Network File System的縮寫,即網絡文件系統。一種使用於分散式文件系統的協定,由Sun公司開發,於1984年向外公布。功能是通過網絡讓不同的機器、不同的操作系統能夠彼此分享個別的數據,讓應用程序在客戶端通過網絡訪問位於服務器磁盤中的數據,是在類Unix系統間實現磁盤文件共享的一種方法。

       NFS在文件傳送或信息傳送過程中依賴於RPC協議,RPC遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制,NFS本身是沒有提供信息傳輸的協議和功能的。

       NFS應用場景,常用於高可用文件共享,多台服務器共享同樣的數據,可擴展性比較差,本身高可用方案不完善,取而代之的數據量比較大的可以采用MFS、TFS、HDFS、GFS等等分布式文件系統。

NFS(網絡文件系統):讓網絡上的不同linux/unix系統機器實現文件共享
nfs本身只是一種文件系統,沒有提供文件傳遞的功能,但卻能讓我們進行文件的共享,原因在於 NFS 使用RPC服務,用到NFS的地方都需要啟動RPC服務,無論是NFS客戶端還是服務端
nfs和rpc的關系:nfs是一個文件系統,負責管理分享的目錄;rpc負責文件的傳遞
nfs啟動時至少有rpc.nfsd和rpc.mountd2個daemon
rpc.nfsd主要是管理客戶機登陸nfs服務器時,判斷改客戶機是否能登陸,和客戶機ID信息。
Rpc.mountd主要是管理nfs的文件系統。當客戶機順利登陸nfs服務器時,會去讀/etc/exports文件中的配置,然后去對比客戶機的權限。
協議使用端口:
RPC:111 tcp/udp
nfsd:  2049 tcp/udp
mountd:RPC服務在 nfs服務啟動時默認會為 mountd動態選取一個隨機端口(32768--65535)來進行通訊 ,可以在/etc/nfsmount.conf文件中指定mountd的端口

一、服務端安裝配置

1、NFS文件系統安裝配置

yum  install  nfs-utils rpcbind  -y  

NFS安裝完畢,需要創建共享目錄,共享目錄在vi  /etc/exports文件里面配置,可配置參數如下,在配置文件中添加如上一行,然后重啟Portmap:

/data/      *(rw,no_root_squash,no_all_squash,sync)

配置文件詳解:

/data/            表示需要共享的目錄。
IP                表示允許哪個客戶端訪問。
IP后括號里的設置表示對該共享文件的權限。
ro                只讀訪問 
rw                讀寫訪問 
sync              所有數據在請求時寫入共享 
all_squash        共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄。 
no_all_squash     保留共享文件的UID和GID(默認) 
root_squash       root用戶的所有請求映射成如anonymous用戶一樣的權限(默認) 
no_root_squash    root用戶具有根目錄的完全管理訪問權限

配置生效

exportfs -r

重啟NFS服務即可

service rpcbind restart ;service nfs restart

查看 RPC 服務的注冊狀況

rpcinfo -p localhost

選項與參數:
-p :針對某 IP (未寫則預設為本機) 顯示出所有的 port 與 porgram 的信息;
-t :針對某主機的某支程序檢查其 TCP 封包所在的軟件版本;
-u :針對某主機的某支程序檢查其 UDP 封包所在的軟件版本;

二、客戶端安裝配置

1、安裝nfs-utils客戶端

[root@bogon ~]# yum -y install nfs-utils

查看服務器拋出的共享目錄信息

showmount -e 10.6.191.208

Linux客戶端,如何想使用這個NFS文件系統,需要在客戶端掛載,掛載命令為(為了提高NFS的穩定性,使用TCP協議掛載,NFS默認用UDP協議):

mount –t  nfs  10.6.191.208:/data/   /mnt  -o proto=tcp -o nolock

開啟自動掛載,在/etc/fstab下加上如下配置(可能失敗):

10.6.191.208:/data /mnt  nfs  defaults  0 0 

如果有報錯根據錯誤信息排查。常見問題有rpc服務沒有啟動、防火牆沒關閉、selinux未關閉等問題。(拓展* 有興趣的童鞋可以研究MFS(分布式文件系統)

查看掛載結果

三、報錯信息

 PS報錯信息:

1、

解決方法:

rpcinfo -p

rpm -qa |grep nfs-utils

yum -y install nfs-utils

systemctl start nfs-utils

systemctl enable  nfs-utils

rpcinfo -p

mount -t nfs 10.6.191.183:/nfs /home/ddsc/data/

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM