- 論壇徽章:
- 0
|
針對硬盤而與IOPS(每秒輸入/輸出)問題而設(shè)計的RAID(獨立磁盤冗余陣列)控制器與有可能不能適應(yīng)固態(tài)驅(qū)動器(SSD)和pNFS(并行網(wǎng)絡(luò)文件系統(tǒng))的時代。SSD與pNFS可以輸入輸出大量的數(shù)據(jù),因此流帶寬將成為RAID廠商必須面對的問題。
當(dāng)我這么說的時候,我面前的RAID廠商并不贊同。他們說,數(shù)據(jù)存儲是IOPS的世界,因此我為什么要關(guān)心數(shù)據(jù)流的性能?這里介紹一下,IOPS是每秒I/O請求數(shù)量,而流帶寬是控制器每秒鐘可以將多少GB的數(shù)據(jù)傳輸?shù)揭粋或多個服務(wù)器。
磁盤驅(qū)動器可以支持有限數(shù)量的隨機IOPS,而對于閃存驅(qū)動器來說,這個數(shù)字實際上是無限的。如果再結(jié)合并行NFS(網(wǎng)絡(luò)文件系統(tǒng)),如果控制器的數(shù)據(jù)流I/O相對不高,則每秒I/O請求數(shù)量并不重要。
目前為止,許多人都認(rèn)為I/O是隨機的。對于過去的許多應(yīng)用程序和文件系統(tǒng)分配方式來說,這可能是正確的,但是對于一些新的文件系統(tǒng)分配方式,pNFS以及SSD來說,情況則發(fā)生了很大的變化。對于那些聲稱控制器最重要的是IOPS的RAID存儲廠商來說,如果他們還沒做好準(zhǔn)備的話,在未來18個月內(nèi),他們就會知道自己錯了;陂W存的SSD,文件系統(tǒng)設(shè)計的變化以及NFSv4.1(pNFS)將帶來廣泛的影響:從高端陣列一直到低端的SAS和SATA驅(qū)動器。
SSD下的IOPS
讓我們先來看看閃存SSD會給RAID控制器帶來什么影響。就像Bitmicro所說的那樣,閃存SSD擁有極低的延遲性,而且每秒可以處理至多5.5萬個隨機讀取。由于Bitmicro沒有提供關(guān)于請求大小的任何信息,我們暫時假設(shè)每個請求的大小是比較小的。由于一個磁盤扇面是512字節(jié),因此如果5.5萬個IOPS都是這個大小,那么總的請求將是26.9MB/秒。
在另一個針對小型隨機塊的測試中,I/O請求大小是8192字節(jié),這是小型塊I/O最大的請求大小了,這樣在使用400MB/秒性能的4GB/秒光線通道接口的時候,5.5萬個請求就是429.7MB/秒。(旁注:一些廠商雖然提供了數(shù)據(jù),但是不告訴你如何才能達到這些數(shù)字,這點我很不喜歡。)我懷疑這些廠商使用的是隨機的512字節(jié)I/O,更有可能的是像1024字節(jié)或4096字節(jié)大小的請求,但是誰知道呢。
我之所以挑出PCIe 2.9總線的8條通道是因為這是我在控制器設(shè)計中所看到的最高性能了。我還看到一些SSD的性能低于或相若于英特爾SSD的性能范圍。多數(shù)RAID控制器使用PCIe總線來作為高速緩存之間或通信之間的接口。實際上,一些RAID控制器甚至不使用PCIe 2.0(每條通道500MB/秒),而是仍然使用PCIe 1.1(每條通道250MB/秒)。就像你所見的那樣,即使在SSD上進行純粹隨機的I/O,鑒于SSD的高性能,這些I/O也很快變成帶寬問題。29個SSD可能看起來很多,但是如果其中一些以300MB/秒的速度執(zhí)行大型塊操作和順序I/O,那么只要4個驅(qū)動器就可以使8通道PCIe 1.1總線達到滿負荷。
我的想法是SSD會將隨機問題變成數(shù)據(jù)流問題,而當(dāng)前的RAID設(shè)計無法解決這種帶寬問題。當(dāng)前的RAID設(shè)計甚至沒有重視支持大量IOPS所需的命令隊列。SSD將會使人們重新思考IOPS與數(shù)據(jù)流。
文件系統(tǒng)變化
許多文件系統(tǒng)廠商意識到在越來越多的環(huán)境中,文件大小擁有雙峰分布。多數(shù)文件系統(tǒng)有許多小文件,這些文件不會占用很多空間,而少數(shù)幾個大型文件則占據(jù)了大多數(shù)的空間。隨著文件系統(tǒng)廠商意識到這個趨勢,他們開始增加大型文件的分配大小。這意味著如今我們有一些文件系統(tǒng)支持16MB以上的大型分配,從而使IOPS中大型數(shù)據(jù)塊的讀寫變成一個數(shù)據(jù)流I/O問題,而解決這個問題則需要帶寬。鑒于處理眾多小型分配會帶來很大開銷,因此越來越多的的文件系統(tǒng)開始讀寫大型數(shù)據(jù)塊。擁有更大的分配可以減少文件系統(tǒng)分配圖的管理開銷,從而提高文件系統(tǒng)性能并減少碎片。
許多RAID廠商沒有理解文件系統(tǒng)和文件系統(tǒng)變化會給他們的硬件帶來什么樣的影響。根據(jù)我的經(jīng)驗,即使是一個同時也出售文件系統(tǒng)和應(yīng)用程序的RAID廠商,在你和他談?wù)撨@件事情的時候,他也沒有理解這種影響。
不一樣的NFS
舊的NFS協(xié)議處理的是非常小的請求,因此即使數(shù)據(jù)在文件系統(tǒng)中是順序分配的,I/O請求看起來也像是IOPS問題。多數(shù)NFS服務(wù)器設(shè)計成處理成百上千個連接,并解決每個連接在處理小型請求時所帶來的IOPS問題。pNFS改變了這一切。如果數(shù)據(jù)是順序分配的,pNFS可以進行大型傳輸。結(jié)合10GB/秒以太網(wǎng),我預(yù)計隨著時間推移,越來越多的文件系統(tǒng)將可以流處理數(shù)據(jù)(見《NFS的未來已經(jīng)到來》)。
未來屬于IOPS和數(shù)據(jù)流
當(dāng)一些人告訴我說未來主要是IOPS問題或數(shù)據(jù)流問題的時候,我懷疑他們沒有理解I/O和現(xiàn)在I/O請求所發(fā)生的變化以及文件系統(tǒng)的工作原理,因為這無論是IOPS還是數(shù)據(jù)流,這兩個都是需要的。如果你使用SSD--我們中的大部分人將來都會使用SSD--如果你有足夠的請求隊列需要傳輸?shù)酱鎯υO(shè)備和RAID控制器,那么你就可以通過SSD來流處理I/O。注意我剛才所說的:你必須有足夠的請求(IOPS),你才可以進行流處理。未來的存儲控制器將必須能夠在主機上管理大型請求隊列(IOPS),并能夠在發(fā)送SSD流數(shù)據(jù)的時候執(zhí)行并管理這些I/O請求。
將這個和文件系統(tǒng)的變化以及pNFS結(jié)合在一起,我們可以清楚地看到,要想獲得均衡的性能,IOPS和數(shù)據(jù)流都是必須的。我們需要存儲控制器。我們現(xiàn)在稱之為RAID--誰知道未來它們會被稱作什么--控制器可以在前端支持大量的命令隊列并在后端流處理I/O。一些存儲控制器廠商必須理解這些要求,而我敢肯定一些廠商已經(jīng)在進行升級。我同時敢肯定一些廠商沒有理解現(xiàn)在的局勢,這些廠商在未來的市場中有可能落后。
在未來的產(chǎn)品中,為了快速傳輸數(shù)據(jù),IOPS和流I/O都是你所必須的。你可以向廠商詢問RAID控制器在全雙工(同時讀取和寫入)帶寬下訪問磁盤(非高速緩存)的表現(xiàn),你也可以要求獲得一張結(jié)構(gòu)圖以便了解控制器以及PCIe總線的數(shù)量并計算出最高性能。我們就要進入新時代,你要做好準(zhǔn)備了。 |
|