NFS是一種類UNIX系統間實現磁盤共享的網絡文件系統,支持應用程序在客户端通過網絡存取服務器磁盤中數據的一種文件系統協議。
1.服務器端
1.1.服務器IP地址
服務器IP地址:192.168.0.5
1.2.安裝nfs服務
yum install nfs-utils -y
1.3.nfs配置文件格式詳解
nfs配置文件格式:
共享目錄1[客户端1(參數1,參數2)] [客户端2(參數1,參數2)]...
共享目錄2[客户端1(參數1,參數2)] [客户端2(參數1,參數2)]...
共享目錄:這個目錄使用絕對路徑。
例如:/home/nfs
客户端:IP地址、網段、域名等。
例如:
|
單IP |
192.168.0.6 |
|
網段 |
192.168.0.0/255.255.255.0 |
|
192.168.0.0/24 |
|
|
192.168.0.* |
|
|
域名 |
nfs.txzz8888.nw |
|
泛域名 |
*.txzz8888.nw |
|
所有主機 |
* |
參數:
|
ro |
只讀(默認) |
|
rw |
可讀、可寫 |
|
root_squash |
客户端當前用户是root時,將被映射為nfs服務器的匿名用户 |
|
no_root_squash |
客户端當前用户是root時,將被映射為nfs服務器的root用户 |
|
all_squash |
將所有用户映射為nfs服務器匿名用户(默認) |
|
anonuid |
匿名用户UID |
|
anougid |
匿名用户GID |
|
sync |
同步(默認),同時將數據寫入內存和硬盤中 |
|
async |
異步,先將數據保存到內存,再回寫硬盤中,這樣可以提高效率,但是服務器或nfs服務故障會出現數據丟失,不安全 |
1.4.編輯nfs共享目錄配置文件
vim /etc/exports
添加如下
/home/nfs 192.168.0.0/24(rw,sync,no_root_squash)
1.5.創建共享目錄
mkdir -p /home/nfs
chmod o+w /home/nfs #其他用户具有可寫屬性
1.6.使創建的目錄對客户端可用並更新
exportfs -a
1.7.啓動服務
systemctl start rpcbind
systemctl start nfs-server
systemctl enable rpcbind
systemctl enable nfs-server
systemctl status rpcbind nfs-server
1.8.查看nfs運行信息
rpcinfo -p
1.9.固定端口
nfs只有nfs服務和rpcbind服務端口號是固定的,其他的都是隨機端口,如果服務器重啓端口會變,可以設置成固定端口,固定前確保端口號沒有被佔用。
|
LOCKD_TCPPORT=40001 |
負責管理文件鎖,確保NFS客户端在併發訪問共享文件時的數據一致性 |
|
LOCKD_UDPPORT=40001 |
|
|
MOUNTD_PORT=40002 |
負責管理 NFS 共享目錄的掛載和權限驗證,通過固定該端口可以簡化防火牆規則配置並提升安全性 |
|
STATD_PORT=40003 |
處理文件鎖狀態的監控和通知,固定端口配置有助於簡化防火牆規則設置,避免端口隨機分配帶來的管理困難 |
|
RQUOTAD_PORT=40004 |
處理客户端的磁盤配額查詢 |
|
STATD_OUTGOING_PORT=40005 |
服務端在某些操作(如文件鎖定、狀態監控)中需要向外連接其他服務(如RPC綁定服務或遠程NFS服務器) |
|
NFS服務端口號2049 |
網絡文件系統 |
|
rpcbind服務端口號111 |
客户端與服務器端的進程交互 |
編輯vim /etc/nfs.conf配置文件,修改前先備份。
mv /etc/nfs.conf.bak
vim /etc/nfs.conf
添加如下
[mountd]
port=40002
[rquotad]
port=40004
[lockd]
port=40001
udp-port=40001
[statd]
port=40003
outgoing-port=40005
編輯/etc/modprobe.d/lockd.conf配置文件。
vim /etc/modprobe.d/lockd.conf
添加如下
options lockd nlm_tcpport=40001
options lockd nlm_udpport=40001
1.10.重啓所有服務
systemctl restart rpcbind
systemctl restart nfs-server
reboot #重啓服務器
1.11.再次查看nfs運行信息
rpcinfo -p
端口號已固定
1.12.關閉selinux。
1.13.防火牆設置
firewall-cmd --add-port={2049,111,40001-40005}/tcp --permanent
firewall-cmd --add-port={2049,111,40001-40005}/udp --permanent
firewall-cmd --reload
1.14.查看本機nfs共享
showmount -e
1.15共享目錄創建測試文件
2.客户端
1.1.客户端IP地址
客户端IP地址:192.168.0.220
1.2.安裝nfs服務
yum install nfs-utils -y
1.3.查看服務器端共享目錄
showmount -e 192.168.0.5
1.4.創建本地掛載目錄
mkdir /nfsmount
1.5.將服務器端共享目錄,掛載到客户端指定目錄(臨時掛載)
mount -t nfs 192.168.0.5:/home/nfs /nfsmount
1.6.永久掛載服務器端共享資源
vim /etc/fstab
默認配置文件內容
創建全球唯一識別碼UUID
uuidgen >> /etc/fstab
配置文件添加如下
1.7.查看客户端掛載目錄中有無測試文件