搜尋
首頁系統教程Linux初步認識Linux下的NFS服務

初步認識Linux下的NFS服務

Jan 23, 2024 pm 05:18 PM
linuxlinux教程紅帽linux系統linux指令linux認證紅帽linuxlinux視頻

Linux NFS服务的初步了解

#RPC簡介

1)服務消費方(client)呼叫以本機呼叫方式呼叫服務;

2)client stub接收到呼叫後負責將方法、參數等組裝成能夠進行網路傳輸的訊息體;

3)client stub找到服務位址,並將訊息傳送到服務端;

4)server stub收到訊息後進行解碼;

5)server stub根據解碼結果呼叫本地的服務;

6)本機服務執行並將結果傳回給server stub;

7)server stub將回傳結果打包成訊息並傳送至消費方;

8)client stub接收到訊息,並進行解碼;

9)服務消費方得到最終結果。

NFS簡介

NFS(Network File System)即網路檔案系統,是FreeBSD支援的檔案系統中的一種,它允許網路中的電腦之間透過TCP/IP網路共享資源。在NFS的應用程式中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的文件,就像存取本機檔案一樣。
目前NFS主要有兩個版本(NFSv2,NFSv3)兩個版本,而NFSv2和NFSv3除了3版本支援更多的新特性以外,最主要的區別應該是NFSv2是使用UDP協定進行傳輸的,所以NFSv2的連接在複雜網路環境下可能沒有那麼可靠,而NFSv3同時支援UDP和TCP協定。

剛剛看了一下,Centos7已經支援NFSv4協定了,這裡就不貼NFSv4了,有時間了再去看v4吧。

當client端要掛載NFS共享卷的時候,會發送RPC請求給服務端,而NFS服務端會在用戶驗證後將一個隨機的cookie傳送至客戶端,以便客戶端使用這個cookie來認證那些要存取的共享卷。

NFS的驗證支援內建的IP/主機權限分配,同時也被tcp wrappers所限制。

Redhat上的NFS服務

Redhat核心中預設就開啟了NFS支持,並且透過NFS的Daemon來控制NFS服務端的啟動,而負責將網路套接字和RPC呼叫綁定起來,還需要一個rpcbind服務(在redhat5中名為portmap),如果你在系統中找不到nfs服務,是因為沒有安裝nfs-utils這個包,這個包提供了一些工具和服務腳本等。

整個NFS服務大概包含以下幾個(抄自紅帽官方文檔,但有點老了好像):

  • nfs — 啟動回應的RPC程序來回應NFS
  • nfslock — 這是一個可選的服務,用來回應客戶端對檔案加鎖的請求。
  • rpcbind(portmap) — 這個是rpc服務的守護進程,用來建立連線並且回應rpc請求。

NFS服務提供了這幾個RPC呼叫(函數):

  • rpc.mountd — 這個函數用來回應客戶端的mount請求並且驗證所要求的檔案系統是否有權可用,這個程序由nfs服務來啟動。
  • rpc.nfsd — nfs服務的主程式(函數)。
  • rpc.lockd — 上面nfslock這個服務的主要呼叫(函數),主要用來回應客戶的檔案加鎖請求。
  • rpc.statd — 這個呼叫(函數)主要是用來當nfs server重啟或不正常關閉時通知client的,由nfslock服務啟用。
  • rpc.rquotad — nfs服務用於支援配額的呼叫(函數)。
配置NFS服務

NFS的設定檔在/etc/exports
預設是一個空文件,只需要按照如下格式配置即可,一行一個共享卷

host:限定主機(網域)
1.單一主機或IP
2.通配符*(匹配任意字元)或?(符合任意單一字元),用在網域名稱或主機名稱中
3.IP/MASK,例如 192.168.110.0/24

options:掛載選項,用於限定前面主機的掛載權限。
常用選項:

  • ro,rw:只讀或可讀寫
  • sync:同步,當client的寫入請求完成後,立即將記憶體中的資料寫入到磁碟,並且這樣做是安全的。
  • async:異步,當client的寫入請求完成後,server不是立即將資料寫入磁碟,而是在某個時機(空閒或….鬼知道)寫入到磁碟,這就造成了資料遺失的可能性。
  • wdelay(write delay):寫入延遲,這是一個最佳化選項,允許伺服器延遲將資料寫入磁碟,這樣如果第二次client的寫入請求到來,將兩次資料使用一次write系統呼叫寫入到磁碟。
  • nowdelay:與上相反,僅在sync模式下可使用。
  • root_squash:「壓扁」root,因為client將文件寫入到server時,是使用client寫入用戶的uid直接映射為server同uid的用戶,這樣root用戶存放到nfs share volume上的文件,在server端屬主和屬群組還是root,有一定的安全隱患,所以可用此選項將root壓扁為nfsnobody使用者。
  • all_squash:壓扁所有用戶,可使用anonuid=,anongid=來指定壓扁為哪個用戶。

以上是初步認識Linux下的NFS服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Linux就该这么学。如有侵權,請聯絡admin@php.cn刪除
如何在Linux桌面中安裝Libreoffice 24.8如何在Linux桌面中安裝Libreoffice 24.8May 15, 2025 am 10:15 AM

Libreoffice脫穎而出,是一個健壯的開源辦公室套件,適用於Linux,Windows和Mac平台。它擁有一系列用於處理Word文檔,電子表格,演示,圖紙,計算和Mathematica的高級功能

如何使用linux中的僅限文件來處理PDF文件如何使用linux中的僅限文件來處理PDF文件May 15, 2025 am 09:58 AM

管理PDF文件的Linux用戶可以使用各種程序。具體來說,有許多專門為各種功能設計的專業PDF工具。

如何使用AWK和STDIN過濾命令輸出如何使用AWK和STDIN過濾命令輸出May 15, 2025 am 09:53 AM

在AWK命令系列的較早部分中,我們的重點主要是從文件中讀取輸入。但是,如果您需要從stdin中讀取輸入怎麼辦?在Awk系列的第7部分中,我們將探索幾個示例,您可以在其中使用O的OF O的輸出。

CLIFM- Linux的Lightning -Fast終端文件管理器CLIFM- Linux的Lightning -Fast終端文件管理器May 15, 2025 am 09:45 AM

Clifm是一個獨特而令人難以置信的迅速命令行文件管理器,在類似殼的界面的基礎上設計。這意味著用戶可以使用他們已經熟悉的命令與他們的文件系統互動。

如何從Linux Mint 21.3升級到Linux Mint 22如何從Linux Mint 21.3升級到Linux Mint 22May 15, 2025 am 09:44 AM

如果您不想執行Linux Mint 22 Wilma的新安裝,則可以選擇從以前的版本中升級。在本指南中,我們將詳細介紹從Linux Mint 21.3升級的過程(21.x系列的最新次要版本

如何使用uglifyjs和uglifycss縮小CSS和JS文件如何使用uglifyjs和uglifycss縮小CSS和JS文件May 15, 2025 am 09:39 AM

要在Linux命令行上壓縮CSS和JavaScript(JS)文件,您可以使用兩個有效的工具:用於javaScript的uglifyjs和for css.compression涉及從源代碼中刪除不必要的字符,例如SpaceS等源代碼

luks:Linux Linux中的Linux硬盤數據加密luks:Linux Linux中的Linux硬盤數據加密May 15, 2025 am 09:23 AM

Luks代表Linux Unified鍵設置,是Linux內核使用的強大磁盤加密方法。它是使用CryptSetup軟件包實現的。使用對稱的Encryp,CryptSetup命令行工具實時加密卷磁盤

Linux上的GIT:版本控制和項目管理的初學者指南Linux上的GIT:版本控制和項目管理的初學者指南May 15, 2025 am 09:09 AM

版本控制是當代軟件開發,促進團隊和個人以保證監視,管理和協作的個人的重要工具。無論您是開發基本腳本還是全面應用程序,Mai

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具