服務(wù)器掛載結(jié)構(gòu)圖
如上圖示:
當(dāng)我們在NFS服務(wù)器設(shè)置好一個共享目錄/home/public后,
其他的有權(quán)訪問NFS服務(wù)器的NFS客戶端就可以將這個目錄掛載到自己文件系統(tǒng)的某個掛載點(diǎn)
這個掛載點(diǎn)可以自己定義
如上圖客戶端A與客戶端B掛載的目錄就不相同。
并且掛載好后我們在本地能夠看到服務(wù)端/home/public的所有數(shù)據(jù)。
掛載后,NFS客戶端查看磁盤信息命令:#df –h。
既然NFS是通過網(wǎng)絡(luò)來進(jìn)行服務(wù)器端和客戶端之間的數(shù)據(jù)傳輸,那么兩者之間要傳輸數(shù)據(jù)就要有想對應(yīng)的網(wǎng)絡(luò)端口,
基本上NFS這個服務(wù)器的端口開在2049,但由于文件系統(tǒng)非常復(fù)雜。
因此NFS還有其他的程序去啟動額外的端口,這些額外的用來傳輸數(shù)據(jù)的端口是隨機(jī)選擇的,是小于1024的端口;
既然是隨機(jī)的那么客戶端又是如何知道NFS服務(wù)器端到底使用的是哪個端口呢?
這時就需要通過遠(yuǎn)程過程調(diào)用(Remote Procedure Call,RPC)協(xié)議來實(shí)現(xiàn)了!
因?yàn)镹FS支持的功能相當(dāng)多,而不同的功能都會使用不同的程序來啟動,每啟動一個功能就會啟用一些端口來傳輸數(shù)據(jù),因此NFS的功能對應(yīng)的端口并不固定,客戶端要知道NFS服務(wù)器端的相關(guān)端口才能建立連接進(jìn)行數(shù)據(jù)傳輸,而RPC就是用來統(tǒng)一管理NFS端口的服務(wù),并且統(tǒng)一對外的端口是111,RPC會記錄NFS端口的信息,如此我們就能夠通過RPC實(shí)現(xiàn)服務(wù)端和客戶端溝通端口信息。PRC最主要的功能就是指定每個NFS功能所對應(yīng)的port number,并且通知客戶端,記客戶端可以連接到正常端口上去。
首先當(dāng)NFS啟動后,就會隨機(jī)的使用一些端口,然后NFS就會向RPC去注冊這些端口,RPC就會記錄下這些端口,并且RPC會開啟111端口,等待客戶端RPC的請求,如果客戶端有請求,那么服務(wù)器端的RPC就會將之前記錄的NFS端口信息告知客戶端。如此客戶端就會獲取NFS服務(wù)器端的端口信息,就會以實(shí)際端口進(jìn)行數(shù)據(jù)的傳輸了。
注意:
在啟動NFS SERVER之前,首先要啟動RPC服務(wù)(即portmap服務(wù),下同)
否則NFS SERVER就無法向RPC服務(wù)區(qū)注冊,
另外,如果RPC服務(wù)重新啟動,原來已經(jīng)注冊好的NFS端口數(shù)據(jù)就會全部丟失。
因此此時RPC服務(wù)管理的NFS程序也要重新啟動以重新向RPC注冊。
特別注意:
一般修改NFS配置文檔后,是不需要重啟NFS的,直接在命令執(zhí)行systemctl reload nfs或exportfs –rv即可使修改的/etc/exports生效
安裝NFS服務(wù),需要安裝兩個軟件,分別是:
NFS 其實(shí)可以被視為一個 RPC 服務(wù),因?yàn)閱尤魏我粋€ RPC 服務(wù)之前,我們都需要做好 port 的對應(yīng) (mapping) 的工作才行,這個工作其實(shí)就是『 rpcbind 』這個服務(wù)所負(fù)責(zé)的!
也就是說, 在啟動任何一個 RPC 服務(wù)之前,我們都需要啟動 rpcbind 才行! (在 CentOS 5.x 以前這個軟件稱為 portmap,在 CentOS 6.x 之后才稱為 rpcbind 的!)。
就是提供 rpc.nfsd 及 rpc.mountd 這兩個 NFS daemons 與其他相關(guān) documents 與說明文件、執(zhí)行文件等的軟件!這個就是 NFS 服務(wù)所需要的主要軟件。
[root@localhost ~]# yum install -y nfs-utils #安裝nfs服務(wù) [root@localhost ~]# yum install -y rpcbind #安裝rpc服務(wù)
注意:先啟動rpc服務(wù),再啟動nfs服務(wù)。
[root@localhost ~]# systemctl start rpcbind #先啟動rpc服務(wù) [root@localhost ~]# systemctl enable rpcbind #設(shè)置開機(jī)啟動 [root@localhost ~]# systemctl start nfs-server nfs-secure-server #啟動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ù),使配置文件生效
配置文件說明:
/public
, 允許訪問的客戶端為192.168.245.0/24網(wǎng)絡(luò)用戶,權(quán)限為只讀。NFS
輸出保護(hù)需要用到kerberos
加密(none
,sys
,krb5
,krb5i
,krb5p
),格式sec=XXXnone
:以匿名身份訪問,如果要允許寫操作,要映射到nfsnobody
用戶,同時布爾值開關(guān)要打開,sys
:文件的訪問是基于標(biāo)準(zhǔn)的文件訪問,如果沒有指定,默認(rèn)就是sys, 信任任何發(fā)送過來用戶名krb5
:客戶端必須提供標(biāo)識,客戶端的表示也必須是krb5,基于域環(huán)境的認(rèn)證krb5i
:在krb5的基礎(chǔ)上做了加密的操作,對用戶的密碼做了加密,但是傳輸?shù)臄?shù)據(jù)沒有加密krb5p
:所有的數(shù)據(jù)都加密用于配置NFS服務(wù)程序配置文件的參數(shù):
參數(shù) | 作用 |
---|---|
ro | 只讀 |
rw | 讀寫 |
root_squash | 當(dāng)NFS客戶端以root管理員訪問時,映射為NFS服務(wù)器的匿名用戶 |
no_root_squash | 當(dāng)NFS客戶端以root管理員訪問時,映射為NFS服務(wù)器的root管理員 |
all_squash | 無論NFS客戶端使用什么賬戶訪問,均映射為NFS服務(wù)器的匿名用戶 |
sync | 同時將數(shù)據(jù)寫入到內(nèi)存與硬盤中,保證不丟失數(shù)據(jù) |
async | 優(yōu)先將數(shù)據(jù)保存到內(nèi)存,然后再寫入硬盤;這樣效率更高,但可能會丟失數(shù)據(jù) |
輸出格式為“共享的目錄名稱 允許使用客戶端地址”
[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 | 顯示版本號 |
[root@localhost ~]# mkdir /mnt/public [root@localhost ~]# mkdir /mnt/data [root@localhost ~]# vim /etc/fstab #在該文件中掛載,使系統(tǒ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
打開注冊表:regedit
, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default
下新建兩個OWORD(64)位值,添加值AnonymousGid
,值默認(rèn)為0,AnonymousUid
,值默認(rèn)為0。
以上就是淺析NFS服務(wù)器原理以及搭建配置步驟的詳細(xì)內(nèi)容,更多關(guān)于NFS服務(wù)器原理、搭建、配置的資料請關(guān)注腳本之家其它相關(guān)文章!
標(biāo)簽:慶陽 銅川 蕪湖 朝陽 泰州 松原 周口 那曲
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《淺析NFS服務(wù)器原理以及搭建配置部署步驟》,本文關(guān)鍵詞 淺析,NFS,服務(wù)器,原理,以及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。