文件系統pNFS的由來
網絡文件系統(Network File System,NFS)是大多數局域網(LAN)的重要組成部分。但 NFS 不適用于高性能計算中苛刻的輸入輸出密集型應用程序,至少以前是這樣。NFS 標準的最新修改納入了 Parallel NFS(pNFS),它是文件共享的并行實現,將傳輸速率提高了幾個數量級。
pNFS產生
pNFS的想法產生于2003年Garth Gibson(Panasas的創始人和CTO)和美國拉斯阿拉莫斯國家實驗室的Gary Grider及Sandia國家實驗室的Lee Ward的一次交談中。.這個初始的突發奇想在2003年之后由一個從事NFS并行存儲器擴展的工作室繼續研究,這個工作室由Gibson和密執安大學信息技術集成中心的Peter Honeyman主持。
更多的合作和交談導致了2004年向IETF組織提交了初始向題陳述。這份陳述由Gibson和Panasas的Brent Welch及網絡設備公司的Peter Corbett撰寫。從這時開始,行業的支持和介入穩定地增加導致了IETF工作組在2006年把pNFS納入NFSv 4.1小版本草案中。Gibson,Welch和其他許多Panasas的人員繼續全力推動這個標準向前發展。
并行基礎知識:pNFS介紹
最近幾年,高性能數據中心已經快速向并行技術轉移,比如集群計算和多核心處理器,這些加速了并行應用的開發和廣泛使用。
雖然這種并行使用的增加解決了大多數的計算瓶頸,它卻把性能瓶頸轉移到了存儲I/O系統。隨著主流計算轉向并行,存儲子系統也需要轉移到并行技術。為了成為通用的方式,需要一個標準的方法,能夠從多個存儲供應商選擇存儲設備并且從任何客戶端都能自由的存取并行存儲器。
為了轉向高一等級的性能水平,當存儲系統依附到一個經濟有效的標準時必須對并行做最優化。NFS,當前流行的網絡文件系統標準并不支持并行I/O,主要存儲供應商提供的現有并行產品也不能彼此兼容。在業界提供出一個并行存儲的標準之前,用戶選用設備都將繼續受到妨礙,他們勉強的部署一套存在許多不兼容的并行存儲系統。
今年稍后,IETF工程任務組NFS v4 小組委員會預計將結束并行NFS(pNFS )協議的工作,它將是NFS 版本4.1 RFC的一部分。這個里程碑將使NFS V4.1從因特網草案成為一個推薦標準。并行NFS能夠在客戶端和存儲設備之間直接并行傳送數據,不需要昂貴的元數據管理器(filer head)。期望它支持Linux,Windows和主要的UNIX版本如Solaris和AIX。
這個新標準正在由一個存儲行業的技術領導者組成的聯盟共同開發,包括Panasas,IBM,EMC,Network Appliance,Sun和密執安大學的信息技術集成中心
當今NFS遇到的挑戰
為了了解pNFS是如何工作的,首先必須了解在一個典型的NFS結構中當客戶端試圖存取一個文件時是如何進行的。圖1展示了一個傳統的NFS結構。你可以看到NFS服務器位于客戶端計算機和實際的物理存儲裝置之間。當客戶端想要存取存儲器上的文件時,它必須創建一個到NFS服務器的連接(也就是創建一個安裝點)。當客戶端試圖存取存文件時NFS服務器起仲裁者的作用,管理所有需要的數據處理,把數據傳送到提出請求的客戶端。
由較少的客戶端訪問相對較小的數據集時這種結構工作的很好,通過直接連接的存儲器能夠收到顯著的效益(就象你PC上的磁盤);也就是數據能夠由多個客戶端共享,能夠由任何有NFS能力的客戶端訪問。可是如果大量的客戶端需要訪問數據或太大的數據集時,NFS服務器很快就變成了一個瓶頸,抑制了系統性能。pNFS從根本上消除了這個瓶頸,允許從許多許多客戶端以難以置信的速度快速存取非常大的數據。
pNFS消除了瓶頸
這里我們可以看到pNFS如何修改了NFS結構,消除了我們剛才提到的性能瓶頸。實質上的變化是NFS服務器移動到了帶外,變成了一個元數據服務器。意思就是它管理著有關數據布局的數據。那么當一個客戶端需要存取數據時它需要做什么呢?
它首先要做的是與NFS服務器聯系就象先前例子中所做的一樣。可是這次服務器提供給客戶端一個到哪里去尋找所要數據的布局圖和讀/修改/寫這些數據的授權書。一旦客戶端有了這兩部分,它存取數據時就直接與存儲設備聯系。使用傳統的NFS時數據的每個比特都要通過NFS服務器,使用pNFS時NFS服務器從主數據通路中移出來了,允許客戶端自由地和快速地存取數據。當然所有的NFS的優點都繼續保留,但現在消除了瓶頸,數據能夠以并行方式以非常快的吞吐率被訪問,系統容量能夠容易的擴展而不影響總性能。
OpenSolaris pNFS免費下載試用:
Solaris 的 pNFS 實現正在 NFSv4.1 pNFS OpenSolaris 項目下進行開放式開發。
pNFS演示硬件配置