歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux系統下NFS的配置及應注意的問題

Linux系統下NFS的配置及應注意的問題

日期:2017/2/28 17:49:23   编辑:Linux教程

1.什麼是NFS(Network FileSystem)

NFS 就是 Network FileSystem 的縮寫,最早之前是由 Sun 所發展出來的。他最大的功能就是可以透過網絡,讓不同的機器、不同的操作系統、可以彼此分享個別的檔案 ( share file ),所以,也可以簡單的將他看做是一個 file server 呢!這個 NFS Server 可以讓你的 PC 來將網絡遠程的 NFS 主機分享的目錄,掛載到本地端的機器當中,所以,在本地端的機器看起來,那個遠程主機的目錄就好象是自己的 partition 一般!

雖然 NFS 有屬於自己的協議與使用的 port number ,但是在資料傳送或者其它相關訊息傳遞的時候, NFS 使用的則是一個稱為遠程過程調用( Remote Procedure Call, RPC )的協議來協助 NFS 本身的運作!

2.RPC

當我們在使用某些服務來進行遠程聯機的時候,有些信息,例如主機的IP、服務的 port number、與對應到的服務之 PID 等等,都需要管理與對應!這些管理 port 的對應與服務相關性的工作,就是這個 Remote Procedure Call, RPC 的任務了

NFS 本身的服務並沒有提供資料傳遞的協議,但是 NFS 卻能讓我們進行檔案的分享,這其中的原因,就是 NFS 使用到一些其它相關的傳輸協議!而這些傳輸的協議,就是使用到這個所謂的 RPC 的功能啰!這也就是說, NFS 本身就是使用 RPC 的一個 program 就是了!說的更白話一點, NFS 也可以視作是一個 RPC server 啦!同時要注意到的是,在某些狀況中,不但跑 NFS 的 Server 需要激活 RPC 的服務,連帶的,要掛載 NFS partition 的 Client 機器,也需要同步激活 RPC 才行!這樣 Server 端與 Client 端才能藉由 RPC 的協議來進行 program port 的對應喔!NFS 主要在管理分享出來的目錄,而至於資料的傳遞,就直接將他丟給 RPC 的協議來運作就是了!

3.NFS 激活的 RPC daemons

rpc.nfsd:這個 daemon 主要的功能就是在管理 Client 是否能夠登入主機的權限啦,其中還包含這個登入者的 ID 的判別

rpc.mountd:這個 daemon 主要的功能,則是在管理 NFS 的檔案系統!當 Client 端順利的通過 rpc.nfsd 而登入主機之後,在他可以使用 NFS server 提供的檔案之前,還會經過檔案使用權限 ( 就是那個 -rwxrwxrwx 與 owner, group 那幾個權限啦 ) 的認證程序!他會去讀 NFS 的設定檔 /etc/exports 來比對 Client 的權限,當通過這一關之後, Client 就可以取得使用 NFS 檔案的權限啦!(注:這個也是我們用來管理 NFS 分享之目錄的使用權限與安全設定的地方哩)

4.NFS需要有兩個套件才行,分別是:

nfs-utils

就是提供 rpc.nfsd 及 rpc.mountd 這兩個 NFS daemons 與其它相關 documents 與說明文件、執行檔等的套件!這個就是 NFS 的主要套件

portmap

就如同剛剛提的到,我們的 NFS 其實可以被視為一個 RPC server program,而要激活任何一個 RPC server program 之前,我們都需要做好 port 的對應 ( mapping ) 的工作才行,這個工作其實就是『 portmap 』這個服務所負責的!也就是說,在激活任何一個 RPC server 之前,我們都需要激活 portmap 才行呢!那麼這個 portmap 到底在干嘛呢?就如同這個服務的名稱,哈哈!就是作 port 的 mapping 啊!舉個例子來說:當 Client 端嘗試來使用 RPC server 所提供的服務時,由於 Client 需要取得一個可以連接的 port 才能夠使用 RPC server 所提供的服務,因此, Client 首先就會去跟 portmap 講『喂!可不可以通知一下,給我個 port number ,好讓我可以跟 RPC 聯絡吧!』這個時候 portmap 就自動的將自己管理的 port mapping 告知 Client ,好讓他可以連接上來 server 呢!所以啰:『激活 NFS 之前,請先激活 portmap !』

Copyright © Linux教程網 All Rights Reserved