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 的主要套件
新聞熱點
疑難解答