NFS 網路檔案系統

2022-04-29 15:27:11 字數 2874 閱讀 3961

1.2.1 nfs系統掛載結構**與介紹

下圖是企業工作中的nfs伺服器與客戶端掛載情況結構圖

客戶端掛載nfs後,本地掛載基本資訊顯示如下:

[root@nfs01 ~]# df -h

filesystem size used use% mounted on

/dev/sda1 1.1t 467g 544g 47% /

tmpfs 7.9g 0 7.9g 0% /dev/shm

10.0.0.7:/video 1002g 59g 892g 7% /video #<==10.0.0.7為nfsserver的ip位址

mount 10.0.0.7:/video /video

1.2.2 什麼是rpc(remote procedure call)

1.2.3 nfs的工作流程原理

當訪問程式通過nfs客戶端向nfs服務端訪問檔案時,其請求資料流程大致如下:

1)首先使用者訪問**程式,由程式在nfs客戶端上發出訪問nfs檔案的請求,這時nfs客戶端(即執行程式的伺服器)的rpc服務(rpcbind服務)就會通過網路向nfs伺服器端的rpc服務(rpcbind服務)的111埠發出nfs檔案訪問功能的詢問請求。

2)nfs服務端的rpc服務(rpcbind服務)找到對應的已註冊的nfs埠後,通知nfs客戶端的rpc服務(rpcbind服務)

3)此時nfs客戶端獲取到正確的埠,並與nfs daemon聯機訪問資料

4)nfs客戶端把資料訪問成功後,返回給前端訪問程式,告知給使用者訪問結果,作為**使用者,就完成了一次訪問操作。

因為nfs的各項功能都需要向rpc服務(rpcbind服務)註冊,所以只有rpc服務(rpcbind服務)才能獲取到nfs服務的各項功能對應的埠號(port number),pid,nfs在主機所監聽的ip等資訊,而nfs客戶端也只能通過向rpc服務(rpcbind服務)詢問才能找到正確的埠。也就是說,nfs需要有rpc服務(rpcbind服務)的協助才能成功對外提供服務。從上面的描述,我們不難推斷,無論是nfs客戶端還是nfs伺服器端,當要使用nfs時,都需要首先啟動rpc服務(rpcbind服務),nfs服務必須在rpc服務啟動之後啟動,客戶端無需啟動nfs服務,但需要啟動rpc服務。

nfs伺服器搭建

yum install -y nfs-utils rpcbind

rpm -ql nfs-utils

/etc/rc.d/init.d/nfs

/usr/sbin/showmount

rpm -ql rpcbind

/etc/rc.d/init.d/rpcbind

/usr/sbin/rpcbind

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

/data 172.16.1.0/24(rw,sync)

說明:配置檔案資訊 指定共享目錄 指定共享目錄訪問控制網段或主機資訊(共享目錄引數資訊)

mkdir /data

chown -r nfsnobody.nfsnobody /data

啟動nfs和rpc服務

/etc/init.d/rpcbind start

/etc/init.d/nfs start

進行服務配置檢查

先檢查**資訊是否註冊

rpcbind -p 172.16.1.31

檢查是否存在可用的共享目錄

[root@nfs01 ~]# showmount -e 10.0.0.31

export list for 10.0.0.31:

/data 172.16.1.0/24

nfs客戶端部署流程:

第二個里程:進行軟體服務安裝

yum install -y nfs-utils rpcbind

第三個里程:進行共享目錄掛載

[root@web02 ~]# mount -t nfs 172.16.1.31:/data /mnt

[root@web02 ~]# df -h

rwread-write,表示可讀寫許可權

roread-only,表示唯讀許可權

sync

(同步,實時)請求或吸入資料時,資料同步寫入到nfs server的硬碟後才返回

async

(非同步)寫入時資料會先寫到記憶體緩衝區,只到硬碟有空檔才會寫入磁碟,這樣可以提公升寫入速率!風險為若伺服器掛掉或不正常關機,會損失緩衝區中未寫入磁碟的資料

no_root_squash

訪問nfs server共享目錄的使用者如果是root,它對該共享目錄具有root許可權。

root_squash

如果訪問目錄的是root,則它的許可權將被壓縮成匿名使用者。

all_squash

不管訪問共享目錄的使用者身份如何,它的許可權都被壓縮成匿名使用者。

anonuid

指定共享資料夾裡檔案所有者的uid號:例如:(rw,squash,anonuid=12306,anongid=12306)

anongid

指定共享資料夾裡檔案所有者的gid號:例如:(rw,squash,anonuid=12306,anongid=12306)

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