NFS是Network File System的縮寫,即網絡檔案系統,相當于不同網段的内容共享。FTP:本網段檔案内容共享。
用戶端通過挂載的方式将NFS伺服器端共享的資料目錄挂載到本地目錄下。
為什麼需要安裝NFS服務?當伺服器通路流量過大時,需要多台伺服器進行分流,而這多台伺服器可以使用NFS服務進行共享。(NFS服務是最基礎的共享服務)
主要由如下2個RPM包提供。
①nfs-utils:包含NFS伺服器端守護程序和NFS用戶端相關工具。
②rpcbind:提供RPC的端口映射的守護程序及其相關文檔、執行檔案等。
因為NFS支援的功能相當多,而不同的功能都會使用不同的程式來啟動,每啟動一個功能就會啟用一些端口來傳輸資料,是以NFS的功能對應的端口并不固定,用戶端要知道NFS伺服器端的相關端口才能建立連接配接進行資料傳輸,而RPC就是用來統一管理NFS端口的服務,并且統一對外的端口是111,RPC會記錄NFS端口的資訊,如此我們就能夠通過RPC實作服務端和用戶端溝通端口資訊。
IP
主機名
節點
192.168.223.22
nfs-server
NFS服務節點
192.168.223.23
nfs-client
NFS用戶端節點
需要使用兩台伺服器,使用安裝的Linux系統作為nfs-server節點,再安裝一台CentOS 7.2的虛拟機(1核/2G記憶體/20G硬碟),作為nfs-client進行下述實驗。
修改兩個節點的主機名,第一台機器為nfs-server;第二台機器為nfs-client。指令如下:
nfs-server節點:伺服器節點
[root@server ~]# hostnamectl set-hostname nfs-server
[root@server ~]# bash

nfs-client節點:用戶端節點
[root@nfs-client ~]# hostnamectl set-hostname nfs-client
[root@nfs-client ~]# bash
注意:要保證兩台虛拟機的YUM源配置成功,并且已經啟動。
如果未啟用請參考之前的配置本地yum源。
兩個節點安裝NFS服務。指令如下:
[root@nfs-server ~]# yum -y install nfs-utils rpcbind //這是兩個軟體,
[root@nfs-client ~]# yum -y install nfs-utils rpcbind
注意:安裝NFS服務必須要依賴RPC,是以運作NFS就必須要安裝RPC
在nfs-server節點建立一個用于共享的目錄
編輯NFS服務的配置檔案/etc/exports,在配置檔案中加入一行代碼,指令如下
配置檔案說明:
l /mnt/test:為共享目錄(若沒有這個目錄,請建立一個)。
l 192.168.172.0/24:可以為一個網段,一個IP,也可以是域名。域名支援通配符,例如,*.qq.com。
l rw:read-write,可讀寫。
l ro:read-only,隻讀。
l sync:檔案同時寫入硬碟和記憶體。
l async:檔案暫存于記憶體,而不是直接寫入記憶體。
l wdelay:延遲寫操作。
l no_root_squash:NFS用戶端連接配接服務端時,如果使用的是root,那麼對服務端共享的目錄來說,也擁有root權限。顯然開啟這項是不安全的。
l root_squash:NFS用戶端連接配接服務端時,如果使用的是root,那麼對服務端共享的目錄來說,擁有匿名使用者權限,通常它将使用nobody或nfsnobody身份。
l all_squash:不論NFS用戶端連接配接服務端時使用什麼使用者,對服務端共享的目錄來說,都擁有匿名使用者權限。
l anonuid:匿名使用者的UID(User Identification,使用者身份證明)值,可以在此處自行設定。
l anongid:匿名使用者的GID(Group Identification,共享資源系統使用者的群體身份)值。
生效配置,指令如下
nfs-server端啟動NFS服務
nfs-server端檢視可挂載目錄,指令如下
轉到nfs-client端,在用戶端挂載前,先要将伺服器的SELinux服務和防火牆服務關閉,指令如下
關閉slinux
關閉防火牆并設定開機不啟動
在nfs-client節點,進行NFS共享目錄的挂載,指令如下
在nfs-client節點的/mnt目錄下建立一個abc.txt的檔案并計算MD5值
回到nfs-server節點進行驗證
可以發現,在client節點建立的檔案和server節點的檔案是一樣的