檔案共享 NFS

2021-09-13 21:55:10 字數 4017 閱讀 8709

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 ...