存儲(chǔ)設(shè)備和分層軟件:誰是存儲(chǔ)的未來? |
發(fā)布時(shí)間: 2012/8/4 19:23:41 |
中國IDC評(píng)述網(wǎng)08月06日?qǐng)?bào)道:俗話說:“如果你問五個(gè)經(jīng)濟(jì)學(xué)家對(duì)于某事的觀點(diǎn),你將得到十四種不同的答案。”大概就是說任何的評(píng)論員都能容易地給你一些關(guān)于某個(gè)主題的解釋,但是經(jīng)濟(jì)學(xué)家似乎比他們能解釋得更好。
我相信隨著科技的急速發(fā)展,IT也一樣。所以說存儲(chǔ)更是這樣,從技術(shù)到用戶,再到應(yīng)用,都在飛一般地變化著。
當(dāng)幾位存儲(chǔ)專業(yè)人士聚到一起的時(shí)候,他們的話題總會(huì)轉(zhuǎn)到存儲(chǔ)的未來上。比如說我和Henry Newman 在一起錄制關(guān)于Linux文件系統(tǒng)這一系列的節(jié)目時(shí),我們就會(huì)被問到,當(dāng)我們領(lǐng)導(dǎo)著這一領(lǐng)域時(shí),將會(huì)發(fā)展什么類型的文件系統(tǒng)或存儲(chǔ)技術(shù)。
我決定寫一些關(guān)于存儲(chǔ)未來發(fā)展的趨勢(shì),尤其是存儲(chǔ)設(shè)備和分層軟件,因?yàn)槲矣X得這兩個(gè)主題需要放在一起來說。
7200轉(zhuǎn)與SSD欲分天下 15000轉(zhuǎn)或陷囧境?
我們發(fā)現(xiàn),越來越多的應(yīng)用的性能是由IOPS性能控制的。在高性能計(jì)算(HPC)中,檢查應(yīng)用I/O模式顯示小的讀寫函數(shù)調(diào)用比之前預(yù)估的更為普遍。從典型的程序中可看出,讀取GB級(jí)數(shù)據(jù)甚至TB級(jí)數(shù)據(jù)有大量的1k和4k的讀寫函數(shù)調(diào)用。所以,通過這些工作負(fù)載不難看出,占主導(dǎo)地位的IPOS I/O 模式已深入到操作系統(tǒng)和文件系統(tǒng)中。
有些任務(wù)是去幫助操作系統(tǒng)處理以IOPS為主導(dǎo)的工作負(fù)載。其中一個(gè)方法是在存儲(chǔ)服務(wù)器中使用大量的緩沖區(qū),允許系統(tǒng)將小的讀寫函數(shù)合并成為大的函數(shù)調(diào)用中去。因?yàn)檫@樣能夠減少IOPS的影響,可能會(huì)使得工作負(fù)載變得更有順序。然而,這樣有時(shí)會(huì)需要巨大的緩沖區(qū)來做這個(gè)事情。此外,這還會(huì)導(dǎo)致很大的延遲,因?yàn)槊總(gè)被保留在緩沖區(qū)的具有I/O功能的數(shù)據(jù)試圖合并到一個(gè)單一的請(qǐng)求中。在試著轉(zhuǎn)換IOPS工作負(fù)載到連續(xù)的工作負(fù)載之間有一個(gè)分界線,它并沒有升級(jí)到非常高的延遲。因此實(shí)際的結(jié)果很大一部分取決于那些特殊的應(yīng)用以及工作負(fù)載。
我們還發(fā)現(xiàn),有比我們預(yù)想更多的工作負(fù)載使用隨機(jī)IOPS而不是連續(xù)IOPS。連續(xù)的IOPS是合適的工作負(fù)載,因?yàn)樵S多系統(tǒng)能夠接受它們而且能將它們合并到單一的請(qǐng)求中,僅使用極小的緩沖區(qū),因此只有很小的延遲。所以致使所需的IOPS比我們期待的要小。但是如果有足夠臨近的IOPS功能,你可以將請(qǐng)求轉(zhuǎn)換到單一的更大的I/O請(qǐng)求中。然而,對(duì)隨機(jī)的IOPS來說,沒有太多你能夠做的事情,除非在存儲(chǔ)服務(wù)器中做個(gè)特別大的緩沖區(qū)。
使用這些趨勢(shì),應(yīng)用到存儲(chǔ)設(shè)備中,能夠看出當(dāng)應(yīng)用正在運(yùn)行中時(shí),我們需要更大IOPS能力的設(shè)備。我以IOPS的能力來將存儲(chǔ)設(shè)備按如下歸類:
• 7200轉(zhuǎn)SATA/SAS驅(qū)動(dòng)器:100-125 IOPS性能
• 15000轉(zhuǎn)SATA/SAS驅(qū)動(dòng)器:200-300 IOPS性能
• SATA/SAS SSD: 10000-100000 IOPS性能
• PCIe SSD: 100000-1000000 IOPS性能
對(duì)第一項(xiàng)來說,這些數(shù)字是隨機(jī)或連續(xù)的IOPS,盡管一些設(shè)備有很低的隨機(jī)IOPS性能,你可以看出在旋轉(zhuǎn)磁盤驅(qū)動(dòng)器和固態(tài)硬盤之間的IOPS性能有很大的差異。在7200轉(zhuǎn)的SATA硬盤和PCIe SSD的IOPS上有三到四個(gè)數(shù)量級(jí)的差異(從1000到10000)。
與此同時(shí),每GB存儲(chǔ)的價(jià)格的也有數(shù)量級(jí)的差異,在7200轉(zhuǎn)的SATA硬盤和PCIe SSD之間大概差2-3個(gè)數(shù)量級(jí)。
最后,從7200轉(zhuǎn)硬盤到PCI SSD或SSD上具有2-20種不同容量的差別。我們知道目前已經(jīng)有3TB容量的SATA/SAS硬盤了。雖然現(xiàn)在也有更大容量的SSD或PCIe SSD,但他們的價(jià)格都貴得出奇。因此,SSD或PCIe SSD的所謂“標(biāo)準(zhǔn)的”容量應(yīng)該在200GB到1TB之間。
大容量的7200轉(zhuǎn)的硬盤具有非常高的性價(jià)比但I(xiàn)OPS性能非常的低。另外,雖然SSD的IOPS性能非常高,但性價(jià)比又非常低。
夾在中間進(jìn)退兩難的就是1.5萬轉(zhuǎn)的驅(qū)動(dòng)器了。性價(jià)比高于SSD,低于7200轉(zhuǎn)的驅(qū)動(dòng)器。然而,當(dāng)你把SSD也考慮進(jìn)去做比較時(shí),15000轉(zhuǎn)的驅(qū)動(dòng)器的IOPS性能并沒比7200轉(zhuǎn)的好多少。
我認(rèn)為,1.5萬轉(zhuǎn)的驅(qū)動(dòng)器已陷入了一個(gè)窘境。我估計(jì)它將在幾年之內(nèi)便會(huì)消失,只剩下7200轉(zhuǎn)的驅(qū)動(dòng)器和SSD驅(qū)動(dòng)器。畢竟15000轉(zhuǎn)的驅(qū)動(dòng)器集成了旋轉(zhuǎn)驅(qū)動(dòng)器的缺點(diǎn)(低IOPS)和SSD的缺點(diǎn)(低容量與低性價(jià)比)。按邏輯想一下就會(huì)得知,企業(yè)將會(huì)在基于SSD的存儲(chǔ)器上運(yùn)行應(yīng)用,然后將其儲(chǔ)存在7200轉(zhuǎn)的驅(qū)動(dòng)器上(或存儲(chǔ)在磁帶機(jī)上)。
分層技術(shù):目標(biāo)已定 如何實(shí)現(xiàn)?
然而,未來根本不是有保證的。為了實(shí)現(xiàn)這一目標(biāo),我們必須找個(gè)好的方法有效地將數(shù)據(jù)從7200轉(zhuǎn)驅(qū)動(dòng)器中遷移到SSD中。我不認(rèn)為將固態(tài)存儲(chǔ)放入旋轉(zhuǎn)存儲(chǔ)中作為額外的緩存是一個(gè)正確的方法。然而,還是有一些相當(dāng)有趣的存儲(chǔ)系統(tǒng)是使用SSD作為緩存的。
整合這兩種類型存儲(chǔ)(低成本,大容量的旋轉(zhuǎn)驅(qū)動(dòng)器和SSD)最顯著的方法是使用分層技術(shù)。分層技術(shù)成功的關(guān)鍵就在于能夠在兩個(gè)存儲(chǔ)層中快速的遷移數(shù)據(jù)。比如,你可以從一個(gè)應(yīng)用中攔截open()調(diào)用程序一直到開始遷移不同層中的數(shù)據(jù)。如果結(jié)合一系列應(yīng)用,而且這些應(yīng)用在運(yùn)行中使用高速的存儲(chǔ)設(shè)備,你就可以得到全部效益卻不需花費(fèi)全部費(fèi)用。為此,存儲(chǔ)系統(tǒng)和分層必須識(shí)別當(dāng)何時(shí)需要做數(shù)據(jù)遷移,然后快速地執(zhí)行。
另外,在一個(gè)應(yīng)用運(yùn)行之前,數(shù)據(jù)或從低速存儲(chǔ)器中被遷移到高速存儲(chǔ)器中。這被稱作為“數(shù)據(jù)遷移升級(jí)”(Staging the data)。這種方法能用于HPC中并產(chǎn)生良好的影響,因?yàn)閼?yīng)用使用排程器(Job scheduler,也稱為資源管理器) 來運(yùn)行程序,當(dāng)用戶指定一個(gè)事件時(shí),它是如何運(yùn)行的,需要多少處理器來工作,需要多大的內(nèi)存,哪個(gè)文件被用作輸入,哪個(gè)文件被用作輸出。以上這些,用戶都能夠提交自己的排程器中。排程器能夠決定用戶指定要求的任務(wù)在何時(shí)何運(yùn)行。排程器還能從低速存儲(chǔ)器中復(fù)制輸入文件到高速存儲(chǔ)器中,以便為將要運(yùn)行的應(yīng)用做準(zhǔn)備。當(dāng)應(yīng)用運(yùn)行結(jié)束的時(shí)候,排程器可將文件從高速存儲(chǔ)器中再遷移回低速存儲(chǔ)器中來。
但是分層的方法比使用作業(yè)調(diào)度器更好,因?yàn)樗鼈儼l(fā)生在用戶不知道的背后。然而,現(xiàn)有的分層軟件不見得有能力快速識(shí)別數(shù)據(jù)何時(shí)需要遷移到高速存儲(chǔ)器并快速實(shí)現(xiàn)這一行動(dòng),所以它有極限值。大多數(shù)的分層軟件需要存儲(chǔ)了解文件中數(shù)據(jù)塊的使用模式。過一段時(shí)間之后,可能會(huì)將它們遷移到基于測(cè)定的高速存儲(chǔ)器中(也可能是預(yù)計(jì)的)。因此,現(xiàn)在真正需要的是更出色的分層軟件,而不是目前這樣不給力的軟件。
現(xiàn)有磁盤不給力 新老結(jié)合才王道
這只是一個(gè)預(yù)言……我很容易錯(cuò)誤的認(rèn)為我是對(duì)的,但是我認(rèn)為我們有必要思考未來存儲(chǔ)的發(fā)展方向。我們目前著眼于工作負(fù)載,更多的是基于IOPS。但與此同時(shí)我們還需要更大的容量?申P(guān)鍵在于,當(dāng)運(yùn)行應(yīng)用的時(shí)候,我們真的僅需要高IOPS性能,因此我們可以把一部分存儲(chǔ)做成一個(gè)基于固態(tài)盤的小型系統(tǒng),在合理價(jià)位上具有高IOPS性能,但同時(shí)只有較低的存儲(chǔ)容量。然后,我們?cè)俳ㄒ粋(gè)容量很大但是性能很低的存儲(chǔ)池,使用大容量和低成本的7200轉(zhuǎn)驅(qū)動(dòng)器。因此,我認(rèn)為15000轉(zhuǎn)的驅(qū)動(dòng)器將會(huì)于未來幾年在市場(chǎng)上消失。
另外,成功的關(guān)鍵還在于將兩個(gè)存儲(chǔ)池通過中間件結(jié)合在一起,確保數(shù)據(jù)能夠容易的在兩方之間遷移。使用分層軟件或許是最好的解決方案。但是現(xiàn)有的軟件實(shí)在很糟糕。因因此,需要做的就是快速地確定數(shù)據(jù)在何時(shí)必須從低速存儲(chǔ)器中遷移到高速存儲(chǔ)器然后再遷移回來。由于數(shù)據(jù)遷移的原因,這不會(huì)具有太高的應(yīng)用性能。
當(dāng)前的分層軟件還做不到這一點(diǎn),但是我希望廠商能知道這些問題,以便改進(jìn)它們。 本文出自:億恩科技【mszdt.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊(cè)頂級(jí)提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |