强乱中文字幕av一区乱码

<xmp id="2we0u">
<small id="2we0u"><wbr id="2we0u"></wbr></small>

關于數存

秉承科技創新、自主研發的發展道路

2016.12.08

超融合基礎架構

超融合在2015年關注度非常高,但各家廠商的超融合架構實現方法各有不同。我們不評判對錯,也不去探究這些是不是真正的超融合,而是重新追本溯源,思考為什么超融合現在被關注,什么樣的IT架構更“合適”于當今的商業。

 

傳統集中存儲落后于現代企業數據中心發展

全球的IT數據每年在以40%的速度增加中。數據正在逐步影響商業,企業通過數據的分析來做決策與管理。完成快速的分析決策和管理,就需要借助強大的數據中心。下圖為傳統SAN存儲:

 2016120801.png

但是,光靠越來越快、核數越來越多的CPU是不夠的,瓶頸在于傳統存儲的硬盤太慢了,CPU大部分計算能力都空閑或者說在等待存儲數據傳輸過來。傳統存儲容量和性能不具備和”計算能力“匹配的可擴展性,不能滿足企業進行數據訪問的需求。

 2016120802.png

這個問題并不是現在才有,Google很早遇到這個問題。那么Google是如何做的呢?

作為一個給全世界互聯網網民提供數據檢索的企業,Google考慮過EMC、IBM,還有當年的SUN存儲產品,但是都解決不了它的問題。無論是容量還是性能,這些公司的產品都無法滿足Google的規模需求。于是Google只能自己建立一個適合自己的數據搜索的存儲結構了。

Google優秀的計算機科學家們,打破了傳統的存儲思維,利用服務器的本地硬盤和軟件構建了一個容量和性能不斷可擴展的分布式文件系統,并在其上構建了其搜索和分析的計算引擎:不用把數據從存儲端取出來,然后通過網絡傳輸到計算端,而是將計算直接分發到存儲上運行,將“計算”作為傳輸單元進行傳輸,這樣大量的存儲數據都是本地訪問,不需要再跨網絡上傳輸了,自然訪問很快。于是乎,自然而然地,“計算”和“存儲”運行(“融合”)在了一個服務器上,這里我們也看到超融合架構的一個優勢就是,本地訪問數據,不必跨網絡。

 2016120803.png

現代企業的數據量越來越大,應用越來越多,他們開始面臨當年Google遇到的問題,CIO要考慮怎么更高效的構建自己的計算和存儲的基礎架構,來滿足應用的數據訪問需求。

虛擬化為更容易的管理應用而生,它解決了CPU、內存資源閑置的問題。但隨著虛擬化的大規模應用,虛擬機越來越多,虛擬機在傳統存儲上運行卻越來越慢了?!奥痹斐伞绑w驗差”,“體驗差”成為了限制虛擬化應用的最大的瓶頸。這里面的最重要原因自然是,存儲的I/O性能不夠,大量的虛擬機和容器同時運行,I/O的混合,使得隨機讀寫急劇增加,傳統存儲的結構無法承受大量的隨機I/O。

 

超融合恰恰是為了解決這個問題,才被帶到了虛擬化和容器領域。同時,業內也存在不同的解決I/O問題的方法,我們先嘗試分析下其他的解決方法:

解決方法一:在存儲設備采用SSD做Cache,加速I/O。這在一定的規模下可能有效,但是存儲設備的SSD Cache通常比例較小,不足5%的容量比的情況下,自然滿足不了用戶的熱數據的緩存需求。另外,仍然無法隨需擴展,所有的數據仍然要從集中的存儲控制器流出,這個集中的“收費站”勢必堵塞“高速公路”。

解決方法二: 使用服務器側SSD做Cache,加速I/O。這種類似的解決方案,通常缺乏高可靠性軟件的支撐,服務器端的Cache如果用做寫Cache,存在單點失效的問題,需要在多個服務器的Cache設備上,做副本來提供可靠性,可以說這是一個閹割版的超融合架構,將Cache放到服務器端,仍然使用傳統存儲,當Cache滿,需要被寫回傳統存儲的時候,仍然被傳統存儲的“控制器”限制整體性能。

 

我們看到,上面的兩種方案都是受限于傳統存儲的結構,超融合存儲則不一樣,通過完全去掉傳統存儲,利用分布式文件系統來提供“不可限量”的性能和容量,在這個基礎上,再通過Cache進行加速,甚至全部使用閃存(全閃存產品)來構建都是自然而然,不被限制了。

因此,超融合架構不是為了讓單臺服務器的存儲飛快,而是為了讓每增加一臺服務器,存儲的性能就有線性的提升,這樣的存儲結構才不限制企業業務的運行,并保證業務的可靠性。

 2016120804.png

 

I/O性能瓶頸問題轉移到了存儲

如果內存的訪問速度相對CPU太慢,那么磁盤的I/O訪問速度相對CPU來說就是“不能忍”了。下表是不同存儲介質的訪問延時,在虛擬化環境下或云環境下,由于I/O基本都是隨機I/O,每次訪問都需要近10ms的尋道延時,使得CPU基本處于“等待數據”的狀態,這使得核心業務系統運轉效率和核心應用的用戶體驗都變得很差,直觀的感受就是業務系統和桌面應用“很卡”。

 2016120805.png

 

基于SSD構建平衡系統

和前人解決內存訪問延時問題的思路類似,現在的主流方法是使用內存和SSD作為Cache來解決I/O性能瓶頸。存儲系統能夠分析出數據塊的冷熱程度,將經常訪問的數據塊緩存到內存和SSD中,從而加速訪問。

不論是全閃存存儲,還是混合介質存儲,從某種意義上講都是層次存儲,只不過混合陣列多了一層磁盤介質。學過計算機體系結構的人都聽說過著名的Amdahl定律,這里我們要介紹一個Amdahl提出的“不那么著名”的經驗法則:“在一個平衡的并行計算環境中,每1GHz的計算能力需要1Gbps的I/O速度與之匹配”。

假設一臺服務器有2顆E5-4669 v3的CPU,每顆CPU有18個核,36個超線程,主頻是2.1GHz,那么我們可以計算一下,這樣的一臺服務器需要151Gbps (即~19GBps)的帶寬。在大規模的云計算(虛擬機算)環境中,極端情況下,大量的I/O并發使得存儲收到的I/O都變成隨機I/O,在這么一個并發環境中,假設我們的訪問大部分都是8KB的讀寫,根據上面的計算,我們需要為一臺服務器配備近250萬的IOPS讀取速度。

在不考慮系統總線的情況下,如果我們用SAS/SATA硬盤來提供這個IOPS,即使每個SAS/SATA盤可以提供近250的IOPS(實際數值更?。?,僅為構建一臺平衡的服務器計算存儲環境,就需要大概1萬個SAS/SATA硬盤。在稍大規模的虛擬化環境,想要搭出一個平衡的系統,用傳統的SAS/SATA硬盤幾乎不可能完成任務。但是如果采用能夠提供10萬“寫IOPS”的SSD設備,25塊SSD就夠了。

 

層次存儲的優勢

“層次存儲”是相對“全閃存”而言,是指將容量大但是速度較慢的HDD和速度快的SSD同時構建在系統中,通過數據的訪問特性,將經常訪問的熱數據放置在SSD中,而冷數據放置在HDD中。

首先,為構建一個平衡的虛擬化環境,需要大量的SSD設備來提供足夠的IOPS。但是SSD也不是完美的。目前的SSD擦寫次數有限、價格高。層次存儲將熱數據放置在SSD層中,而大量的冷數據仍然放置在SATA硬盤上,熱數據周期性的同步到HDD硬盤,既為用戶熱數據提供了高IOPS的保障,也通過SATA硬盤提供了更大的容量和可靠性。

下圖是對11個開發人員桌面負載的I/O統計,包含了對5.1TB大小的存儲上的76億次IO訪問和28TB的數據傳輸。首先值得注意的是,有3.1TB(62%)的數據,在一年內從來沒有被訪問過,這意味著這些數據無論是放置在SSD上,還是SATA上,甚至放到U盤上拔走,對系統都沒有影響。

2016120806.png



强乱中文字幕av一区乱码
<xmp id="2we0u">
<small id="2we0u"><wbr id="2we0u"></wbr></small>