主頁(yè) > 知識(shí)庫(kù) > 淺析NFS服務(wù)器原理以及搭建配置部署步驟

淺析NFS服務(wù)器原理以及搭建配置部署步驟

熱門標(biāo)簽:藍(lán)點(diǎn)外呼系統(tǒng) 做外呼系統(tǒng)的公司違法嗎 撫順移動(dòng)400電話申請(qǐng) 400電話申請(qǐng)方案 寧夏房產(chǎn)智能外呼系統(tǒng)要多少錢 貴陽(yáng)教育行業(yè)電話外呼系統(tǒng) 威海人工外呼系統(tǒng)供應(yīng)商 烏海智能電話機(jī)器人 在百度地圖標(biāo)注車輛

NFS服務(wù)簡(jiǎn)介

什么是NFS?

  • NFS就是Network File System的縮寫(xiě),它最大的功能就是可以通過(guò)網(wǎng)絡(luò),讓不同的機(jī)器、不同的操作系統(tǒng)可以共享彼此的文件。
  • ​ NFS服務(wù)器可以讓PC將網(wǎng)絡(luò)中的NFS服務(wù)器共享的目錄掛載到本地端的文件系統(tǒng)中,而在本地端的系統(tǒng)中來(lái)看,那個(gè)遠(yuǎn)程主機(jī)的目錄就好像是自己的一個(gè)磁盤分區(qū)一樣,在使用上相當(dāng)便利;
  • NFS一般用來(lái)存儲(chǔ)共享視頻,圖片等靜態(tài)數(shù)據(jù)。

NFS掛載原理

服務(wù)器掛載結(jié)構(gòu)圖

如上圖示:

當(dāng)我們?cè)贜FS服務(wù)器設(shè)置好一個(gè)共享目錄/home/public后,

其他的有權(quán)訪問(wèn)NFS服務(wù)器的NFS客戶端就可以將這個(gè)目錄掛載到自己文件系統(tǒng)的某個(gè)掛載點(diǎn)

這個(gè)掛載點(diǎn)可以自己定義

如上圖客戶端A與客戶端B掛載的目錄就不相同。

并且掛載好后我們?cè)诒镜啬軌蚩吹椒?wù)端/home/public的所有數(shù)據(jù)。

  • 如果服務(wù)器端配置的客戶端只讀,那么客戶端就只能夠只讀。
  • 如果配置讀寫(xiě),客戶端就能夠進(jìn)行讀寫(xiě)。

掛載后,NFS客戶端查看磁盤信息命令:#df –h。

既然NFS是通過(guò)網(wǎng)絡(luò)來(lái)進(jìn)行服務(wù)器端和客戶端之間的數(shù)據(jù)傳輸,那么兩者之間要傳輸數(shù)據(jù)就要有想對(duì)應(yīng)的網(wǎng)絡(luò)端口,

NFS服務(wù)器到底使用哪個(gè)端口來(lái)進(jìn)行數(shù)據(jù)傳輸呢?

基本上NFS這個(gè)服務(wù)器的端口開(kāi)在2049,但由于文件系統(tǒng)非常復(fù)雜。

因此NFS還有其他的程序去啟動(dòng)額外的端口,這些額外的用來(lái)傳輸數(shù)據(jù)的端口是隨機(jī)選擇的,是小于1024的端口;

既然是隨機(jī)的那么客戶端又是如何知道NFS服務(wù)器端到底使用的是哪個(gè)端口呢?

這時(shí)就需要通過(guò)遠(yuǎn)程過(guò)程調(diào)用(Remote Procedure Call,RPC)協(xié)議來(lái)實(shí)現(xiàn)了!

RPC與NFS通訊原理

​ 因?yàn)镹FS支持的功能相當(dāng)多,而不同的功能都會(huì)使用不同的程序來(lái)啟動(dòng),每啟動(dòng)一個(gè)功能就會(huì)啟用一些端口來(lái)傳輸數(shù)據(jù),因此NFS的功能對(duì)應(yīng)的端口并不固定,客戶端要知道NFS服務(wù)器端的相關(guān)端口才能建立連接進(jìn)行數(shù)據(jù)傳輸,而RPC就是用來(lái)統(tǒng)一管理NFS端口的服務(wù),并且統(tǒng)一對(duì)外的端口是111,RPC會(huì)記錄NFS端口的信息,如此我們就能夠通過(guò)RPC實(shí)現(xiàn)服務(wù)端和客戶端溝通端口信息。PRC最主要的功能就是指定每個(gè)NFS功能所對(duì)應(yīng)的port number,并且通知客戶端,記客戶端可以連接到正常端口上去。

那么RPC又是如何知道每個(gè)NFS功能的端口呢?

首先當(dāng)NFS啟動(dòng)后,就會(huì)隨機(jī)的使用一些端口,然后NFS就會(huì)向RPC去注冊(cè)這些端口,RPC就會(huì)記錄下這些端口,并且RPC會(huì)開(kāi)啟111端口,等待客戶端RPC的請(qǐng)求,如果客戶端有請(qǐng)求,那么服務(wù)器端的RPC就會(huì)將之前記錄的NFS端口信息告知客戶端。如此客戶端就會(huì)獲取NFS服務(wù)器端的端口信息,就會(huì)以實(shí)際端口進(jìn)行數(shù)據(jù)的傳輸了。

注意:

在啟動(dòng)NFS SERVER之前,首先要啟動(dòng)RPC服務(wù)(即portmap服務(wù),下同)

否則NFS SERVER就無(wú)法向RPC服務(wù)區(qū)注冊(cè),

另外,如果RPC服務(wù)重新啟動(dòng),原來(lái)已經(jīng)注冊(cè)好的NFS端口數(shù)據(jù)就會(huì)全部丟失。

因此此時(shí)RPC服務(wù)管理的NFS程序也要重新啟動(dòng)以重新向RPC注冊(cè)。

特別注意:

一般修改NFS配置文檔后,是不需要重啟NFS的,直接在命令執(zhí)行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效

NFS客戶端和NFS服務(wù)器通訊過(guò)程

  • 首先服務(wù)器端啟動(dòng)RPC服務(wù),并開(kāi)啟111端口
  • 服務(wù)器端啟動(dòng)NFS服務(wù),并向RPC注冊(cè)端口信息
  • 客戶端啟動(dòng)RPC(portmap服務(wù)),向服務(wù)端的RPC(portmap)服務(wù)請(qǐng)求服務(wù)端的NFS端口
  • 服務(wù)端的RPC(portmap)服務(wù)反饋NFS端口信息給客戶端。
  • 客戶端通過(guò)獲取的NFS端口來(lái)建立和服務(wù)端的NFS連接并進(jìn)行數(shù)據(jù)的傳輸。

Linux下NFS服務(wù)器部署

NFS服務(wù)所需軟件及主要配置文件

安裝NFS服務(wù),需要安裝兩個(gè)軟件,分別是:

RPC主程序:rpcbind

NFS 其實(shí)可以被視為一個(gè) RPC 服務(wù),因?yàn)閱?dòng)任何一個(gè) RPC 服務(wù)之前,我們都需要做好 port 的對(duì)應(yīng) (mapping) 的工作才行,這個(gè)工作其實(shí)就是『 rpcbind 』這個(gè)服務(wù)所負(fù)責(zé)的!

也就是說(shuō), 在啟動(dòng)任何一個(gè) RPC 服務(wù)之前,我們都需要啟動(dòng) rpcbind 才行! (在 CentOS 5.x 以前這個(gè)軟件稱為 portmap,在 CentOS 6.x 之后才稱為 rpcbind 的!)。

NFS主程序:nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 這兩個(gè) NFS daemons 與其他相關(guān) documents 與說(shuō)明文件、執(zhí)行文件等的軟件!這個(gè)就是 NFS 服務(wù)所需要的主要軟件。

NFS的相關(guān)文件

  • 主要配置文件:/etc/exports
    這是 NFS 的主要配置文件了。該文件是空白的,有的系統(tǒng)可能不存在這個(gè)文件,主要手動(dòng)建立。NFS的配置一般只在這個(gè)文件中配置即可。
  • NFS 文件系統(tǒng)維護(hù)指令:/usr/sbin/exportfs
    這個(gè)是維護(hù) NFS 分享資源的指令,可以利用這個(gè)指令重新分享 /etc/exports 變更的目錄資源、將 NFS Server 分享的目錄卸除或重新分享。
  • 分享資源的登錄檔:/var/lib/nfs/*tab
    在 NFS 服務(wù)器的登錄文件都放置到 /var/lib/nfs/ 目錄里面,在該目錄下有兩個(gè)比較重要的登錄檔, 一個(gè)是 etab ,主要記錄了 NFS 所分享出來(lái)的目錄的完整權(quán)限設(shè)定值;另一個(gè) xtab 則記錄曾經(jīng)鏈接到此 NFS 服務(wù)器的相關(guān)客戶端數(shù)據(jù)。
  • 客戶端查詢服務(wù)器分享資源的指令:/usr/sbin/showmount
    這是另一個(gè)重要的 NFS 指令。exportfs 是用在 NFS Server 端,而 showmount 則主要用在 Client 端。showmount 可以用來(lái)察看 NFS 分享出來(lái)的目錄資源。

服務(wù)端安裝NFS服務(wù)步驟

第一步:安裝NFS和rpc

[root@localhost ~]# yum install -y  nfs-utils   
#安裝nfs服務(wù)
[root@localhost ~]# yum install -y rpcbind
#安裝rpc服務(wù)

第二步:?jiǎn)?dòng)服務(wù)和設(shè)置開(kāi)啟啟動(dòng)

注意:先啟動(dòng)rpc服務(wù),再啟動(dòng)nfs服務(wù)。

[root@localhost ~]# systemctl start rpcbind    #先啟動(dòng)rpc服務(wù)
[root@localhost ~]# systemctl enable rpcbind   #設(shè)置開(kāi)機(jī)啟動(dòng)
[root@localhost ~]# systemctl start nfs-server nfs-secure-server      
#啟動(dòng)nfs服務(wù)和nfs安全傳輸服務(wù)
[root@localhost ~]# systemctl enable nfs-server nfs-secure-server
[root@localhost /]# firewall-cmd --permanent --add-service=nfs
success   #配置防火墻放行nfs服務(wù)
[root@localhost /]# firewall-cmd  --reload 
success

第三步:配置共享文件目錄,編輯配置文件

首先創(chuàng)建共享目錄,然后在/etc/exports配置文件中編輯配置即可。

[root@localhost /]# mkdir /public
#創(chuàng)建public共享目錄
[root@localhost /]# vi /etc/exports
	/public 192.168.245.0/24(ro)
	/protected 192.168.245.0/24(rw)
[root@localhost /]# systemctl reload nfs 
#重新加載NFS服務(wù),使配置文件生效

配置文件說(shuō)明:

  • 格式: 共享目錄的路徑 允許訪問(wèn)的NFS客戶端(共享權(quán)限參數(shù))
    如上,共享目錄為/public , 允許訪問(wèn)的客戶端為192.168.245.0/24網(wǎng)絡(luò)用戶,權(quán)限為只讀。
    請(qǐng)注意,NFS客戶端地址與權(quán)限之間沒(méi)有空格。
    NFS輸出保護(hù)需要用到kerberos加密(none,sys,krb5krb5i,krb5p),格式sec=XXX
  • none:以匿名身份訪問(wèn),如果要允許寫(xiě)操作,要映射到nfsnobody用戶,同時(shí)布爾值開(kāi)關(guān)要打開(kāi),
    setsebool nfsd_anon_write 1
  • sys:文件的訪問(wèn)是基于標(biāo)準(zhǔn)的文件訪問(wèn),如果沒(méi)有指定,默認(rèn)就是sys, 信任任何發(fā)送過(guò)來(lái)用戶名
  • krb5:客戶端必須提供標(biāo)識(shí),客戶端的表示也必須是krb5,基于域環(huán)境的認(rèn)證
  • krb5i:在krb5的基礎(chǔ)上做了加密的操作,對(duì)用戶的密碼做了加密,但是傳輸?shù)臄?shù)據(jù)沒(méi)有加密
  • krb5p:所有的數(shù)據(jù)都加密

用于配置NFS服務(wù)程序配置文件的參數(shù):

參數(shù) 作用
ro 只讀
rw 讀寫(xiě)
root_squash 當(dāng)NFS客戶端以root管理員訪問(wèn)時(shí),映射為NFS服務(wù)器的匿名用戶
no_root_squash 當(dāng)NFS客戶端以root管理員訪問(wèn)時(shí),映射為NFS服務(wù)器的root管理員
all_squash 無(wú)論NFS客戶端使用什么賬戶訪問(wèn),均映射為NFS服務(wù)器的匿名用戶
sync 同時(shí)將數(shù)據(jù)寫(xiě)入到內(nèi)存與硬盤中,保證不丟失數(shù)據(jù)
async 優(yōu)先將數(shù)據(jù)保存到內(nèi)存,然后再寫(xiě)入硬盤;這樣效率更高,但可能會(huì)丟失數(shù)據(jù)

NFS客戶端掛載配置

第一步:使用showmount命令查看nfs服務(wù)器共享信息

輸出格式為“共享的目錄名稱 允許使用客戶端地址”

[root@localhost ~]# showmount -e 192.168.245.128      
Export list for 192.168.245.128:
/protected 192.168.245.0/24
/public    192.168.245.0/24

showmount命令的用法;

參數(shù) 作用
-e 顯示NFS服務(wù)器的共享列表
-a 顯示本機(jī)掛載的文件資源的情況NFS資源的情況
-v 顯示版本號(hào)

第二步:在客戶端創(chuàng)建目錄,并掛載共享目錄

[root@localhost ~]# mkdir /mnt/public
[root@localhost ~]# mkdir /mnt/data
[root@localhost ~]# vim /etc/fstab 
#在該文件中掛載,使系統(tǒng)每次啟動(dòng)時(shí)都能自動(dòng)掛載
	192.168.245.128:/public  /mnt/public       nfs    defaults 0 0
	192.168.245.128:/protected /mnt/data     nfs    defaults  0 1
[root@localhost ~]# mount -a   #是文件/etc/fstab生效

第三步:檢查

[root@mail ~]# df -Th
Filesystem                 Type      Size  Used Avail Use% Mounted on
/dev/mapper/rhel-root      xfs        17G  3.1G   14G  18% /
devtmpfs                   devtmpfs  1.4G     0  1.4G   0% /dev
tmpfs                      tmpfs     1.4G  140K  1.4G   1% /dev/shm
tmpfs                      tmpfs     1.4G  9.1M  1.4G   1% /run
tmpfs                      tmpfs     1.4G     0  1.4G   0% /sys/fs/cgroup
/dev/sda1                  xfs      1014M  173M  842M  18% /boot
tmpfs                      tmpfs     280M   32K  280M   1% /run/user/0
/dev/sr0                   iso9660   3.6G  3.6G     0 100% /mnt/cdrom
192.168.245.128:/public    nfs4       17G  3.7G   14G  22% /mnt/public
192.168.245.128:/protected nfs4       17G  3.7G   14G  22% /mnt/data

在Window上掛載NFS

第一步:在控制面板–>添加程序和功能–>添加NFS組件

第二步:在此電腦,映射驅(qū)動(dòng)器中添加nfs地址,和要共享的文件夾

第三步:如果權(quán)限有問(wèn)題

打開(kāi)注冊(cè)表:regedit, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default

下新建兩個(gè)OWORD(64)位值,添加值AnonymousGid,值默認(rèn)為0,AnonymousUid,值默認(rèn)為0。

以上就是淺析NFS服務(wù)器原理以及搭建配置步驟的詳細(xì)內(nèi)容,更多關(guān)于NFS服務(wù)器原理、搭建、配置的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

標(biāo)簽:慶陽(yáng) 銅川 蕪湖 朝陽(yáng) 泰州 松原 周口 那曲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析NFS服務(wù)器原理以及搭建配置部署步驟》,本文關(guān)鍵詞  淺析,NFS,服務(wù)器,原理,以及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《淺析NFS服務(wù)器原理以及搭建配置部署步驟》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于淺析NFS服務(wù)器原理以及搭建配置部署步驟的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章