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