NFS服務搭建與配置

NFS服務搭建與配置linux


NFS介紹vim

NFS服務須要藉助RPC協議實現通訊網絡

NFSNetworkFileSystem的縮寫架構

1.NFS最先由Sun公司開發,分234三個版本,23Sun起草開發,40開始Netapp公司與並主導開發,最新爲41版本app

2.NFS數據傳輸基於RPC協議,RPCRemoteProcedureCall的簡寫。dom

3.NFS應用場景是:ABC三臺機器上須要保證被訪問到的文件是同樣的,A共享數據出來,BC分別去掛載A共享的數據目錄,從而BC訪問到的數據和A上的一致async

NFS架構
ide

wKiom1mWglmghOCOAABz1dCUdM4254.png

NFS原理圖測試

rpcbind監聽的是111端口ui

wKioL1mWgnrhVACzAAEzN68yKxY610.png


NFS服務端安裝配置

首先要準備兩臺機器,一個做爲它的服務端AAA-01一個做爲他的客戶端BBB-01。

第一步,在客戶端和服務端上安裝兩個包:yum install -y nfs-utils rpcbind 

第二步,在服務端AAA-01編輯配置文件:vim /etc/exports //加入以下內容: 

/home/nfstestdir 192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)

/home/nfstestdir 意思是你要分享出去的目錄,這個目錄是不存在的,你須要建立它;

192.168.133.0/24(rw,sync,all_squash,anonuid=1000,anongid=1000)意思是指定你要跟哪臺機器去分享共享這個目錄他的IP段,小括號裏邊的選項下邊有解釋。

image.png

保存配置文件後,執行以下準備操做 

建立目錄:mkdir /home/nfstestdir 

更改目錄權限:chmod 777 /home/nfstestdir

查看一下監聽端口:netstat -lntp 你會發現rpcbind(111)端口已經啓動了

image.png

啓動rpcbind端口:systemctl start rpcbind 通常安裝完以後他自動就會起來

啓動NFS服務:systemctl start nfs

查看一下:ps aux |grep nfs

image.png

rpcbind開機自啓:systemctl enable rpcbind 取消:systemctl disable rpcbind 

nfs開機自啓命令:systemctl enable nfs 取消:systemctl disable rpcbind 


客戶端掛載BBB-01

yum install -y nfs-utils

假若有一臺機器他作了nfs的服務,我想查看我到底有沒有權限,用命令:

showmount -e 192.168.133.130 //該ip爲NFS服務端ip,

他報錯了,意思是網絡不通。這時候你要排查,基本上有兩種緣由,一是服務端沒有監聽111端口,二是兩邊的防火牆沒有關閉

image.png

查看他監聽着111端口,很顯然他是由於防火牆的緣由

image.png

關閉客戶端、服務端兩端的防火牆:systemctl stop firewalld  關閉兩端的selinxu:setenforce 0

作完以上操做後在:showmount -e 192.168.133.130 這時就能看到他共享的目錄是home,後邊是共享給那些機器他的IP段

image.png

如今就能夠掛載了,-t指定類型是nfs,而後是遠程的IP以及共享的目錄,掛載到mnt目錄下

mount -t nfs 192.168.133.130:/home/nfstestdir /mnt

查看一下:df -h

image.png

進到這個目錄下:cd /mnt/

去建立一個文件:touch /mnt/aminglinux.111

ls -l /mnt/aminglinux.111 //能夠看到文件的屬主和屬組都爲1000

image.png

你能夠看看服務端,他的id也是100,這是由於你限定了用戶

image.png

image.png


NFS掛載選項

1.rw寫

2.ro只讀

3.sync同步模式,內存數據實時寫入磁盤;他能很快的寫入到磁盤裏去,相應的她會下降磁盤的效率

4.async非同步模式,每隔一段時間寫一次數據;好處是能提升磁盤的效率,缺點萬一斷電會丟失一部分數據

5.noroot-squash客戶端掛載NFS共享目錄後,root用戶不受約束,權限很大

6.root-squash與上面選項相對,客戶端上的root用戶收到約束,被限定成某個普通用戶

7.all-squash客戶端上全部用戶在使用NFS共享目錄時都被限定爲一個普通用戶

8.anonuid/anongid和上面幾個選項搭配使用,定義被限定用戶的uid和gid


exportfs命令

經常使用選項 

-a 所有掛載或者所有卸載

-r 從新掛載

-u 卸載某一個目錄

-v 顯示共享目錄

如下操做在服務端上

先掛載mut目錄,這種狀況兩種解決辦法:一是退出來在umount,二是umount -l /mut -l懶漢模式

image.png

exportfs -arv //不用重啓nfs服務,配置文件就會生效

image.png

測試一下:

編輯配置文件:vim /etc/exports //增長

/tmp/ 192.168.65.136/24(rw,sync,no_root_squash)把tmp單獨共享給一個IP,再也不限制root用戶

image.png

exportfs -arv //不用重啓nfs服務,配置文件就會生效

image.png

在客戶端上測試下,並無重啓nfs服務他也生效了

image.png


NFS客戶端問題

客戶端文件屬主屬組nobody,NFS 4版本會有該問題

問題1.客戶端掛載共享目錄後,無論是root用戶仍是普通用戶,建立新文件時屬主、屬組爲nobody

解決辦法1:客戶端掛載時加上-o nfsvers=3

image.png

客戶端和服務端都須要

解決方法2:編輯配置文件Vim /etc/idmapd.conf

把"#Domain=local.domain.edu"改成"Domain=xxx.com"(這裏的xxx.com,隨意定義吧),而後再重rpcidmapd服務沒有這個服務啓動rpcbind服務就行

相關文章
相關標籤/搜索