轉載:http://codingstandards.iteye.com/blog/816246
1 NFS概述及實例
1.1 NFS是什麼?
NFS是網絡文件系統 Network FileSystem 的 簡稱,最早是由 Sun 公司 開發 出來 的,目的是想 讓 不同的 機器 、不同的 操作 系統可以 共享文件。 在 Unix/Linux類的 操作系統 中 可以 用 NFS 來搭建文件服務器。 對於一個真實的運行環境而言,配置和啓用文件服務器都是很有必要的。把重要的數據集中存儲和管理,其安全性顯然比分佈存儲要可靠得多。
1.2 NFS有何優缺點?
本節內容來自NFS相關資料【2】。
優點:主要用在Linux與Linux或Linux與Unix之間的文件共享,使用時很方便簡單好用,所以在共享時還是經常使用的。
缺點:NFS是基於主機來認證和訪問的,明文傳輸,數據易被篡改和竊取從而存在很大的安全隱患,NFS沒有真正的用戶驗證機制,而只有對RPC/Mount請求的過程驗證機制, 在RPC遠程調用中,一個SUID的程序就具有超級用戶權限。
1.3 NFS與SAMBA比較如何?
本節內容來自NFS相關資料【3】。
samba是DEC開始開發的,用於在不同的Unix機器間進行資源共享,採用udp協議。後來基於tcp重新開發後,效率有了很大提高。它使用的協議是 SMB。微軟不願意交License費,在windows系統中對該協議重新進行了實現。既然samba和windows中的網絡鄰居都使用SMB協議。 那麼,samba自然主要用於在windows和unix之間共享資源。資源包括文件、打印機等等。
NFS是SUN開發的,用於UNIX機器之間的資源共享。其設置相當容易,主要是配置/etc/exports文件,然後運行exportfs -a來共享出來。現在NFS已經成爲UNIX/LINUX上的標配。
兩者的文檔都說自己的效率高一些:)從我的經驗來看,nfs的效率要稍微高一些,只是差別不是太大。
從配置來看,samba比較複雜,nfs比較簡單。但是複雜有複雜的道理,它讓我們能夠靈活的配置。
1.4 一個使用NFS作爲文件服務器的實例
某IVR系統中包括如下幾種功能的機器節點:(只描述與文件服務器有關的信息)
節點類型 | 與文件服務器的相關需求 | 操作系統,硬件或開發環境 | 共享目錄情況 |
文件服務器 | 用於存放大量的語音文件。 | Linux,Raid5,硬盤容量2T | ip地址爲192.168.6.55,共享目錄爲/vmsnfs。 |
後臺服務器 | 會定期刪除文件服務器的過期文件,會按用戶的要求刪除文件。 | Linux,C++ | 文件服務器的客戶端,也使用/vmsnfs來訪問文件服務器上的共享目錄。 |
CTI服務器 | 錄製語音文件保存到文件服務器,播放語音文件。 | Windows XP,C++ | 文件服務器的客戶端,將此共享目錄映射到驅動器N:。 |
WEB服務器 | 用戶或管理員需要訪問文件服務器下載或播放語音文件。 | Linux,Java,Tomcat | 文件服務器的客戶端,也使用/vmsnfs來訪問文件服務器上的共享目錄。 |
這樣配置之後,此係統中的所有Linux機器都可以通過/vmsnfs訪問文件服務器,而Windows則通過N:來訪問,使程序幾乎可以透明的訪問文件服務器了。
本文後面的章節就使用此例情況來演示如何配置NFS服務端以及如何在Linux和Windows下訪問共享目錄。
NFS相關資料
【1】鳥哥的Linux私房菜 NFS 伺服器
【2】51CTO技術博客 discusslinux 網絡文件共享(Ftp,NFS,Samba)—— NFS
【3】ChinaUnix論壇 samba和NFS 的區別是什麼?
【4】HUGH0001的專欄 ftp服務器(ftp/tftp )、 Samba 服務器、 NFS服務器的區別
【5】TurboLinux知識庫 系統管理:autofs
【6】ChinaUnix博客 windows 下訪問 nfs