NFS網絡文件共享服務


相關內容:

NFS:即為網絡文件系統。

主要功能:通過網絡(局域網)讓不同的主機系統之間可以共享文件或目錄。

主要用途:NFS網絡文件系統一般被用來存儲共享視頻,圖片,附件等靜態資源文件。

關於端口使用說明:

1.通過網絡來進行數據傳輸,因此會使用一些端口來傳輸數據。

2.NFS在傳輸數據的時候使用的端口會隨機選擇。

問:nfs客戶端如何知道nfs服務器端使用哪個端口?

答:通過RPC(遠程過程調用)協議/服務來實現。

rpc工作原理:1.啟動RPC服務

       2.nfs啟動時隨機取用若干端口,並主動向rpc服務注冊取用相關信息

       3.客戶端請求nfs服務向rpc

       4.rpc返回端口給客戶端

                  5.拿着地址與端口向nfs服務器請求傳輸數據

所以綜上所述:nfs服務必須在rpc服務啟動之后啟動,客戶端無需啟動nfs服務,但需要啟動rpc服務。

nfs部署:

需要安裝的軟件包:

nfs-utils:nfs服務主程序

rpcbind:rpc主程序

yum install -y  nfs-utils rpcbind 

啟動nfs相關服務:

1.啟動rpcbind

systemctl status rpcbind

systemctl start rpcbind

systemctl enable rpcbind

rpcinfo -p localhost             //查看nfs服務向rpc服務注冊的端口信息。此時nfs服務還沒有啟動因此沒有太多注冊的端口映射信息。

lsof -i : 111

netstat -lntup | grep rpcbind

2.啟動nfs服務:

systemctl start nfs

systemctl enable nfs

systemctl status nfs

rpcinfo -p localhost        //查看注冊信息

[root@localhost ~]# ps -ef | egrep "rpc|nfs"
root        378      2  0 02:39 ?        00:00:00 [rpciod]
rpc        4873      1  0 04:08 ?        00:00:00 /sbin/rpcbind -w                      
rpcuser    5055      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.statd --no-notify         //檢查文件一致性
root       5056      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.idmapd                    
root       5057      1  0 04:18 ?        00:00:00 /usr/sbin/rpc.mountd                    //權限管理驗證
root       5062      2  0 04:18 ?        00:00:00 [nfsd4_callbacks]
root       5068      2  0 04:18 ?        00:00:00 [nfsd]
root       5069      2  0 04:18 ?        00:00:00 [nfsd]
root       5070      2  0 04:18 ?        00:00:00 [nfsd]
root       5071      2  0 04:18 ?        00:00:00 [nfsd]
root       5072      2  0 04:18 ?        00:00:00 [nfsd]
root       5073      2  0 04:18 ?        00:00:00 [nfsd]
root       5074      2  0 04:18 ?        00:00:00 [nfsd]
root       5075      2  0 04:18 ?        00:00:00 [nfsd]
root       5189   3406  0 04:27 pts/0    00:00:00 grep -E --color=auto rpc|nfs

  

NFS服務器啟動的時候至少需要兩個不同的進程,一個是管理nfs客戶端是否可以登陸rpc。nfsd主進程,一個是管理nfs客戶端是否能夠登入的rpc.mountd進程。

如果需要管理磁盤配額,則還需要加載rpc.rquotad進程

nfs服務端說明:

配置nfs啟動文件:

默認存放地點:/etc/exports          //存在但是沒有內容,默認為空

exports配置文件格式:

nfs共享目錄  nfs客戶端地址1(參1,參2.....) 客戶端地址2(參1,參2...)

說明:

nfs共享目錄:為nfs服務器要共享的實際目錄,絕對目錄。注意權限問題。

nfs客戶端地址:為nfs服務器授權可以訪問的客戶端的地址,可以是單獨的ip地址或主機名,域名。也可以是整個網段。

授權整個網段:eg:10.0.0.0/24

文件配置實例說明:

1. /data 10.10.10.0/24(rw,sync)   //允許客戶端讀寫,並且數據同步寫到服務器端磁盤  注意:24與(之間不能有空格

2./data 10.10.10.0/24(rw,sync,all_squash,anonuid=2000,anongid=2000)//允許讀寫,並且數據同步到客戶端磁盤,並且指定客戶端的用戶uid和pid

3./data 10.10.10.0/24(ro) //只讀共享

rw讀寫權限

sync請求或寫入數據時,數據同步寫入到nfs server 的硬盤后才返回。

ro 只讀權限

all_squash 不管是什么身份訪問共享目錄,權限都將被壓縮成匿名用戶。

                 1)確保所有客戶端服務器對nfs共享目錄具備相同的用戶訪問權限。

      2)就是anonuid,anongid指定的uid和gid的用戶。

 nfs 服務端配置:

 mkdir -p /data                              //創建數據目錄
touch /data/ffy.txt //創建測試文檔
chown -R nfsnobody.nfsnobody /data
         //更改屬組,nfsnobody.nfsnobody
ls -ld /data vim /etc/exports //編輯配置文件。
/data 192.168.232.0/24(rw,sync)

exportfs
-rv //加載配置文件
showmount
-e localhost //nfs服務器本地查看掛載情況。 mount -t nfs 192.168.232.140:/data /mnt //本地掛載配置
df -h

 

 

 nfs 客戶端 配置:

    
 yum install rpcbind nfs-utils -y   //安裝rpcbind與nfs 
 systemctl start rpcbind            //啟動rpcbind,不啟動nfs 為了使用showmount等功能。但客戶端不用nfs功能
 showmount -e 192.168.232.140       //查看本地

 
mount -t nfs 192.168.232.140:/data /mnt  //執行掛載命令掛載到本機的/mnt目錄下。 前面的ip地址是客戶端的ip地址
df -h                                    //查看掛載,如果有,則掛載成功。

至此所有的安裝成功。

 


免責聲明!

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



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