nfs(networkfilesystem)即網路檔案系統,是linux/unix支援的檔案系統中的一種,它允許網路中的計算機之間通過tcp/ip網路共享資源。在nfs的應用中,本地nfs的客戶端應用可以透明地讀寫位於遠端nfs伺服器上的檔案,就像訪問本地檔案一樣。
rpc(remote procedure call protocol遠端過程呼叫協議):
簡單的說是函式呼叫(遠端主機上的函式) 一部分功能由本地程式完成 另一部分功能由遠端主機上的函式完成。客戶端掛載了nfs伺服器的檔案系統時,進行一些操作,但是這些操作服務端如何知道呢??這可是在核心級別上實現協議。rpc就解決了這個問題,它會將客戶端的操作的函式呼叫傳送到伺服器端,由伺服器端執行這些函式呼叫。
下面進行乙個例項來完成nfs共享的完成
在虛擬機器 server0 上配置nfs服務,完成以下任務:
1.唯讀的方式共享目錄 /public,只能被 example.com 域中的系統訪問
2.可讀寫共享目錄/protected,能被 example.com 域中的系統訪問
然後在虛擬機器 desktop0 上訪問nfs共享目錄
1.將 server0 的 /public 掛到本地 /mnt/nfsmount
2.這些檔案系統在系統啟動時自動掛載
1.服務端需要執行系統服務 nfs-server.service
2.客戶端不需要執行特定的系統服務
3.配置nfs共享目錄的記錄格式:
資料夾絕對路徑 客戶位址1(ro或rw等控制引數) 客戶位址2(ro或rw等控制引數) … …
步驟一:在server0上發布nfs共享目錄
1)準備需要共享的資料夾
[root@server0 桌面]# mkdir /public
[root@server0 桌面]# mkdir /protected
2)建立nfs共享配置
[root@server0 桌面]# vim /etc/exports
/public 192.168.82.0/24(ro)
/protected 192.168.82.0/24(rw)
3)啟動系統服務nfs-server,並設定開機自啟
[root@server0 桌面]# systemctl restart nfs-server
[root@server0 桌面]# systemctl enable nfs-server
1)建立掛載點
[root@desktop0 桌面]# mkdir /mnt/nfsmount
2)列出server0上提供的nfs共享資源
[root@desktop0 桌面]# showmount -e 192.168.82.76
export list for 192.168.82.76:
/protected 192.168.82.0/24
/public 192.168.82.0/24
3)配置開機掛載server0的nfs共享目錄/public
192.168.82.76:/public /mnt/nfsmount nfs _netdev 0 0
4)測試掛載配置
[root@desktop0 桌面]# mount -a
[root@desktop0 桌面]# df -ht /mnt/nfsmount/
檔案系統 型別 容量 已用 可用 已用% 掛載點
192.168.82.76:/public nfs4 18g 4.5g 14g 26% /mnt/nfsmount
[root@server0 桌面]# ps -ef |egrep "rpc|nfs" #檢視nfs的相程序
root 740 2 0 07:56 ? 00:00:00 [rpciod]
rpcuser 6011 1 0 09:48 ? 00:00:00 /usr/sbin/rpc.statd --no-notify
rpc 6013 1 0 09:48 ? 00:00:00 /sbin/rpcbind -w
root 6014 1 0 09:48 ? 00:00:00 /usr/sbin/rpc.mountd
root 6023 1 0 09:48 ? 00:00:00 /usr/sbin/rpc.idmapd
root 6028 2 0 09:48 ? 00:00:00 [nfsd4]
root 6029 2 0 09:48 ? 00:00:00 [nfsd4_callbacks]
root 6033 2 0 09:48 ? 00:00:00 [nfsd]
root 6034 2 0 09:48 ? 00:00:00 [nfsd]
root 6035 2 0 09:48 ? 00:00:00 [nfsd]
root 6036 2 0 09:48 ? 00:00:00 [nfsd]
root 6037 2 0 09:48 ? 00:00:00 [nfsd]
root 6038 2 0 09:48 ? 00:00:00 [nfsd]
root 6039 2 0 09:48 ? 00:00:00 [nfsd]
root 6040 2 0 09:48 ? 00:00:00 [nfsd]
root 6161 5747 0 09:54 pts/0 00:00:00 grep -e --color=auto rpc|nfs
nfs的埠對映
[root@server0 桌面]# rpcinfo -p localhost
program vers proto port service
100024 1 udp 53698 status
100024 1 tcp 50475 status
100005 1 udp 20048 mountd
100005 1 tcp 20048 mountd
100005 2 udp 20048 mountd
100005 2 tcp 20048 mountd
100005 3 udp 20048 mountd
100005 3 tcp 20048 mountd
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 3 tcp 2049 nfs_acl
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 3 udp 2049 nfs_acl
100021 1 udp 45742 nlockmgr
100021 3 udp 45742 nlockmgr
100021 4 udp 45742 nlockmgr
100021 1 tcp 37199 nlockmgr
100021 3 tcp 37199 nlockmgr
100021 4 tcp 37199 nlockmgr
NFS 檔案共享
檔案共享 主機伺服器 主伺服器 ip 103.2.3.111 1 安裝nfs 和 rpcbind 安裝nfs utils rpcbind yum y install nfs utils rpcbind 檢視是否安裝 rpm qa grep nfs rpm qa grep rpcbind 2 關閉防火...
NFS檔案共享
nfs是network file system的縮寫,中文意思是網路檔案系統。它的主要功能是通過網路 一般是區域網 讓不同的主機系統之間可以共享檔案或目錄。nfs客戶端 一般為應用伺服器,例如web 可以通過掛載 mount 的方式將nfs伺服器端共享的資料目錄掛載帶nfs客戶端本地系統中 就是某乙...
nfs檔案共享
nfs 是什麼 freebsd支援的檔案系統中的一種,它允許網路中的計算機之間通過 tcp ip網路共享資源 centos安裝 nfs 服務 yum install y nfs utils rpcbind yum install y nfs utils 啟動我們先啟動 rpc 服務 service ...