NFS 網路檔案系統)

2021-10-03 17:59:16 字數 2625 閱讀 2089

nfs是network file system的縮寫,即網路檔案系統。它的主要功能是通過區域網讓不同的主機系統之間可以共享檔案或者目錄,實現多台伺服器之間資料的一致性。它和我們windows下的網路共享和網路驅動器類似,只不過它用於區域網的環境下。而nfs多應用於企業集群架構中,作為所有前端web服務的共享儲存。如果是大型的**,可能會用到更複雜的方式,比如moosefs、glusterfs等。

nfs通過網路進行資料傳輸,傳輸埠為2049,由於檔案系統非常複雜,因此nfs還要依賴其它程式去啟動額外的埠(小於1024)傳輸資料,將埠告知給客戶端依賴於rpc(remote procedure call)協議。當nfs服務啟動時,會隨機選取數個埠,並向rpc註冊,因此rpc就可以知道每個埠對應的 nfs功能,以便客戶端連線正確的埠號。

首先伺服器啟動rpc服務開啟111埠,當使用者程序訪問nfs客戶端,客戶端使用相應的函式對資料進行處理,再通過tcp/ip的方式傳遞給nfs伺服器,當服務端收到請求後,會先呼叫portmap程序進行埠對映反饋給客戶端,客戶端再通過獲取的埠和服務端建立連線並進行資料的傳輸。

實驗環境:

nfs服務端:172.16.1.51/24

nfs客戶端:172.16.1.41/24

服務端:

1.安裝服務軟體包

[root@nfs ~]# yum install -y nfs-utils rpcbind
2.配置服務檔案

[root@nfs ~]# vim /etc/exports

[root@nfs ~]# cat /etc/exports

#可以指定主機、網段或網域名稱

/data 172.16.1.0/24(rw,sync,all_squash,anonuid678,anongid678)

引數詳解:

引數說明

rw可讀寫

ro唯讀

root_squash

當nfs客戶端以root管理員訪問時,對映為nfs服務端的匿名使用者

no_root_squash

當nfs客戶端以root管理員訪問時,對映為nfs服務端的root管理員

all_squash

無論nfs客戶端使用什麼賬戶訪問,對映為nfs服務端的匿名使用者

sync

同時將資料寫入記憶體和磁碟,保證資料不丟失

async

優先將資料儲存到記憶體再寫入磁碟;效率到,但資料可能會丟失

anonuid

配置all_squash使用,指定nfs的使用者uid,必須存在系統

anongid

配置all_squash使用,指定nfs的使用者gid,必須存在系統

4.修改共享目錄所屬主、組

[root@nfs ~]# useradd -u 678 -g 678 www

[root@nfs ~]# groupadd -u 678 -g 678 www

[root@nfs ~]# mkdir /data

[root@nfs ~]# chown -r nfsnobody:nfsnobody /data/

5.啟動服務

[root@nfs ~]# systemctl start rpcbind

[root@nfs ~]# systemctl start nfs

==注意:==在啟動nfs之前要先啟動rpc,否則nfs就無法向rpc進行註冊。另外如果rpc重新啟動,原來註冊的資料就會消失。所以,在重啟rpc之後,它所管理的服務都要重啟以重新向rpc註冊。

客戶端:

1.安裝服務軟體包

[root@localhost ~]# yum install -y nfs-utils rpcbind
2.檢視服務端是否生效

[root@localhost ~]# showmount -e 172.16.1.51

export list for 172.16.1.51:

/data 172.16.1.0/24 //可以檢視到資訊說明已生效.

3.掛載

[root@localhost ~]# mkdir /nfs

[root@localhost ~]# mount 172.16.1.51:/data /nfs

4.啟動服務,客戶端只需啟動rpcbind

[root@localhost ~]# systemctl start rpcbind
nfs既然是通過網路和服務端建立通訊實現掛載到本地,那如果網路中斷了怎麼辦?強制解除安裝並設定永久掛載

umount -lf /nfs

[root@localhost nfs]# echo "172.16.1.51:/data /nfs nfs defaults,netdev 0 0" >>/etc/fstab

NFS網路檔案系統

一 samba伺服器與nfs伺服器的區別 samba伺服器用於建立windows與linux虛擬機器之間的檔案共享.nfs伺服器用於建立linux虛擬機器與arm嵌入式系統之間的檔案共享.二 nfs網路檔案系統的建立 1 在linux虛擬機器下執行選單 系統設定 伺服器設定 nfs伺服器,開啟nfs...

NFS 網路檔案系統

1.nfs network filesystem 網路檔案系統 讓不同的機器,不同的os在網路上共享目錄和檔案。通過nfs,使用者和程式可以象訪問本地檔案一樣訪問遠端系統上的檔案。4.配置nfs 共享的nfs目錄在 etc exports中列出,這個檔案控制對目錄的共享。書寫規則是 共享目錄 主機 ...

網路檔案系統NFS

1 介紹 network file system,由sun公司在1984年開發,目前nfs被普遍使用。nfs4.0以前的版本在效能上存在瓶頸,nfs4.1已經是pnfs了,即並行nfs?目的是在安裝unix計算機之間實現磁碟檔案共享,構建於ip協議之上,是標準的c s架構,nfs伺服器輸出 expo...