關(guān)于這張圖,最有意思的就是IEFT(國(guó)際互聯(lián)網(wǎng)工程任務(wù)組)準(zhǔn)備支持T10 OSD協(xié)議(T10:SCSI存儲(chǔ)接口技術(shù)委員會(huì),OSD:基于對(duì)象存儲(chǔ)設(shè)備),并將其作為NFSv4.1的一部分。這也就意味著,通過(guò)NFSv4.1,你可以從NFS服務(wù)器中按照塊、T10 OSD對(duì)象或文件來(lái)移動(dòng)數(shù)據(jù)。很重要的一點(diǎn)就是,隨著NFSv4.1開(kāi)始啟動(dòng),由于大部分廠商在還僅僅只是將這些方法中的一個(gè)方法作為實(shí)施的開(kāi)始,因此就有一些問(wèn)題。
同樣重要的是,作為傳輸機(jī)制的一部分,數(shù)據(jù)和元數(shù)據(jù)是分開(kāi)的。因此對(duì)于基于塊的存儲(chǔ)來(lái)說(shuō),一般情況下,索引節(jié)點(diǎn)以及任何非直接的擴(kuò)展都被聚集在一起,而塊地址則是通過(guò)使用DMA(直接內(nèi)存存?。﹣?lái)從網(wǎng)絡(luò)上直接獲得。和NFSv4以及更早版本的NFS在網(wǎng)絡(luò)上讀取文件的方式比起來(lái),這種方式的性能將是一日千里。當(dāng)然,如果是在10Mb/s以太網(wǎng),或者1Gb以太網(wǎng)上讀取文件,不同方式的差別不會(huì)很大,但是你也會(huì)感覺(jué)到采用新方法所帶來(lái)的改善。現(xiàn)在,如果你擁有10Gb以太網(wǎng),或者說(shuō)DDR(雙數(shù)據(jù)率)IB(InfiniBand),或者說(shuō)未來(lái)更快的網(wǎng)絡(luò),那么現(xiàn)有的NFS協(xié)議可以讓這些高速網(wǎng)絡(luò)的運(yùn)行得簡(jiǎn)直就像在1Gb以太網(wǎng)上一樣。
1991年左右,我被一個(gè)站點(diǎn)叫去做技術(shù)支持。他們有兩臺(tái)Cray超級(jí)計(jì)算機(jī),通過(guò)HiPPI連接(高性能并行接口,800MB),而且他們還由一個(gè)FDDI(光纖式分布數(shù)據(jù)接口,100Mb)。你可能會(huì)疑惑,為什么HiPPI的速度不是FDDI的八倍,而是只高出10%呢。他們問(wèn),為什么他們花了這么多錢來(lái)部署HiPPI,結(jié)果卻只得到10%的性能提升。我不能給出很好的答案。當(dāng)然,HiPPI上ftp和rcp的運(yùn)行要更快。這趟訪問(wèn)的唯一一個(gè)好處就是我去了德國(guó),因?yàn)槲也荒芙o客戶以滿意的答復(fù)。在當(dāng)時(shí),NFS甚至在高速網(wǎng)絡(luò)上也運(yùn)行不快。NFS做了一些細(xì)微的調(diào)整,使得它在1Gb以太網(wǎng)上也能夠被接受,但是它還是不能達(dá)到網(wǎng)絡(luò)的速度。轉(zhuǎn)眼過(guò)去15年,我們馬上就要進(jìn)入商品高速網(wǎng)絡(luò)時(shí)代,如10GB以太網(wǎng),但是目前版本的NFS還是不能勝任。下面是對(duì)NFS問(wèn)題的描述:
"客戶對(duì)存儲(chǔ)I/O帶寬的要求的增長(zhǎng)遠(yuǎn)遠(yuǎn)快于網(wǎng)絡(luò)文件服務(wù)器所能提供的能力。當(dāng)我們?cè)贜FS協(xié)議上進(jìn)行安裝時(shí),就會(huì)越來(lái)越多的遇到這種問(wèn)題。這個(gè)問(wèn)題可以通過(guò)提高服務(wù)器帶寬的方式來(lái)解決。這個(gè)草案建議對(duì)NFS文件服務(wù)進(jìn)行改進(jìn),讓NFS文件服務(wù)能夠隨客戶群擴(kuò)展而擴(kuò)展。建議的方法就是通過(guò)并行化文件服務(wù),將所有可能的帶寬都集中到一個(gè)單一的文件系統(tǒng)上,這樣的結(jié)果就是多個(gè)網(wǎng)絡(luò)連接到多個(gè)要求數(shù)據(jù)傳輸?shù)姆?wù)器終端。我們要在NFS架構(gòu)內(nèi)部實(shí)現(xiàn)這種方式,比如通過(guò)一個(gè)NFSv4協(xié)議的次版本"。
顯然,IETF的這個(gè)聲明顯示它理解NFS目前的局限,并正努力解決它們。幾乎所有的主要廠商都介入到了NFSv4.1(pNFS)的制訂,包括但不限于,EMC、IBM、NetApp、Sun,當(dāng)然還有Linux社團(tuán)。甚至還有一些網(wǎng)路傳言說(shuō),微軟正準(zhǔn)備在未來(lái)的Windows版本中考慮NFSv4.1。我對(duì)此持懷疑態(tài)度。
NFSv4.1的局限
和有些人想的相反,NFS是一個(gè)協(xié)議,而不是文件系統(tǒng)。NFS允許通用的外部接口進(jìn)入文件系統(tǒng)。即使它的名字是這樣,它也不是一個(gè)文件系統(tǒng)。這也就是說(shuō)你要受到底層文件系統(tǒng)性能的約束。例如,如果微軟將NFSv4.1納入未來(lái)某個(gè)版本的Windows系統(tǒng),而你的攝像頭連接是在10Gb以太網(wǎng)上,但是這并不是說(shuō)你可以通過(guò)FAT32文件系統(tǒng)在你舊的計(jì)算機(jī)上以1GB/秒的速度導(dǎo)出數(shù)據(jù)。這里有很多限制。
事實(shí)是,在這里,我們的媒介不能以1Gb/s的速率傳輸數(shù)據(jù),更重要的是,你受制于文件系統(tǒng)的性能。即時(shí)你擁有能夠以1Gb/s速率傳輸數(shù)據(jù)的媒介,鑒于目前的數(shù)據(jù)格式,F(xiàn)AT32文件系統(tǒng)也不可能支持這種數(shù)據(jù)速率。
我相信NFSv4.1會(huì)使很多文件系統(tǒng)相形見(jiàn)絀?,F(xiàn)在,這些NFS文件系統(tǒng)可以借口說(shuō)它們被目前的NFS性能局限所限制,這可能是實(shí)情,但是未來(lái)就不是如此了。我一直在嘗試的一件事情就是在一臺(tái)本地NFS文件服務(wù)器設(shè)備上運(yùn)行性能測(cè)試,以測(cè)試我的讀寫(xiě)速度究竟能有多快。然后我會(huì)觀察底層硬件,并判斷性能瓶頸是出在文件系統(tǒng)還是硬件上。在這些時(shí)間里,我發(fā)現(xiàn),更經(jīng)常的是,性能瓶頸是在文件系統(tǒng)上而不是硬件上。由于目前的NFS協(xié)議有局限,而10Gb以太網(wǎng)則沒(méi)有,因此,在NFS上連接到服務(wù)器的文件系統(tǒng)可以將性能問(wèn)題歸咎于協(xié)議,但是這種日子將很快過(guò)去。
作為一名悲觀論者,我的看法是一些廠商將選擇不支持NFSv4.1和10Gb以太網(wǎng),直到它們能夠讓它們的文件系統(tǒng)能夠和NFSv4.1及10Gb以太網(wǎng)完美配合,使數(shù)據(jù)傳輸達(dá)到網(wǎng)絡(luò)的速度。沒(méi)有一個(gè)廠商會(huì)希望讓自己看起來(lái)很糟糕得。擁有高性能文件系統(tǒng)的那些廠商(我們都知道他們它們是誰(shuí))可能是最先支持NFSv4.1的廠商。因?yàn)槟憧偸潜粩?shù)據(jù)通道中最慢的組件所約束,因此那些文件系統(tǒng)不支持高性能數(shù)據(jù)傳輸?shù)膹S商也可能不支持NFSv4.1。在未來(lái)幾年中觀察NFS4.1的進(jìn)展是一件非常有意思的事情,特別是如果你理解廠商之所以這么做的原因的話。