NFS 服務 : Network File system 網絡文件系統
效果: 好像在本機硬盤一樣
原理: 當用戶去訪問 映射成本地系統 // 原理 掛載
屬性: vsftpd 是應用程序,(內核支持) nfs 是一個文件系統
應用: 局域網(最多用于) — 依賴網絡
應用層 app httpd 80 vsftpd
傳輸層 tcp/ip
internet層 network
數據鏈路層
#locate ext4.ko — locate 查找文件或目錄
locate nfs.ko —> nfs 是內核級別
client
|
|
VFS // 系統文件的翻譯層相當于java的jvm
|
|
RPC/XDR
| |
| |
TCP/IP tcp/ip
| |
| |
Ethernet Ethernet
| |
|——————————————network———————|
NFS 服務介紹
軟件包: nfs-utils
kernel 支持nfs.ko
端口:2049(nfsd) 其他端口由portmap(111) 分配
配置文件 /etc/exports /etc/exports.d/*.exports
相關軟件包 rpcbind , tcp_wrappers
yum install rpcbind yum install nfs-utils
—————————————-
案例1:
#rpm -qi nfs-utils
rpm -ql nfs-utils
systemctl start nfs-server // centos7 –> centos6 nfs
ss -ntl —> 端口 2049 其他端口會變 –>
rpcinfo -p 查看 所有的端口(端口會變)
centos6————————————————
service nfs start —> 會產生隨機端口
service rpcbind status –> 端口111 來管理隨機端口
原理 :客戶端先連接 rpcbind(客戶端:請你告訴我nfs端口,rpcbind 會告訴端口) 在連接訪問nfs
案例1(1): centos6
service rpcbind stop — 當rpcbind 停止了
service nfs restart — 啟動就不行了
service rpcbind restart — 啟動了
service nfs restart — nfs 啟動了 –>總結: nfs 依賴 rpcbind 服務
案例1(2) :centos7
systemctl stop rpcbind — 停止 –> systemctl status rpcbind // 查看狀態
systemctl restart nfs-server — 啟動nfs-server
systemctl status rpcbind — 查看rpcbind 也啟動了
總結: 當rpcbind 停止 , 啟動nfs-server ,rpcbind 也跟著啟動 –> 有依賴性 自動激活
—————————————-
案例1(3): centos7
systemctl status rpcbind.socket // 特性 rpcbind 和 rpcbind.socket
systemctl stop rpcbind.socket // 停止
systemctl status rpcbind // 查看rpcbind 也停止了
注意 : rpcbind 就是 rpcbind.server
systemctl start rpcbind // 啟動 rpcbind
systemctl status rpcbind.socket // 也啟動了
當 systemctl stop rpcbind –> systemctl status rpcbind.socket 還在運行
原理: rpcbind.socket 還在監聽 ,當用戶訪問 會把 rpcbind.server 激活
———————————————–
總結:當 nfs.server 啟動 <—- rpcbind 啟動 <—– rpcbind.socket 啟動 ——————- 案例1(4) centos7 showmount -e 192.168.100.6 // 查看遠程主機的共享 Export list for 192.168.100.6: –> 說明有共享服務 ,沒有共享 文件夾
—————
案例1(5) centos6
service rpcbind start — 啟動了 service nfs start –啟動 // 依賴rpcbind 服務啟動
現在 service rpcbind stop 會怎么樣 ? 用戶訪問 ?
service nfs status — 查看running
#showmount -e 192.168.100.6 //centos7 上查看遠程主機的共享
clnt_create: RPC: Port mapper failure – Unable to receive: errno 111 (Connection refused) // 不可以
總結:表面上連接 的是 nfs 實際上 先連接 rpcbind (中間斷層了)
1. service start rpcbind 2. service restart nfs –> showmount -e 192.168.100.6
—————————————–
案例1(6)
ps aux |grep rpc
nfs 服務主要進程 :
rpc.nfsd 最主要的NFS 進程 , 管理客戶端是否可登陸
rpc.mountd 掛載和卸載NFS 文件系統 , 包括權限管理
rpc.lockd 非必要 管理文件鎖 避免同時寫出錯
rpc.statd 非必要 檢查文件一致性 可修復文件 日志: /var/lib/nfs
—————————————————
案例1(7) NFS 配置文件 *
rpm -ql nfs-utils
rpm -qf /etc/exports –> 創建共享,也可以放在 /etc/exports.d/ 的子目錄下面
/etc]#ls |grep exports
exports
exports.d
本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/91451