Nfs

NFS 目錄中伺服器之間的磁碟性能

  • August 23, 2017

我正在設置兩個 linux 伺服器。

ServerA 有 /apps/data。

ServerB 已安裝在/dataServerAs 路徑/apps/data上,帶有NFS.

如何處理各種操作的負載?按含義:

問:

例如,通過在 ServerB 上啟動 gzip(可以是 cp 作為第二個範例),I/O 由 ServerA 或 ServerB 處理

磁碟如何執行?意思是 ServerB 將文件獲取到他的磁碟以執行 gzip 然後將其放回 NFS 並通過網路同步?(兩台伺服器的IO增加+網路流量)

您有一個通過 NFS 共享ServerA並由ServerB.

如果您在 上的那個目錄中執行文件操作ServerB,則不會發生磁碟 I/O ServerB,但伺服器之間會有網路 I/O,ServerA最終將執行實際的磁碟操作(通過 NFS 守護程序的指令) .

您正在訪問的文件不會像與rsyncor同步一樣在伺服器之間傳輸scp,但文件的塊將通過 NFS 傳輸,並在讀取數據時直接交給讀取數據的程序,或者交給伺服器進行寫入根據需要寫入磁碟。這是使用RFC 1094 (NFSv2) 或RFC 1813 (NFSv3)描述的 NFS 協議發生的。

同樣,不會對 進行磁碟操作ServerB,除非它需要交換或者您正在執行的操作在非 NFS 掛載目錄(例如/tmp)中分配空間。

事實上,在沒有任何物理磁碟連接的ServerB情況下很可能存在。這被稱為“無盤系統”,過去在 90 年代初我第一次遇到 Unix 的電腦實驗室中很流行(在Sun SPARCstation IPC上,它具有本地但其他所有東西都通過 NFS 安裝)。/tmp

由於網路 I/O,在 NFS 上工作會比在本地磁碟上工作要慢,但對於日常命令行工作來說,除非您定期處理文件中的大量數據,否則它幾乎沒有多大關係。

引用自:https://unix.stackexchange.com/questions/387966