NFS簡介:
NFS(Network File System)即網絡文件系統,它允許網絡中服務器之間通過TCP/IP網絡共享資源,(讓不同的機器,不同的系統實現文件共享。NFS客戶端可以將NFS服務器共享的
目錄掛載在本地的文件系統中,訪問目錄就如同訪問自己本地目錄一樣。)
NFS的一個最大優點就是可以節省本地存儲空間.
如圖:

NFS客戶端 NFS服務端
說明:
1.首先NFS服務器端開啟rpcbind;
2.然后服務端開啟NFS服務,這時NFS的各項功能都需要向RPC服務注冊,這時rpc會通知portmap模塊將可用的端口分配給statd,rquotad等;
3.然后NFS客戶端RPC服務就會通過網絡向NFS服務端的RPC服務的111端口發出NFS文件存取功能的詢問請求。
4.NFS服務端的RPC服務找到對應的已注冊的NFSdaemon端口后,通知NFS客戶端的RPC服務。
5.此時NFS客戶端就可獲取到nfs服務端各個進程的正確端口,然后通過客戶端rpc就直接與NFS服務器的rpc進行存取數據了(rpc知道了nfs的具體端口,就可以實現遠程調用,即傳輸)。
NFS體系至少有兩個主要部分:
一台NFS服務器和若干台客戶機
環境准備:
A:192.168.190.130 作服務端
B:192.168.190.131 作客戶端
在A服務端機器 安裝nfs-utils和rpcbind包:
nfs-utils包提供了NFS服務器程序和相應的管理工具
rpc則是能夠獲得nfs服務器端的端口號等信息
1、服務安裝
服務器和客戶端都關閉防火牆,裝好nfs服務組件:
# 關閉防火牆:
systemctl stop firewalld && systemctl disable firewalld
# 臨時關閉selinux:
setenforce 0
# 永久關閉selinux:
sed -i ‘s/=enforcring/=disabled/’ /etc/selinux/config
2.安裝nfs和rpc服務組件:
yum install -y nfs-utils rpcbind
如果安裝失敗,那么就查看這個
Yum repolist
mount /dev/cdrom /mnt/
yum install -y nfs-utils rpcbind


3. 檢查是否啟動了rpcbind服務並監聽着 111端口:
netstat -tunlp | grep 111
如果沒有111,就說明沒有啟動哦!
啟動:systemctl enable rpcbind.service

4. 配置NFS服務的配置文件,參數配置: vi /etc/exports
(1) 創建這個目錄:

/data/NFSdata 192.168.10.3/24(rw,sync)
說明:
/data/NFSdata #表示你要共享的目錄
192.168.190.131/24 #表示所允許訪問的客戶端IP
(rw,sync) #rw:表示讀寫權限,sync:表示數據同步寫入內存硬盤
(2) 編寫vi /etc/exports

5.啟動nfs服務
systemctl start nfs

6. 設置開機啟動:
systemctl enable rpcbind.service
systemctl enable nfs-server.service
ps -ef | grep nfs

在B客戶端機器 安裝nfs-utils和rpcbind包:
mount /dev/cdrom /mnt/
yum clean all
yum install -y nfs-utils rpcbind

(1) 創建目錄保存數據

(2) 設置開機啟動
systemctl start rpcbind
systemctl enable rpcbind.service
注意:nfs不啟動

用showmount搜索網絡中可用的共享文件:
showmount -e 192.168.190.130

掛載:
mount -t nfs 192.168.190.130:/data/NFSdata /NFS
df -h

說明130上的export生效了,接着創建131主機上與/data/nfs 掛載(映射)的目錄,並掛載:
測試
1.在服務端創建文件夾test mkdir test

2.查看客戶端是否有同步的文件 ll

3.可以在客戶端創建文件 touch 222.txt

解決在服務端給這個文件權限

再次操作 touch 222.txt

在服務端查看是否同步

