這個表格有問題么?我認為是的。從存儲到服務(wù)器的帶寬方面,總帶寬確實大幅下降,因為來自服務(wù)器的帶寬有限,所以RAID的帶寬也就不可能提高,即使以前利用率很低,比如說服務(wù)器總帶寬只有20%被發(fā)揮,也就是195*20%,那么就是39MB/s,即使是一半的帶寬也夠之前的存儲使用,但是現(xiàn)在,78MB/s的帶寬即使全部發(fā)揮也不夠用。
最大的問題還不在此,而是IOPS性能,整合后,IOPS性能提高了3.6倍,這只是杯水車薪。從1000臺服務(wù)器精簡到100臺意味著每臺服務(wù)器的IOPS會增長10倍。如果我們回到假設(shè),服務(wù)器總帶寬利用率為20%,但是你的CPU性能提高了可能不止10倍,因此2000個CPU將能夠處理比之前多得多的IOPS數(shù),顯然,CPU和存儲空間的10倍提升很顯然比3.6倍的IOPS提升要多得多。
除此以外,還有別的問題,比如說,不同哦你的應(yīng)用同時從一臺服務(wù)器向存儲發(fā)出的請求越多,存儲中存儲系統(tǒng)中的隨機I/O請求就越多。如果多應(yīng)用同時發(fā)出多請求的話,NFTS可以很好地持續(xù)分配數(shù)據(jù)。對于所有免費的Linux文件系統(tǒng)也一樣,因為許多服務(wù)器虛擬化產(chǎn)品都是在Linux操作系統(tǒng)下運行的,所以在制訂架構(gòu)策略的時候一定要記住這一點。多I/O數(shù)據(jù)流的連續(xù)分配問題一直是文件系統(tǒng)開發(fā)者嘗試解決卻沒有成功的難題。至少就我所知,整合的程度越高,就越是需要關(guān)注存儲性能,這意味著要提高IOPS的可用性。
架構(gòu)師要做什么?
在過去的八年里,CPU的性能提升了至少10倍,但是,即使你在用一萬五千轉(zhuǎn)的2.5英寸SAS驅(qū)動器,IOPS的性能也僅僅提高了2.5倍,從100 IOPS達到了250 IOPS(譯者注:顯然這種性能提升是杯水車薪)。
2.5英寸驅(qū)動器每個驅(qū)動器的存儲容量稍低一些,所以在正確架構(gòu)的情況下你能更有效地使用它?,F(xiàn)在希捷1.5萬轉(zhuǎn)、73GB的2.5英寸SAS驅(qū)動器IOPS性能提高了9.86倍,CPU數(shù)量和CPU性能比10:1。這非常接近現(xiàn)有的CPU數(shù)量,比使用1.5萬轉(zhuǎn)300GB驅(qū)動器的3.6:1好很多,因為驅(qū)動器更少。
如果現(xiàn)在讓我開發(fā)一個虛擬環(huán)境系統(tǒng)架構(gòu),那么我首選會為我的系統(tǒng)考慮一下下面的五個總要因素:
•服務(wù)器到存儲的帶寬利用率是多少?
•服務(wù)器到存儲的IOPS利用率是多少?
•服務(wù)器到存儲的可用帶寬是多少?
•服務(wù)器到存儲的總IOPS是多少?
•底層文件系統(tǒng)是什么、這些文件系統(tǒng)如何處理同時寫入的多個數(shù)據(jù)流?
上面的所有問題中,第五點最為重要,如果你不知道文件系統(tǒng)對數(shù)據(jù)請求提供的I/O數(shù)有多么糟糕的話,那么你就很難決定到底系統(tǒng)需要多少IOPS的帶寬。
IOPS的提升需要CPU處理性能的提升。如果CPU的處理性能增長了10倍,那么磁盤的IOPS至少要提高10倍甚至更多。問題是,由于IOPS和帶寬的原因,I/O性能并不隨著密度增加而提高。記住一點,采用老系統(tǒng)的時候,更少的數(shù)據(jù)流流向更少的磁盤驅(qū)動器,文件系統(tǒng)可能連續(xù)分配數(shù)據(jù),減少旋轉(zhuǎn)延遲的尋道和開銷數(shù)量。即使你可以有效地維持不變的CPU運算能力,那也有可能在使用新系統(tǒng)的時候要處理更多的I/O請求?,F(xiàn)有的PCIe總線設(shè)計速度要比老式的PCI總線高許多,我發(fā)現(xiàn)大多數(shù)PCI總線無法達到標定的性能水平,而且沒有必要達到,因為我們被局限在把1Gb光纖通道作為最高速度連接。新的PCIe 2.0在老系統(tǒng)上的帶寬大約是老式PCI總線的30倍之多。相比老系統(tǒng)來說,能夠處理更多的I/O請求可能導(dǎo)致驅(qū)動器層級更多的尋道和旋轉(zhuǎn)延遲。
作為整合和虛擬化數(shù)據(jù)中心的架構(gòu)師,你不能只拿著一份表格就想當然地在這或者在那把服務(wù)器數(shù)量精簡到原來的1/10,還想著獲得你預(yù)期的性能水平。你要考慮到架構(gòu)的方方面面,考慮不能與CPU和密度擴展比例同步的一些方面。當對一個環(huán)境進行架構(gòu)和虛擬化的時候,你需要考慮整個數(shù)據(jù)路徑,其中包括文件系統(tǒng)如何老系統(tǒng)上分配數(shù)據(jù)、如何在新系統(tǒng)中運作等等,因為可能隨機I/O請求會更多。